一旦我进行任何修改,从 Safari App Extension 注入 Javascript 就会停止工作

Injected Javascript from Safari App Extension stops working once I make any modification

我正在尝试开发我的第一个 Safari App Extension,我遵循了 Apple 在 building a safari app extension 上的文档,我的 Xcode 版本是 11.5。看来扩展有效,因为我可以看到 Safari 导航栏上加载了扩展按钮,我可以得到“Hello World!”当在 Safari 中加载页面时,来自 SFSafariExtensionHandler 子类的 messageReceived 方法中注入的 script.js。到目前为止,在添加 Safari 扩展时,所有代码都由 Xcode 自动生成。然而,对 script.js 的任何修改,例如添加一个新的空行,或者只是重复相同的 dispatchMessage 调用,都会导致扩展无法 运行 ,如下面的代码:

document.addEventListener("DOMContentLoaded", function(event) {
    safari.extension.dispatchMessage("Hello World!");
    safari.extension.dispatchMessage("Hello World!");
});

这非常令人沮丧,尤其是考虑到自动生成的扩展代码已经生成大量警告和错误消息,即使它看起来可以正常工作。但是我确实看到 App Store 中有很多 Safari Extension 产品,所以有人可以指出正确的方向吗?

想通了:每次修改脚本时我们都必须清理构建。然后扩展调试 运行 再次工作。如果我们修改 info.plist 并在调试 运行s.

中出现代码签名错误,清理也会起作用