我有一个 iOS 操作扩展,应该支持打开图像和 URL(特别是网页)。但是,从 Safari 中共享图像时,操作扩展不会出现在可用扩展列表中。例如,访问https://en.wikipedia.org并点击共享图标将显示我的操作扩展,但访问https://upload.wikimedia.org/wikipedia/commons/c/c4/PM5544_with_non-PAL_signals.png和点击分享图标不会。我还可以进入照片应用程序并选择 1 个或更多要共享的图像,这将显示我的操作扩展作为选项。我首先尝试了我的 Info.plist 文件,如下所示:
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsImageWithMaxCount</key>
<integer>-1</integer>
</dict>
</dict>
</dict>
我希望这可以通过共享表中的操作扩展程序接受来自所有应用程序的无限数量的图像和 URL。然而,这种情况并非如此; 点击图像上的共享图标时不显示操作扩展。我已经为NSExtensionActivationRule
键添加了所有值,如下所示:
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsMovieWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsFileWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsAttachmentsWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsWebPageWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsImageWithMaxCount</key>
<integer>-1</integer>
</dict>
</dict>
</dict>
但是,这仍然不能解决问题。这是我必须使用谓词的东西吗?如果是这样,如何以及为什么?