如何解决一旦进行任何修改,从Safari App Extension中注入的Javascript将停止工作
我正在尝试开发我的第一个Safari App Extension,我在building a safari app extension上关注了Apple的文档,而我的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扩展产品,所以有人能指出我正确的方向吗?
解决方法
弄清楚了:每次修改脚本时,我们都必须清理构建。然后扩展调试运行再次起作用。如果我们修改了info.plist并在调试运行中得到代码签名错误,清理也将起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。