我在将共享扩展程序显示在Google Chrome中时遇到问题。它在Safari中显示并运行良好,但不会显示在Chrome中。我使用以下激活规则,它也在其他应用程序(图像,PDF格式,共享文本)中工作,但它在chrome中缺失。
来自我的info.plist:
form_fields = form_fields.map {
|field| {
field.properties = field.properties ? JSON.parse(field.properties) : {}
}
有什么想法吗?
答案 0 :(得分:2)
对于您在Chrome中未看到自己的应用分享扩展的问题,您无法在Chrome中看到您的shareExtension的原因通常是您的NSExtensionActivationRule与Chrome不匹配。此问题的答案与Key(NSExtensionActivationSupportsAttachmentsWithMaxCount)有关。 :P
我告诉你我的plist,它在Chrome和Safari中运行良好。
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsAttachmentsWithMaxCount</key>
<integer>2</integer>
<key>NSExtensionActivationSupportsImageWithMaxCount</key>
<integer>0</integer>
<key>NSExtensionActivationSupportsMovieWithMaxCount</key>
<integer>0</integer>
<key>NSExtensionActivationSupportsText</key>
<true/>
<key>NSExtensionActivationSupportsWebPageWithMaxCount</key>
<integer>1</integer>
<key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
<integer>1</integer>
</dict>
您需要做的就是将Key - NSExtensionActivationSupportsAttachmentsWithMaxCount的值更改为数字&gt; 1,我认为原因是Chrome将其数据传递给extensionContext!.inputItems [1]而不是extensionContext!.inputItems [0],您可以自己尝试设置此Key的不同值。
希望这可以帮助你:)