最近因為專案的需求接觸到這一塊
簡單紀錄一下
首先針對一些 AppleScript 或是 Automator 所編寫出來的檔案
如果直接 Download 後點擊執行的話,應該是不會有問題
但是像在 Automator 的 WorkFlow 裡面從某一位置下載後放到另外一個位置
如果是由其它 App 偵測載入顯示的話,可能會發生找不到的情況
原因可能是安全性的關係
例如 Outlook 的 Plug-in 只要把 AppleScript 放到定位就可以出現了
不過若是由 WorkFlow 下載放進去則不會顯示(執行沒問題)
ps. 如果是自己先 Copy 到別的目錄 & 再 Paste 蓋回去就可以了
.
所以比較保險的方法是用安裝的
一開始從 XCode 裡面找不太到怎麼 New 一個安裝 Project
(還是不該用 MS 的經驗來套它 ^^)
後來找到了官方提供的 Package Maker 工具
需要自己下載安裝(老實說-這不查誰知道,怎麼不一起裝一裝就好了)
安裝下載位置
https://developer.apple.com/downloads/
找到
Auxiliary Tools for Xcode Developer
裡面感覺包含了一些開發會用到的工具
解開後把這些工具放到一個目錄內
可以看到這次要用到的 Package Maker
新建一個專案
設定 Title 名稱
選取要不要由 User Home 目錄開始安裝
另外透過快速鍵 Command + i 可以設定安裝最小 OS 版本需求
.
而左邊 Contents 區域則是直接把檔案拉進去就可以再進階設定了
點選文件
可以指定目標位置(點選齒輪可以選擇絕對或是相對位置)
後面還有權限以及安裝前後所需要另外執行的 Script
都沒問題之後,點選 Build and Run 就開始封裝囉
基本上產出會是 .pkg / .mpkg 檔案(看怎麼設定)
.
Code Signing 的部分則是用 Command Line 的模式說明
首先應該會有兩個檔案-憑證與安裝檔
(憑證的部份應該是在 Keychain 裡面)
.
Code Signing 前需要先解除 keychain 鎖定
security unlock-keychain -p mySecretPassword…
再執行 Signing
語法:PackageMaker --sign 檔案路徑 --certificate "憑證名稱"
ex.
$ /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker --sign ~/Desktop/Install.pkg --certificate "Jonny Li"
憑證名稱就是在 Keychain 裡面的完整名稱
.
執行指令之後,會跳出一個 Confirm 視窗,點選 Allow
如果沒問題的話
就這樣結束了
.
驗證的方法則是
sudo spctl --assess --verbose=4 --type install Install.pkg
正確的話,會顯示類似
Install.pkg: accepted
source=Apple Installer
否則,如使用測試憑證、憑證過期或不正確之類的,可能會顯示
Install.pkg: rejected
.
ps. 這邊之前有 Sign 失敗過的原因是,請勿使用 Telnet / SSH 登入作業,如為遠端電腦,請使用VNC