共享扩展在模拟器上工作但不在设备上工作

Share extension working on simulator but not on device

我有一个 share-extension 与我的应用绑定。对于 developmentdistribution,我拥有与扩展相关的所有必需的 app-idsprovisioning-profiles。当我 运行 simulator 中的扩展时,它工作得很好。例如,在 device(即 iPhone 6)上,当在 Safari 中选择我的应用程序的 share extension 时,Safari 冻结并且没有任何内容打开。我什至无法调试它,不是因为我不知道该怎么做,而是因为它 运行s 并在 Xcode.

之后立即停止 运行ning

我认为 provisioning-profilesapp-ids 可能有问题,或者它可能是由 Apple.[=27= 引起的错误或 'missing functionality prior to distribution' ]

如果有人对此有任何解决方案或解释,我将不胜感激。

编辑:

我在 storyboard 上更改了扩展视图的 background-color 以查看它是否根本不起作用。它确实打开了,但是 SLComposeServiceViewController 没有出现。因此,问题肯定是它引起的。

我终于解决了我的问题。 不是配置文件或应用程序 ID 问题。我写了

override func viewDidAppear(animated: Bool) {}

SLComposeServiceViewController class 中的方法。事实证明,唯一的罪魁祸首是这种方法。我删除了它,共享扩展完美运行。

如果还有人遇到此问题,请检查您的共享扩展部署信息并确保您的目标 OS 低于 phone 的 OS