Retrieving asset snapshots from Nexus with Gradle
I’ve recently been building a Tizen wearable widget to be packaged with one of our Android apps. This is achieved by bundling the built widget in the assets dir of the APK.
The simplest way to develop in this way is to symlink the widget to the right place. Once this goes out for testing though you’re either going to have to move the binary to source control and commit to keeping it up to date, or have your dependency manager handle this for you.
In search of the perfect dev process
Professional development is a very different game to the late night hack sessions where we first learn the ropes. The first couple of years of my career were really more about learning how to communicate about code than learning to code. I’ve been involved in a lot of different processes, some very ad hoc, some with buzzword names and a rulebook. All of them have taught me something, but above all what I now know is that there is no perfect process.
Running Grunt tasks from Cordova hooks
Cordova hooks are an invaluable tool for customising your build process. The canonical way to write them according to the Cordova documentation is to write them as node scripts for optimum cross platform compatibility. This is sound advice but for more complex projects we sometimes require a more structured tool. The obvious choices in the node space are Grunt and Gulp. In this post I’ll explain how I recently adapted an existing Grunt build to be triggered using Cordova hooks.
Contenteditable double word autocorrect bug in iOS webviews
Came accross a very frustrating bug this week, it looks like this:
Within an ios webview start typing in a content editable div.
Make an obvious typo so that autocorrect makes a suggestion
Tab a button or link somehwere else on the page.
Autocorrect will insert two copies of the suggested word.
I’ve not seen this detailed anywhere else so I have provided a concrete example cordova app.
Objective C to Swift case sensitivity gotcha with external parameter names
I hit a slight edge case on a project interopping between Objective C and Swift the other day. The app itself is all Objective C with the test suite in Swift. In this case I was implementing an Objective C delegate protocol in Swift as a test.
I’ve distilled the issue down into a simple demo project, so I’ll be using code from that to describe the problem. We start with an Objective C protocol: