In its latest puzzling App Store policy assertion, Apple has reportedly blocked Panic from adding the standard iOS Share Sheet to its Transmit file transfer app due to an unwritten policy that "forbids apps from uploading content to iCloud Drive unless the content was created in the app itself."
The App Store policy appears intended to prevent apps from dumping large amounts of arbitrary files into a users' iCloud Drive storage. However, it's current not possible for app developers to selectively disable the ability to send files to iCloud Drive because iOS creates the Share Sheet itself.
That has forced Panic to remove the entire Share Sheet from its app, erasing the ability for users to send their files to any cloud service enabled by iOS 8's new Document Provider App Extension feature, including services like Box, Dropbox, Google Drive and Microsoft OneDrive.
Apple's App Store Review Guidelines make no mention of iCloud Drive, and the section on Extensions only references iOS Data Storage policies related to iCloud Backups.
Core Data and iCloud Backup seek to limit the amount of data that needs to be shuttled back and forth between users' devices and Apple's iCloud servers, meaning that Transmit's file transfer features could result in an unanticipated server load, given that iOS intends to use iCloud Drive as a repository for users' active documents that are actively backed up and kept in sync.
However, that policy creates a problem for apps that want to use other cloud services that are intended to act as simple network storage, because iOS doesn't currently allow apps to edit the Share Sheet to only list select cloud services.
Transmit is billed as a complete file management app that allows users to remotely log in to FTP, SFTP, S3 and WebDAV servers, upload and download files, edit permissions, create folders and more. At launch, iCloud, A tentpole feature, "Send" drew on new iOS 8 extensibility assets to offer full Share Sheet compatibility, meaning users were able to upload files from other apps also supporting Share Sheets.
Apple informed Panic that Transmit was in violation of Apple's rules — specifically a limitation on uploading data to iCloud Drive that is not created in-app — and would need to remove the "Send" feature. Removing hooks into iCloud would, however, force deletion of all Share Sheet compatibility since iOS does not allow developers for selective Share Sheet customization.
In short, we're told that while Transmit iOS can download content from iCloud Drive, we cannot upload content to iCloud Drive unless the content was created in the app itself. Apple says this use would violate 2.23 — "Apps must follow the iOS Data Storage Guidelines or they will be rejected" — but oddly that page says nothing about iCloud Drive or appropriate uses for iCloud Drive.
Panic is hopeful that it will be able to return "Send" functionality in a later update.
Apple's evolving policies for App Store titles have frequently ran into unanticipated issues with developers as the company cultivates a strictly managed "walled garden" of apps that are free from the rampant spyware, malware and quality issues that affect other platforms, including the collection of user's personal data, location and documents; the piracy of other developers' work and app spamming of low quality software.
"If your App is rejected, we have a Review Board that you can appeal to. If you run to the press and trash us, it never helps," Apple notes in its review guidelines. However, the frustration of running into seemingly arbitrary and capricious app rejections frequently prompts developers to communicate their issues with users. Apple hasn't yet responded to questions about its iCloud Drive policy.