Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> "It looks to me like the lack of support for the 3GS will create a split in adoption of the OS"

Sure, but having seen the 3GS usage numbers on my own app (which, granted, is hardly a gold standard of representative demographics), I think this will be a rounding error. Despite Apple selling the devices until relatively recently, there are actually very few out in the wild. A developer can now effectively develop for iPhone 4 as their baseline.

Granted, you might have uniqueness in your demographic that will skew 3GS usage higher than the general population.

> "This also means that we have to be backwards compatible with yet another version of the OS. In code, this is where Macros come in."

Ah, but you can't use macros, since a single binary will have to work on all devices - there aren't multiple binaries built with multiple flags. What you will have is a lot of runtime checks against either the OS version or specific featuresets.

Be prepared to write a whole lot of if ([obj respondsToSelector@selector(...)])

The worst part about this isn't just supporting new features - that part's easy since you can simply test for the presence of necessary bits, mostly with respondsToSelector. The worst part are the undocumented behavior changes in UI components that will break between iOS6 and 7. For example, it looks like there are large implementation changes in UITableView and UITableViewCells. This means you must necessarily test against the version string and branch from that. Annoying at best, code-quality-destroyer at worst.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: