6 Month Purgatory or Apple's App Review Process
In the Spring of 2009 some music promoters I knew came to me to ask if I could showcase some music technology
for an event happening at the end of July. I created an iPhone app that would feature a special music library for that event
in addition to public music libraries, your friend's music libraries and your own music library. The app did not get approved that
summer but eventually was accepted into the iTunes store before 2010.
Below is how it happened. The dates of submission and rejection are followed by Apple's response and then my thoughts.
Submitted on
June 25th, 2009
Rejected on
June 30th, 2009
When the device is not connected to a network, Toonsy Net does not load its contents and stays blank. This behavior might lead to user confusion. It would be appropriate to display either a notification or an alert stating that internet connectivity is required.
I guess I should display an error message when the app can't connect.
Submitted on
June 30th, 2009
Rejected on
July 1st, 2009
When the device is not connected to a network, Toonsy Net does not load its contents and stays blank. This behavior might lead to user confusion. It would be appropriate to display either a notification or an alert stating that internet connectivity is required.
Perhaps the timeout for the network connection isn't working.
Submitted on
July 2nd, 2009
Rejected on
July 10th, 2009
When the application is launched with a cellular network connection, your application displays a message stating that internet network connectivity is required, as seen in the attached screenshot. This behavior may lead to user confusion. This review was conducted on iPhone 3G running iPhone OS 3.0.
Maybe their cellular connection if slow. I'll increase the network timeout duration.
Submitted on
July 10th, 2009
Rejected on
July 23rd, 2009
We've reviewed Toonsy Net 0.5 and determined that we cannot post this version of your application to the App Store at this time because this category of applications is often used for the purpose of infringing third party rights. We have chosen to not publish this type of application to the App Store.
Couldn't Apple have told me that a few reiews ago? I'll change the app to only include one featured library of definitively non-copyrighted material.
Submitted on
August 6th, 2009
Rejected on
August 21st, 2009
When the device is connected to a cellular network via 3G or Edge, your application displays a message requiring internet connectivity, as seen in the attached screenshot. This behavior may lead to user confusion. This review was conducted on iPhone 3G running iPhone OS 3.0.1.
I'll try to improve the connection.
Submitted on
August 21st, 2009
Rejected on
September 27th, 2009
When the device is connected to a cellular network via 3G or Edge, your application displays a message requiring internet connectivity, as seen in the attached screenshot. This behavior may lead to user confusion. This review was conducted on iPhone 3G running iPhone OS 3.0.1.
36 days for a response! Not cool! I think Media Temple may have been down while Apple was testing. I'll change the error message to request the user to retry in 5 minutes.
Submitted on
September 27th, 2009
Rejected on
October 1st, 2009
When the device is connected to a cellular network via 3G or Edge, your application displays a message requiring internet connectivity, as seen in the attached screenshot. This behavior may lead to user confusion. This review was conducted on iPhone 3G running iPhone OS 3.0.1.
Additionally, your application, Toonsy Net 0.5, cannot be added to the App Store because it is using an undocumented API, which as outlined in the iPhone Developer Program License Agreement section 3.3.1 is prohibited:
"3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs."
There is no documentation for the view hierarchy managed by MPMoviePlayerController for streaming content in iPhone OS 3.0.1.
Drats, still 3g problems. And I guess I can't put the track name on the built in media player.
Submitted on
October 22nd, 2009
Rejected on
November 19th, 2009
Phone call from Richard: "a Wi-Fi requirement should be stated in the failure-to-connect message and then your app will be accepted."
Thanks, Richard. I'll change the error message to require WiFi.
Submitted on
November 19th, 2009
Rejected on
December 3rd, 2009
Phone call from Richard: "When no Genres are available a message should be displayed to the user."
OK, instead of displaying an empty list when there are no genres I'll display a message: "No genres available."
Additionally, I'll make sure all tracks in the system have genres so this message won't be displayed.
Submitted on
December 3rd, 2009
Rejected on
December 9th, 2009
Unfortunately, your application, Toonsy Net, cannot be added to the App Store because it is using an undocumented API, which as outlined in the iPhone Developer Program License Agreement section 3.3.1 is prohibited:
"3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs."
There is no documentation for the view hierarchy managed by MPMoviePlayerController for streaming content in iPhone OS 3.1.2.
I still had a custom Done button on the built in media player. I'll remove that.
Now my app will be unable to automatically play the next track after a track finishes. Sucky.
Submitted on
December 9th, 2009
Accepted on December 17th, 2009
Yay! I am happy to have an app approved. Too bad the app is limited to a single library and the media player has been crippled
almost to the point of worthlessness.
Moral of the story is to stack the deck in your favor. If there is ever a network timeout always state that your app needs
WiFi even if you think the app works fine with 3g. No blank screens are allowed even if there is no data to display.
Set up the test account so the reviewer will have the best possible experience. Don't use the built in media player
if you need to play more than one media without user input. It won't go.
In Apple's defense, app reviews seem much faster now and I've gotten much less rejections. Either I am lucky or the process has improved.
<<< back
<<< back