我在iOS应用程序中有一个操作扩展,我只希望在用户共享单个图像时可用.NSExtension我的关键info.plist看起来像这样.
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsImagesWithMaxCount</key>
<integer>1</integer>
</dict>
</dict>
<key>NSExtensionMainStoryboard</key>
<string>MainInterface</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.ui-services</string>
</dict>
Run Code Online (Sandbox Code Playgroud)
我使用的唯一激活规则是NSExtensionActivationSupportsImagesWithMaxCount值为1.但是,在分享其他内容时,扩展程序仍会显示.例如,当我点击Safari中的操作按钮时,它会显示出来.
在Safari的情况下,没有图像被拉出NSExtensionContext.
任何人都知道如何让我的扩展程序在这些情况下不显示?
我目前正在开发包含Share扩展的iOS应用程序.
我意识到
NSExtensionActivationSupportsImageWithMaxCount密钥不允许我在Safari下的.jpeg或.png URL("public.image"UTI,kUTTypeImage)上激活我的Share扩展(即:一个imgur链接).
如果我切换到NSActivationRule = TRUEPREDICATE,我仍然可以激活并测试我的扩展,但禁止发布的应用程序.
我填写了一个关于雷达的错误,如果它不被通缉(甚至facebook,twitter等...都没有在这个URL上激活)
现在,我想将下面的键和"public.image"结合在NSPredicate字符串中,如文档所述(https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios .html#// apple_ref/doc/uid/TP40014214-CH21-SW8)
所以我必须将密钥翻译成UTI
到目前为止,我已翻译:
- NSExtensionActivationSupportsFileWithMaxCount"public.file-url" kUTTTypeFileURL
- NSExtensionActivationSupportsMovieWithMaxCount"public.movie" kUTTypeMovie
- NSExtensionActivationSupportsText"public.text" kUTTypeText
- NSExtensionActivationSupportsWebURLWithMaxCount"public.url"kUTTypeURL
但我找不到类型翻译:
NSExtensionActivationSupportsWebPageWithMaxCount,"public.HTML"是kUTTypeHTML吗?有人已经在谓词中使用了这个键吗?