3D Camera Lite Rejection

Posted on July 14, 2009

Today, we received notification from Apple that 3D Camera Lite (the free version of 3D Camera based on the upcoming 1.2 update) was rejected:

Thank you for submitting 3D Camera Lite to the App Store. Unfortunately it cannot be added to the App Store because it is modifying or extending 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 custom subclasses or self-contained views of UIImagePickerController – this includes PLCameraView and its custom subclasses (PLImageTile, PLRotationView, PLImageScroller, PLImageView, PLCropOverlay, PLCropLCDLayer, TPBottomDualButtonBar, TPPushButton and TPCameraPushButton) – in the iPhone SDK.

We’re familiar with this particular rejection, because 3D Camera 1.0 was rejected for the very same reason when we initially submitted it to the App Store. The first version of our app did modify the UIImagePickerController views in an undocumented way in order to make it quicker and easier to take two simultaneous photos. When taking left and right photos for 3D images, it’s critical to keep the camera orientation stable for both photos; the more you have to touch the screen and the longer the duration between shots, the lower the quality of the final image.

So, to comply with Apple’s rules, we removed this custom camera functionality. The only functionality we could keep was the overlay that shows “Left Image” and “Right Image” along with a translucent version of the left photo to assist with alignment of the second shot. We did this by adding a a UILabel and UIImage over the top of the UIImagePickerController. We did not do anything that could be considered “modifying or extending an undocumented API,” and none of the functionality depends on anything within the UIImagePickerController itself. We’re long time software guys, and we completely understand how brittle an app can become if it depends on undocumented internals.

From a developer perspective, this diagram illustrates how the 3D Camera overlay is implemented:

3D Camera Layering

This “fix” was approved by Apple, and it’s the same functionality that has been in 3D Camera 1.0 and 1.1 for awhile now.

So, it’s puzzling to us that Apple has rejected version 1.2, when we’ve changed absolutely nothing about the camera functionality. To be honest, we’re not entirely sure that this is the reason that it’s been rejected, because the e-mail (above) is very vague. Follow-up e-mail exchanges have failed to provide any more clarification about the issue that is causing them to reject the app. Responses are along the lines of: “In order for your application to be reconsidered for the App Store, please resolve this issue and upload your new binary to iTunes Connect.” If we knew what “this issue” was, we’d happily and quickly work to resolve it.

The worst part of the process is that we’re in the dark about what to do. Additionally, because the app has now been rejected, we’ll be forced to wait through another lengthy review period, and we may end up right back where we started.

Very frustrating.

modifying or extending an undocumented API,

10 Responses to “3D Camera Lite Rejection”

  1. [...] 3D Camera Lite Rejection [...]


  2. Jeffrey Powers
    Jul 16, 2009

    Thanks for posting your experience. We’ve been rejected twice for RedLaser with the same message. More recently we’ve resorted to your solution of not actually traversing the hierarchy, but just overlaying. We haven’t heard back yet on that approach. I’m surprised you got rejected — I bet the reviewer just didn’t realize what you were doing. You should try submitting again.


  3. admin
    Jul 16, 2009

    @Jeffrey: We’re surprised too. After this post, we resubmitted with an explanation of our technique, including a link to this write-up. We received the same word-for-word response that was quoted here. So, we’re still unsure that this is the reason for the rejection, but today, we removed the overlay completely, resubmitted, and we hope that this satisfies the reviewers. If not, we’re not sure what to do. If this version is approved, we’ll have to apologize to our users, because the overlay is what makes it easy to take two aligned photos.


  4. IdeePalast
    Aug 01, 2009

    Hy,
    I am a German Blogger and have written about your story as well as others, including Google Voice. Be sure that German developers have the same problems and that you are not alone with it. German T-Mobile iPhone users are reassessing there decision for an iPhone.
    Cheers.


  5. Not.new
    Aug 02, 2009

    Simple thing that you can do.
    Leave Apple and iphone development and try your stuff developing for Android.
    I could bet a million dollars it won’t be rejected. :)


  6. [...] news! After a month of waiting, including a rejection from Apple, 3D Camera Lite is now available in the App Store. The Lite version is completely free, [...]


  7. Timothy
    Aug 12, 2009

    What did you change / do to get them to approve your app? If I want to make an app that has an overlay image on it, do you think it will be rejected?


  8. admin
    Aug 17, 2009

    @Timothy: It was pure luck that they approved the overlay for 3D Camera Lite. However, we had to remove it completely from the full version. The good news is that it looks like there may be a way to add the functionality back (and more) into 3D Camera in an upcoming release.


  9. [...] is referring to the translucent overlay feature that used to be included in 3D Camera. While the overlay is included in 3D Camera Lite, Apple required that we remove it [...]


  10. [...] along, Apple began rejecting apps that modified the camera view, and much to our dismay, we were forced to remove it from 3D Camera. However, Apple has now added official support for camera overlays to the 3.1 OS, [...]



Trackbacks/Pingbacks

  1. [...] 3D Camera Lite Rejection [...]

  2. [...] news! After a month of waiting, including a rejection from Apple, 3D Camera Lite is now available in the App Store. The Lite version is completely free, [...]

  3. [...] is referring to the translucent overlay feature that used to be included in 3D Camera. While the overlay is included in 3D Camera Lite, Apple required that we remove it [...]

  4. [...] along, Apple began rejecting apps that modified the camera view, and much to our dismay, we were forced to remove it from 3D Camera. However, Apple has now added official support for camera overlays to the 3.1 OS, [...]

Leave a Reply