openURL:completionHandler:method of the
NSExtensionPointIdentifierwith Xcode (cmd+shift+f) or take a look into "Build Phases / Embed App extensions":
.appex, now you can navigate to the individual app extensions in the project.
NSExtensionPointIdentifieramong all files inside the app bundle (IPA or installed app):
UIActivitywhere we had to define the document types, also using UTIs. An app does not need to have an extension for that. It is possible to share data using only
Info.plistfile and search for
NSExtensionActivationRule. That key specifies the data being supported as well as e.g. maximum of items supported. For example:
MaxCountwill be supported. However, more complex filtering is possible by using a so-called predicate string that will evaluate the UTIs given. Please refer to the Apple App Extension Programming Guide for more detailed information about this.
NSURLSessionclass to perform a background upload or download, so that both the extension and its containing app can access the transferred data.
NSExtensionContext - inputItemsin the data originating app.
NSXPCConnectionthat uses the
NSExtension - _plugIn:
Share.appexis sending the text file (
com.apple.mobilenotes.SharingExtension.appexwhich is receiving and will process the text file.
frida-traceand then dig deeper into the methods that you find more interesting by extending the automatically generated stubs.