xcode - 为什么我可以在其他计算机上运行我签名的 Safari 应用扩展,但不能在我开发它的计算机上运行?

标签 xcode macos safari safari-app-extension

我已经启动了一个 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/

相关文章:

Xcode 查找调用者函数

javascript - 为什么 iOS Safari 会一个接一个地运行此 CSS 转换多个转换?

css - Safari 不会为动态属性更新 css

macos - "launch application holding [modifier key]"背后的诡计是什么?

reactjs - 尽管 Safari 桌面中的 overrideNative,VideoJS 没有质量级别/无法选择质量

xcode - Swift,Equatable 协议(protocol)错误?

ios - 如何使 UITabbar 透明以便 superview 的背景图像可见?

iphone - 我如何在不同的 View 中制作一个按钮,将一个 Action 发送到位于另一个 View 中的东西?

cocoa - 在 Cocoa OSX 中以编程方式实例化 NSPopUpButtonCell

macos - 如何从目录 ID 和卷号中找到 FSRef?