iOS 应用扩展的 NSExtensionActivationRule 可以共享所有内容

NSExtensionActivationRule for iOS app extension that can share everything

我实现了一个 Share-Extension,它可以找到你想要分享的各种东西。因此,我希望我的用户能够共享 URL、文本、图像、视频、任何其他文件,甚至它们的组合(例如来自带有文本和涂鸦的笔记应用程序)。

一切正常,因为我不知道 NSExtensionActivationRule,默认情况下它设置为 TRUEPREDICATE。但是编译器警告我,那是不允许的,我需要改变它。

我尝试将其设置为可能存在的各种值组合 (https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/SystemExtensionKeys.html#//apple_ref/doc/uid/TP40014212-SW10),但我就是想不出我需要放在那里什么,才能接受所有内容。喜欢f.e。松弛扩展... 我需要一个子查询吗?如果是这样,有人手头有"Take everything"-子查询吗?

NSExtensionActivationUsesStrictMatching 设置为 2 也无济于事。

试试这个 post iOS AppExtension : How can I Combine NSExtensionActivationRule and NSPredicate

将子查询与 UTI NSExtensionActivationRule 的键相结合:

  • NSExtensionActivationSupportsFileWithMaxCount 到 "public.file-url"
  • NSExtensionActivationSupportsMovieWithMaxCount 到 "public.movie"
  • NSExtensionActivationSupportsText 到 "public.text"
  • NSExtensionActivationSupportsWebURLWithMaxCount 到 "public.url"