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 ready to take full responsibility. By all means, do whatever development and simulator testing you want now. But wait for real hardware to ship.
Always measure before cutting.
(But measure and cut quickly.)
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.
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.
Continue reading “ADC incidents”
A lot of people misunderstand the point of
viewDidUnload. That’s because despite the name that implies otherwise, it is not the counterpart of
Continue reading “Don’t write viewDidUnload”
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.
Continue reading “Modern Objective-C with iOS 5”
If you’re a heavy user of Xcode, you’ve probably had it go sideways on you. Thankfully, the crashes that plagued previous versions are mostly gone. But in its place are some awkward debugger connection failures, long delays and such.
Here’s how I created a shortcut key to relaunch Xcode.
You may find Programmer’s KillSwitch more practical, but this is a fun exercise in using Automator.
Ready? Here we go.
Continue reading “Restart Xcode now”
So you’ve set your
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.
Continue reading “Keyboard type is not a validator”
In a previous entry, I explained How to Sync Xcode’s Settings via Dropbox. This involves creating symlinks in Terminal, and cleverly moving files about.
You can’t create symlinks in Finder with what Apple provides you, but you can create an Automator workflow to do so easily.
Continue reading “Make a symbolic link from Finder”
You can use Dropbox to synchronize Xcode 4’s key bindings, code snippets, named tabs, and font & color schemes. If you don’t have a Dropbox account yet, you can sign up here.
The secret is symlinks. These are different from the aliases you can create in Finder, so you’ll need to do this in the shell.
The problem with this is that Xcode 4 will not follow symlinks. Luckily, Dropbox will. (Note, however, that Dropbox will not follow aliases.)
Continue reading “How to sync Xcode 4’s key bindings and code snippets”
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 get the JPEG you expect, but it’s also possible for the proxy to deliver a smaller JPEG than you expect. The cell provider considers it “close enough”, and the doubly-compressed JPEG is smaller (and far uglier).
Continue reading “Wireless proxies may re-compress your files”