Friday, 25 January 2013

Appcelerator builds for Pieceable

Pieceable is  a great site that allows you to upload an iOS simulator app to the web and then interact with it over a flash player.

I build a number of projects with Titanium Appcelerator which saves some time and space in simulator builds by symlinking. This app bundle won't work in Pieceable. There are some old patches to the Titanium build system, but they are for SDK version 1.8 and 2.0. We are now on 3.0.

So after a build the symlinks need to be converted to the orignal file. This cmd line does that trick.

First cd into ~/Library/Application Support/iPhone Simulator/6.0/Applications/<<APP UUID>>


find . -type l -exec bash -c 'FULLPATH=$(readlink "{}"); ORIGPATH="{}"; echo "Copying $FULLPATH onto $ORIGPATH"; rm "$ORIGPATH"; cp -f "$FULLPATH" "$ORIGPATH"' \;

Saturday, 12 January 2013

Dropbox module for Titanium Appcelerator

We have released our second module in the appclerator marketplace. A Dropbox Appcelerator module.

Dropbox is the well known cloud storage facility and we are using it for an up coming product. So first we needed to integrate that into Appcelerator with a native module.

Being a much more extensive API than the one for Testflight we needed something better to document it. Seeing that it was actually javascript we were documenting we plumped for JSduck. I place the commnets directly into the .m files.  Extract them with a simple sed script and then put the whole thing through JSduck. Here is the result

The only way I could see the module being tested properly was an app that called all members of the API. And it also makes a great way for customers to evaluate and learn to use the product. So all the source to the example app is on GitHub

Making nginx record true ip behind pound

I use pound to front end our web services. Nginx was only recording the pound IP. This blog article is perfect for fixing that