2013年1月24日 星期四

簡單紀錄 Code Signing for MAC Package file

最近因為專案的需求接觸到這一塊


簡單紀錄一下


首先針對一些 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


2013年1月20日 星期日

Datacolor SpyderCube 立體灰卡

這次失心風跟著買了 Spyder Cube 立體灰卡


(本來想要買 Spyder 4 螢幕校色器,後來還是忍住了 ^^)


會買這個東西其實是因為我蠻常在拍一些物品的


如果受到一些外在光源的影響,反而會使得物品的顏色失真


透過迷你攝影棚拍物品,但是沒有棚燈只有日光燈跟閃燈


雖然可以設定自動白平衡或使用白平衡濾鏡先校正,不過我覺得還是用灰卡來校正會比較準確


(尤其相機的自動白平衡更是參考用,有些不太準)


這次的包裝好像有改,比較素雅