In our last blog entry we wrote about the rejection of iWebcamera because it used UIGetScreenImage. I just got a call from our contact at Apple Developer Relations. It seems like UIGetScreenImage is not a public API anymore. Apps using this API will get rejected.
All developers are supposed to migrate to a new API only present in iOS 4: AVFoundation.
This decision by Apple is very bad for all developers:
-
it requires major restructuring of existing code.
-
it only works on iOS 4 devices, this is going to upset all customers running an earlier version of iOS on their device.
-
there is no iOS 4.0 for the iPhone 2G.
-
not everything that can be done with UIGetScreenImage can be done with AVCaptureSession. UIGetScreenImage captures everything that's on the screen while AVCaptureSession only captures the camera preview.
-
it's going to delay the iOS 4 compatibility updates.
This means that our iPhone 2G/3G video recording solution iCamcorder will not work on the 2G anymore and is going to require iOS 4.0. This is going to cause a lot of problems in the community and we're sure the customers are going to blame the developers not Apple. The same is going to happen to iWebcamera, the app that turns your iPhone into a wireless desktop webcamera. Both apps are using UIGetScreenImage to grab the contents of the screen.
We're not sure if this decision is final, but it sounded like there was no way around this. We seriously hope Apple changes their mind about this!
The apps that are currently in review by Apple received a "The app review is taking longer than expected" message today.
Update: To illustrate things a little bit better, here are some hard numbers on how many people are still using iOS 3 or/and the iPhone 2G. These numbers are from our latest app iWebcamera, the timeframe of the data is from the day of the iOS 4 release until today.
-
7% of our users are still using an iPhone 2G. These users won't be able to run or buy the app in the future. So a loss of about 10% in revenue is guaranteed.
-
65% of our users are still running iOS 3.1. These users also won't be able to run or buy the app in the future. Sure, they might upgrade to iOS 4.0 at some point. But a lot of people don't like iOS 4.0 on the 3G as it is unacceptably slow.
-
6% of our customers are running on an iPhone 4. These users cannot make use of the app as it's not compatible with the iPhone 4.
This is a really difficult situation and we don't know how we should handle the situation. Cutting off all iPhone 2G or iOS 3 users is not an acceptable solution to us.
Update II: iCamcorder v2.0 has been approved by Apple. We're not sure why as iCamcorder Lite v2.0 and iWebcamera v1.5 were rejected. We're going to submit these updates again, let's hope they will be approved as well.