簡體   English   中英

一旦我進行任何修改,從 Safari 注入的 Javascript App Extension 將停止工作

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

我正在嘗試開發我的第一個 Safari 應用程序擴展,我遵循 Apple 關於構建 safari 應用程序擴展的文檔,我的 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 並在調試運行中獲取代碼簽名錯誤,清理也可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM