The Airsource Blog

Articles in the iOS category

Auto Layout Constraint Priorities

Interface builder and autolayout are arguably among the most useful features of Xcode. But with such a range of device sizes available, basic constraints don’t always cut it. In this post, we’ll walk through a thought process of utilising auto layout constraint priorities to create an app that ... Read more…

An Intro to CALayer Animations

The correct use of animations can mean the difference between your app being just another one of many on the store, or standing out from the crowd. In this post, we will look at the use of CALayers to quickly create fun animations to give your app that extra little ... Read more…

Caching broken on iOS 8 - 3/3

In Part 1 I discussed how NSURLCache is broken on iOS 8, and delivered some source code in Part 2. Now that iOS 8.1 has been released (with absolutely no mention in the release notes about this issue, I ran all the tests again, Read more…

Caching broken on iOS 8 - 2/3

The roundup for the released version of 8.1 is available in Part 3. In Part 1 I discussed how NSURLCache is broken on iOS 8, and promised some source code. The source code is available here, and it is worth taking a closer look at some of the results. Read more…

Caching broken on iOS 8 - 1/3

Part 2, with source code and detailed results, is now available. The roundup for the released version of 8.1 is available in Part 3. Apple have already experienced one PR disaster with the iOS 8.0.1 release which broke cell phone operation for some users. They may be on their way to another problem - less serious this time, but still significant. Read more…

UI Automation on the iPhone

As a summer intern I could have worried about just being given tasks such as making the tea, but here at Airsource, among other challenges, I was given the chance to work on improving some the QA infrastructure via automated testing. I study Engineering and have learnt some theory regarding ... Read more…

Quelle heure est-il? or "What's the time, Mr Jobs?"

A while ago, I was tracking down some NaNs in accelerometer-based code (smoothing device orientation for an OpenGL AR view). It turns out it wasn't my bug — UIAcceleration.timestamp was going backwards approximately every 12 minutes! Naturally, the documentation doesn't mention anything about this: This value indicates the time relative to the device CPU time base register. Compare acceleration event timestamps to determine the elapsed time between them. Assuming iPhone OS is similar enough to Mac OS X, it must be using mach_absolute_time():1 Read more…

App Store Localizations

Your app is on the App Store, and you've just sorted out the translations for all the metadata. So you go upload them on iTunes Connect, and then obviously you check that they look right in iTunes, changing country to make sure each language looks right. English is unchanged ... Read more…

AppStore Research with Mobclix

I discovered an incredibly useful resource yesterday - Mobclix. Among other things, they let you see a graph of how your iPhone App Store application - or anyone else's - is getting on. For instance, here's Home Barista. Read more…

AppStore Pricing

I just noticed that number 24 in the UK AppStore is mBoxMail - a Hotmail client for the iPhone. That's impressive in its own right - you don't see many non-entertainment app that high in the AppStore. But the really interesting thing is the price - £5.99 ($9.99). Looks ... Read more…

iPhone Simulator - hidden feature

One day I'll get round to reading the manual for all the devices I use on a day to day basis. No doubt I'll then discover lots of things I never knew - and from then on, life will be more productive, but more boring. In the meantime, I ... Read more…

iTunes Connect - failed codesign verification

Your iPhone application is finished. The testers are happy. The graphics designers are sure that everything is pixel perfect. Your microsite is done. Your marketing material is ready. Your metadata is in order. All you need to do is to submit your application to the App Store and start raking in the dough. Your heart sinks, though, because when you submit your application you receive a terrible error message - "failed codesign verification". That's all. No further details. No explanation as to what went wrong. Has all of your stress come to naught? Read more…

Google and iPhone - part II

I just found another interesting article out there in the World Wild Web, over at Daring Fireball. Apparently, Google started publicizing the voice search feature some time before it actually reached the AppStore. The critical phrase in the NYTimes article is "...Users of the free application, which Apple is expected to make available as soon as Friday through its iTunes store..." which suggests, in Daring Fireball's analysis, that Google may have have pressured Apple to accept their application even though it violated the SDK agreement. Read more…

Google using private APIs? Not really...

Google recently admitted to breaking the AppStore rules in their iPhone application, which fuelled a growing wave of resentment, prompted by the belief that Google were abusing their position as industry leaders to gain a competitive advantage in the market. The critics claim that a similar application submitted by anyone else would be rejected by Apple and never make it to the AppStore. Why should there be one law for Google, and another for the plebian masses? Shouldn't the Google application be pulled from the AppStore until they abide by the rules, as others have been? Read more…

Memory usage in UIImagePickerController

UIImagePickerController has plenty of issues. One of the first to be widely discussed was its memory leak which shows itself when you try to access the PhotoLibrary on the simulator. Fortunately, this leak is limited to the Simulator and does not show up on Device. It has also apparently been fixed in iPhone OS 2.2 - though you obviously need to be aware of it if you are coding for older versions. There is, however, another more serious problem with the image picker on device1 Read more…

Views of UIImagePickerController

The standard image capture in API in the iPhone SDK is the UIImagePickerController. There is much discussion on the web about how this can be customized via subclassing, both from the viewpoint of technical feasibility, and from the viewpoint of being allowed onto the AppStore. It is generally accepted that going direct to private frameworks is unacceptable, even though this arguably can give a better user experience. Phanfare had their app pulled from their AppStore for using the PhotoLibrary private framework, and returned with a new version that instead customizes the UIImagePickerController experience. I took an in-depth look at the view structure that the standard UIImagePickerController creates. Read more…

Wordpress for iPod/iPhone

I've recently been playing with Wordpress for the iPod Touch and iPhone. It's a very simple application which allows you to write posts while you're on the go, and post them to your blog over whichever network connection is most convenient.

My impressions so far are that ... Read more…

SSH on the iPhone and iPod Touch

SSH is undoubtedly a useful tool and the iPhone and iPod Touch are great portable ways of connecting to networks; put both together you can be a sysadmin on the move! So what are the options for this? The Apple AppStore has a few SSH clients, I decided to take three - SSH, iSSH and TouchTerm - out for a spin. Read more…