【问题标题】:Share extension - App not showing in share menu on first attempt since iOS 14共享扩展 - 自 iOS 14 以来首次尝试未显示在共享菜单中的应用
【发布时间】:2020-10-02 05:31:45
【问题描述】:

升级到 Xcode 12 和 iOS 14 后似乎开始发生一些奇怪的事情。

应用程序以前在共享菜单选项中显示良好,但突然出现奇怪的行为,仅在第二次尝试时才显示。

我的目标是获取网页网址。这是我的分享激活规则。

我什至尝试过新项目并添加了带有上述激活规则的共享扩展。它也这样做,并且应用程序仅从第二次开始显示在共享选项中。此问题主要发生在 Safari 中。

它在 iOS 14 之前运行良好,我在 iOS 14 更改日志中也没有发现任何可能导致问题的共享扩展。谁能帮我指出可能是错误的地方或某些可能的原因。

提前致谢!!!

【问题讨论】:

  • 也发生在我身上。未显示我们的分享扩展信息。
  • 找到了关于类似问题的更多信息并在此处收集stackoverflow.com/questions/67147589/… 手机重启似乎正在解决自 iOS 14.4.1 以来发生的问题

标签: ios ios-app-extension ios14 ios8-share-extension


【解决方案1】:

我的项目遇到了同样的问题,发现 NSExtensionActivationSupportsText 的值类型应该是整数,并且检查 MainInterface 的键应该是 NSExtensionMainStoryboard,我的项目将其设置为 NSExtensionPrincipalClass 是错误的。

screenshot of info.plist

【讨论】:

  • 我试过这个,虽然它似乎工作。您不能将 NSExtensionActivationSupportsText 作为 Int 提交到 App Store。
【解决方案2】:

我们也遇到了这个问题,并且配置看起来与您的非常相似。最终切换到此配置以使其始终显示:

<dict>
    <key>NSExtensionAttributes</key>
    <dict>
        <key>NSExtensionActivationRule</key>
        <string>  SUBQUERY (
         extensionItems,
         $extensionItem,
         SUBQUERY (
            $extensionItem.attachments,
            $attachment,
            ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO &quot;public.url&quot;
           ).@count &gt; 0
         ).@count &gt; 0</string>
    </dict>
    <key>NSExtensionMainStoryboard</key>
    <string>MainInterface</string>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.share-services</string>
</dict>

请注意,我们最初尝试使用 @count == 1 进行计数比较,但这在 iOS 14 上也不起作用。

【讨论】:

  • 这仍然对您有用吗?我收到了一些反馈,在某些情况下,即使使用“@count > 0”,共享扩展也不会显示
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-19
  • 1970-01-01
相关资源
最近更新 更多