我已经启动了一个 Safari 应用扩展项目,遵循 Apple’s documentation .
我已经有了我的(空)应用程序和我的最小扩展程序。我已经存档了该应用程序,并使用我的开发者 ID 对其进行了签名。当我将存档的应用程序复制到 friend 的 Mac 上,运行它并启动 Safari 时,应用程序扩展显示在 Safari 首选项的“扩展” Pane 中(带有父应用程序的图标),并且启用后运行良好。
但是,当我在 Mac(我开发它的地方)上运行该应用程序并启动 Safari 时,该应用程序扩展不会显示在 Safari 的扩展首选项 Pane 中,除非我在 Safari 的开发菜单中选中“允许无符号异常”,如下所示this answer中描述- 当它出现时,它有一个通用应用程序图标,而不是父应用程序的图标。
虽然我希望最终让其他人可以使用该应用程序和应用程序扩展,但我主要是为自己制作的。因此,我希望能够使用它,而不必每次启动 Safari 时都选中“允许无符号异常”。
如何使应用扩展程序显示在我开发扩展程序的计算机上的 Safari 扩展首选项 Pane 中?
最佳答案
我在我的用户库文件夹中找到了我的应用和应用扩展的调试版本:
~/Library/Developer/XCode/DerivedData/{APP_NAME_FOLLOWED_BY_LONG_STRING}/Build/Products/Debug
删除此文件夹的内容、重新启动 Safari 并再次允许未签名的扩展程序后,我的应用程序扩展程序不再以通用图标出现在 Safari 的扩展程序首选项中。
(我是一个真正的 Xcode 新手,所以我不知道删除调试版本是否是我可以/应该通过 Xcode 完成的事情。)
然后我再次存档我的应用程序并运行它,然后重新启动 Safari。现在,我的应用扩展程序显示在 Safari 的扩展程序首选项中,并带有正确的图标和所有内容,并且在重新启动之间保持启用状态。
关于xcode - 为什么我可以在其他计算机上运行我签名的 Safari 应用扩展,但不能在我开发它的计算机上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49701679/