NSExtensionActivationRule
全部标签 我想为我的iOS8应用做一个扩展(最好是一个Action扩展,但分享扩展也可以)。我希望可以从iTunes访问此扩展程序,以便我的用户可以将iTunes链接发送到我的应用程序。但我只是不知道如何从iTunes中使用此扩展程序(顺便说一下,只能从iTunes中使用)。我试过NSExtensionActivationRule.NSExtensionActivationSupportsWebURLWithMaxCount,但它只从Safari激活了我的扩展程序,而不是从iTunes。我想知道是否有办法用谓词来做到这一点,但我不知道如何构建可以检测iTunes“元素/链接”的谓词(因为缺少更好
我目前正在开发一个包含共享扩展的iOS应用程序。我意识到NSExtensionActivationSupportsImageWithMaxCountkey不允许我在Safari(即:imgur链接)下激活.jpeg或.pngURL(“public.image”UTI,kUTTypeImage)上的共享扩展。如果我切换到NSActivationRule=TRUEPREDICATE,我仍然可以激活和测试我的扩展,但它被禁止用于已发布的应用程序。我在雷达上填写了一个错误,以防万一它不需要(甚至facebook、twitter等...都没有在此URL上激活)现在,我想将以下键和“public.
甚至peoplefarsmarterthanIam发现NSExtensionActivationRule的语法很神秘,但即使像我这样的傻瓜也应该能够复制/粘贴示例,不是吗?不幸的是我什至无法获得Apple'sexamples去工作。当您点击共享表按钮(下面的堆栈跟踪)时,我的操作扩展的主机应用程序崩溃。您应该可以将NSExtensionActivationRule设置为字符串,对吧?当我出于调试目的将其设置为TRUEPREDICATE时,它工作正常。但是,如果我从Apple获取这个简单示例(针对public.image稍作修改)并将其粘贴进去,我就会崩溃:{extensionItems
我收到警告:嵌入式二进制文件的NSExtensionActivationRule是TRUEPREDICATE。在将包含的应用程序提交到AppStore之前,请务必将TRUEPREDICATE的所有使用替换为特定的谓词语句或NSExtensionActivationRule键。如果您包含的应用中的任何扩展包含TRUEPREDICATE,该应用将被拒绝我能做什么?我尝试修改NSExtension,但我真的不知道如何解决它。 最佳答案 您必须在应用扩展的Info.plist中指定要使用的每种数据类型。参见documentation对于可用