我們有一個OSX桌面軟件,以Mac安裝程序包的形式分佈在Mac App Store之外。我們想要做的是在安裝期間安裝Safari擴展以及桌面應用程序。從桌面軟件包安裝Safari擴展程序
步驟中,我們已經做了:
- 我們有工具鏈準備成功生成pkg程序包爲我們的桌面應用程序。
- 還簽署了
safariextz
包創建準備就緒。 - 兩者都可以單獨安裝,但將Safari擴展與桌面pkg安裝程序一起打包即可。
是否可以用pkgbuild或productbuild做到這一點?
我們有一個OSX桌面軟件,以Mac安裝程序包的形式分佈在Mac App Store之外。我們想要做的是在安裝期間安裝Safari擴展以及桌面應用程序。從桌面軟件包安裝Safari擴展程序
步驟中,我們已經做了:
safariextz
包創建準備就緒。是否可以用pkgbuild或productbuild做到這一點?
如果你的擴展是一個Safari App Extension,Safari瀏覽器會自動檢測到擴展(在顯示它的Safari>首>擴展),只要:
PlugIns
文件夾)。/Applications
。但是,擴展將默認爲禁用,只有用戶可以通過Safari首選項啓用它。 (沒有API,以使Safari瀏覽器應用擴展,雖然有API來query its state,並open the Safari preferences for the extension。)
如果您的擴展使用創建的older method using Safari Extension Builder(我假定它是,既然你提到.safariextz
),然後不幸的是,only two permitted methods of installing it are:
- 點擊擴展程序庫中安裝按鈕。
- 在Safari中打開(
.safariextz
)文件。 (Safari瀏覽器會提示用戶確認安裝。)
蘋果警告:
重要:這些都是安裝Safari瀏覽器擴展唯一允許的方式。您不應該試圖以任何其他方式安裝您的擴展。
事實上,他們已經採取措施,難以使用創意方法以任何其他方式安裝擴展。(可能阻止惡意應用程序/安裝從用戶強加於擴展不知情的情況下。)
這就是說,你可以將現有擴展到Safari瀏覽器應用擴展轉換沒有太多工作,並you are strongly encouraged by Apple to do so:
重要提示:從macOS 10.11.5上的Safari 10.0開始,Safari擴展在Xcode中作爲應用程序擴展創建。新的擴展包裹在一個包含macOS應用程序中,並在App Store上分發和銷售。如果您使用本文檔中描述的方法創建了擴展,請考慮轉換到新的擴展模型。
(注:您不必通過Mac App Store中發佈你的應用程序提供了Safari瀏覽器應用擴展 - 開發者ID簽名的應用程序應該工作了。)
這將淨你的好處Safari App Extensions的安裝流程要簡單得多。