Counterpart to -application:openURL:sourceApplicat

2019-02-05 20:59发布

问题:

iOS SDK 4.2 includes a new UIApplicationDelegate method called application:openURL:sourceApplication:annotation:. It is a replacement for application:handleOpenURL: and offers more information about the calling application: not only do we get the bundle identifier of the calling app, but also, in the annotation argument,

A property-list object supplied by the source application to communicate information to the receiving application.

Great, this should offer a lot of opportunities for a more direct interaction between multiple third-party apps!

The only problem is: how do I invoke this mechanism on the side of the calling app? -[UIApplication openURL:] seems unchanged and does not offer any way to pass a property list along with the URL. Do you know how a calling app could do that with iOS SDK 4.2?

回答1:

You need to use the new Document Interaction classes, specifically you can send this data via the annotation property of UIDocumentInteractionController. See also:

  • UIDocumentInteractionController Reference
  • Document Interaction Topics