+[NSDate date]: unrecognized selector sent to class – Why you shouldn’t stub foundation classes

About a month ago I was banging my head against a wall when our Jenkins build box would intermittently crash the unit test job with output like below:

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '+[NSDate date]: unrecognized selector sent to class 0x104369f58'
terminating with uncaught exception of type NSException
abort() called

Read More…

How to stop iOS UIAutomation / Xcode Instruments from requesting developer tool access

Out at my current client we are using jenkins as our CI environment which also launches our UIAutomation tests via Instruments CLI.  Recently in OS X it looks like apple tightened up the program security so that you will be prompted for something like…

“Developer Tools Access is trying to take control of another process. Type your password to allow this.”

Read More…

Accessibility / VoiceOver considerations when using multiple UIWindows in iOS applications

This post follows on from my previous post Using multiple UIWindows in iOS applications but I will cover the specific issue I encountered when VoiceOver mode is on.

I have been working on an application that makes use of multiple UIWindows within its view heirachy, mostly because it is quite a secure application and so the easiest way for us to block access to the app is to present a UIWindow above all other windows in the app.

Read More…

Using multiple UIWindows in iOS applications

I have been playing around with using multiple UIWindows in an iOS application at my current client for the last few days and thought I would share what I perceive to be the pro’s and con’s. I will cover the technical challenges / observations I have witnessed when using UIWindows that sit above UIAlertViews when accessibility / VoiceOver mode is on in another post otherwise it will get lost.

Why would I want to use multiple UIWindows?

Well I guess a couple of the reasons would be that maybe you want to display a view that shows above system UIAlertViews, can cover the default keyboard or even make your app look like it is modifying the statusbar like Reeder.

Read More…

iOS Keychain: Sharing data between apps

Over the last week I have been playing around with the Keychain that comes with iOS to share data between multiple apps. I stumbled upon UICKeyChainStore which makes using the Keychain super simple.

There are plenty of posts out there that cover simply using the Keychain but not that many cover sharing data between apps.  So that is exactly what this post will be about.  Sharing data between your iOS apps via the Keychain. Read More…

Automated UI testing for iOS apps: UIAutomation + jasmine + jenkins

A couple of months ago I was doing some iOS work at Sensis with regards to the Yellow Pages iPad app + SAPI integration. Rochana Attale and I needed to come up with a way to make it easy to hook up UI Automation acceptance tests written in Jasmine to our Jenkins CI environment.  Please keep in mind at the time the zucchini testing framework wasn’t released which is why we put together our own solution.

And to be fair what we put together has worked out quite well.  It is a bit rough around the edges but at the same time extremely quick to get acceptance tests up and running.

Read More…

 Scroll to top