If you have an open source library that requires Automatic Reference Counting (ARC), you may have issues with your users trying to build it without ARC turned on. Luckily, it’s pretty simple to enforce ARC. I’m going to discuss how to do so, and why it’s a good idea.
Tag: iOS Development
How to avoid starting view controllers in the wrong orientation on startup
This is a bit obscure, but I ran into it earlier this week. Why would a view controller appear in the wrong orientation on startup?
You don’t have to have 16:9 on day 1
You don’t have to build with armv7s right away. And despite user demands, you also don’t have to support 16:9 right away either. It’s fine to get real hardware into your hands. More than fine; it’s being responsible. Apple has you covered with letter boxing; let the 16:9 screen be their problem until you’re really… Continue reading You don’t have to have 16:9 on day 1
Objective-C Feature Availability Index
Which modern Objective-C feature can you use where? Check the Objective-C Feature Availability Index (via 0xced).
Do not release ARMv7s code until you have tested it
Apple defaults your projects to including ARMv7s code. But unless you can test it, turn it off. There’s nothing wrong with shipping ARMv7 code for a little while longer.
ADC incidents
In the past, I’ve tried to avoid using ADC incidents. You get two a year per program, and most years I’ve avoided using any. This year, I decided to use them both the iOS ones up before renewing.
Don’t write viewDidUnload
A lot of people misunderstand the point of viewDidUnload. That’s because despite the name that implies otherwise, it is not the counterpart of viewDidLoad.
Modern Objective-C with iOS 5
Modern Objective-C contains subscripting support. Instead of writing: NSString *value = [dict objectForKey: @"Key"]; You can now write: NSString *value = dict[@"Key"]; Unfortunately, this requires SDK support. While the OS X SDK provides this support, the iOS 5 SDK one doesn’t. I’m going to show you how to add it.
Keyboard type is not a validator
So you’ve set your UITextField’s keyboardType to only accept numbers. Or email addresses, or URLs, or whatever. Fine. You’re done, right? What are you going to do if they enter something else in there? UITextField’s keyboard type is a keyboard type, not a validator.
Wireless proxies may re-compress your files
If you’re downloading a file with widely-recognized lossy compression, your user’s cellular provider may interfere with it. This has always been true of internet connections; I first ran into this with dialup years ago. But it went away for a while with broadband, is back with wireless. The simplest example is a JPEG. You may… Continue reading Wireless proxies may re-compress your files