Over the past several months, Iâve been hearing rumblings that Apple is looking into giving developers better ways to share information between apps. Currently, apps act on their own and offer very little cross-communication options aside from Appleâs âOpen Inâ¦â command.
Back in September, I laid out what I called the strange purgatory of third-party apps sharing on iOS. In that article, I mentioned what I had heard Apple had in the works:
What weâre hearing, and have been hearing for a while now, is that Apple has set up a system similar toÂ XPC on the Mac, for iOS. To simplify greatly, it allows small processes to be runÂ independentlyÂ in order for certain tasks to be performed separately from the main functions of an app. As developer Grant PaulÂ points out, Appleâs Mail app already uses this technique for the compose view.
Apple has created these special view controllers, components of iOS that display objects on the screen for you, in order to make their fancy new action sheets work. And they could easily open them up for third-party developers to take advantage of as well.
This would, effectively, open up an official gateway for inter-app communication, one of the biggest major wishes of almost every iOS developer I talk to.
I wasnât really at liberty to go into it further, but now, developer Oleg BegemannÂ has broken down the system that Apple is using already in its own apps on iOS, called remote view controllers. The whole article is worth a read if youâre a developer wondering where Apple may take sharing in the future, but here is the money section:
Remote view controllers are an exciting new feature for iOS. I sincerely hope that Apple will use this technology in iOS 7 to enhance data sharing and communication between third-party apps without compromising the iOS security model.Â We need it.
How could this work? Apple could ask developers who want to provide a sharing UI to other apps to include a second executable in their app bundle. This executable would be an XPC service that looks a lot like theÂ
MailCompositionService.appÂ we analyzed above. Its main component would be a stand-alone view controller that was able to communicate via XPC and implemented some standard Apple-defined protocols named something likeÂ
UIActivityViewControllerÂ would then maintain a list of registered sharing services and present these options to the user.
Begemann mentions iOS 7, but Iâve heard rumblings that it could arrive even sooner, Â perhaps in a point release of iOS 6. But now the Maps debacle has a lot of engineering staff assigned to it, so Iâm not sure how many new features weâll see in upcoming âmid-seasonâ releases. It all depends on whether the staff dedicated to that has anything to add to the Maps conversation or not I suppose.
Anyway, Appleâs new share sheets in iOS 6 could end up getting populated by icons from other apps soon enough. Imagine a dedicated Instapaper or Pocket button in the share sheet in Safari or a âprocess in Camera+â button in your Photo Roll.Â Â This would do a lot to allay theÂ criticism towards iOSÂ for not allowing as much inter-app communication as other platforms like Android, Windows Phone or the web.