Last year Apple caused a bit of a stir by forcing developers to remove links in iOS apps that allowed for external subscriptions or purchases to be made — unless the same transaction was also available as one of Apple's in-app purchases. A new wrinkle in the policy has developed, with Dropbox confirming that third-party developers incorporating its service are now being rejected under the same rule "because we allow users to create accounts." PandoDaily first reported on a support thread in Dropbox's user support forums, with developers complaining that their apps are being kicked back by the App Store review team. The issue is the way Dropbox's new SDK handles the authorization of third-party apps: it sends users to a page in Safari where they can grant access. However, that same page also allows new users to create accounts, after which they could drill down through Dropbox's site and upgrade to a paid account.
Dropbox initially tried removing a link to the desktop version of the site as a possible workaround, but the review team continued to reject apps. Earlier this evening, the company posted a version of its SDK that removed the ability to create a new account altogether. While Dropbox believes this should resolve the issue, it's hardly a convenient solution for iOS users looking to add functionality, and should only further stoke the flames of controversy over some of Apple's review guidelines. As for Dropbox's official stance, the company told us that while "Apple is rejecting apps that use the Dropbox SDK because we allow users to create accounts," it is "working with Apple to come up with a solution that still provides an elegant user experience."
Update: Dropbox has provided some further clarity to the situation, telling All Things D that "Apple requires paid services that allow account creation to offer the option to upgrade via In-App Purchase" — a practice that Dropbox complies with in its own app. However, Dropbox isn't able to provide the same functionality to third-party apps taking advantage of its SDK due to what it says are limitations of Apple's in-app purchasing system. We'll see if the solution the company has said it's working on helps improve the situation.