As many of you have noticed, version 1.2 of the TidBITS News app has appeared in the App Store. The chief goal of this version is to support iOS 4's multitasking (see "What is Fast App Switching?," 23 June 2010). We also modernized the way the app presents its interface when playing a podcast, and updated the graphics to look nice on the iPhone 4's Retina display.
But these feature updates, though surprisingly non-trivial to achieve, aren't the subject of this article. The reason I'm writing this article is to explain why some people still using iOS 3 - either on an iPad because that's all it runs right now, or on an older iPhone or iPod touch that doesn't support iOS 4 or hasn't been upgraded to iOS 4 - are receiving an error dialog from iTunes complaining that TidBITS News requires a newer version of iOS.
Put simply, if you are using iOS 3 and you get this error dialog from iTunes, I recommend selecting the "Do not warn me again" checkbox and clicking OK. You aren't missing out on anything by not getting the update, and the version of TidBITS News you've already installed will continue to work fine. The people who are hurt are iPad users and users of older iPhone and iPod touch models who never installed the TidBITS News app in the first place, since now they can't obtain the app at all. But let me explain what happened.
The first version of the TidBITS News app (1.0) was developed to run under iOS 3.1.2, because that was current at the time. When the iPad appeared, sporting iOS 3.2, TidBITS News ran in emulation mode on it; this was acceptable, but a bug in iOS 3.2 caused the app to behave differently than it did on iOS 3.1.x, so we issued a new version (1.1) that fixed the problem. TidBITS News then ran fine on iOS 3.1.x and in emulation mode on the iPad on iOS 3.2.
When iOS 4.0 appeared, it was necessary to revise TidBITS News once more, to be a good multitasking citizen. But these and other changes necessary for compatibility with the new system meant that it would be difficult to maintain backwards compatibility with iOS 3.1.x. So we decided to drop future support for iOS 3.1.x, figuring that the vast majority of iPhone and iPod touch users who would be likely to get the app would have updated to iOS 4.0 anyway.
At the same time, we expected TidBITS News to continue working in emulation mode on the iPad, for which Apple has not yet issued its iOS 4 update. To ensure this, we set the app in Xcode to have a Deployment Target of iOS 3.2. The Deployment Target is the earliest system version on which you are willing for your app to run. And, sure enough, we then tested the new version of the app (1.2) both on devices running iOS 4 and on iPads running iOS 3.2 or 3.2.1, and everything worked fine.
Then it came time to submit the app to the App Store via Apple's iTunes Connect administration site. When I tried to upload the binary of the file to iTunes Connect (first via the Web site, and a subsequent time via Apple's Application Loader utility), it failed with this error:
The binary you uploaded was invalid. An application targeting the iPhone device family may not require an iPhone OS Deployment Target of 3.2, which is an iPad-only OS.
This was a puzzling error, because it was clear from our experience that an iPhone application may perfectly well require an iPhone OS Deployment Target of 3.2, since our app did and in our testing it worked precisely as desired and expected. Matt Neuburg (the developer of the TidBITS News app) queried iTunes Connect support, pointing this out, and was sent what amounted to a canned response advising him to make sure the app was compatible with iOS 4. This response was completely irrelevant and unhelpful, since the app was iOS 4-compatible. Next, I asked iTunes Connect support the same question. The canned non-answer I received told me to read the iTunes Connect Developers Guide and the Developer Program Overview, neither of which address our question at all.
When I pushed further for an actual answer, or at least some information that was related to the question, iTunes Connect support simply told us to use a Developer Technical Support incident. Since this back-and-forth had taken weeks, not days, we were too frustrated to wait any longer.
So Matt simply gave up, and set the app's Deployment Target to iOS 4. After that, iTunes Connect accepted it, and after the requisite 11 days or so in purgatory (only 1 of which was spent in review), it was approved. The result is that it is now available, but you can't obtain it for the iPad, even though we know that it could run perfectly well on the iPad in emulation mode (when the Deployment Target is iOS 3.2). In fact, all of us at TidBITS are running TidBITS News 1.2 on our iPads, supplying it to ourselves via Ad Hoc Distribution. So we can do this, but you can't, because of the App Store's inexplicable refusal to accept the iPad-compatible build of the app. Sorry!
We're well aware that this isn't an ideal situation. There are a variety of solutions:
Apple could change iTunes Connect such that it accepts our app, since it doesn't seem as though there's any reason it shouldn't be accepted. That seems unlikely.
Apple could release iOS 4 for the iPad. This will indeed probably happen within the next month or three. At that point, the TidBITS News app should become available for iPad users again at the App Store. At most, we'd have to recompile and resubmit, and it's unlikely that we'd have to do even that.
Matt could create an iPad-native interface for the TidBITS News app, such that it would be native on all the iOS hardware platforms. This is a reasonable idea, but it hasn't happened yet. (Free app, limited time, our Web site looks good on the iPad, insert all the usual excuses...)
Regardless, we regret any confusion that this situation has caused, and we ask you to understand that the problem stems from Apple's policies and lack of communicativeness, not from anything we intended to have happen.
If you do have an iOS 4 device, I'd encourage you to take a look at the app for a clean and simple TidBITS reading experience that works whether or not you're online. And if you have an iPad or an iOS 3.1.x device and you're already running TidBITS News 1.1, it will continue working just fine.