可是只有 Simulator 是不夠的, 我想每個人都會想把自己寫的應用程式放到 device
(也就是自己的 iPhone 手機) 上去執行,在這過程中, 發現到新版本的 Xcode &
iPhone SDK 在編譯 target device 版本時, 就會需要憑證來作認證, 若沒有適
當的憑證, 就會遇到如下的錯誤訊息 “Code Signing Identity ‘iPhone Developer’
does not match any valid, non-expired, code-signing certificate in
your keychain” 一般的方式就是去 Apple 官網申請帳號, 並繳交年費 99 USD
纔會獲得一個正式的憑證以供開發者開發, 可是就一般的開發者而言, 這步驟有點擾人,
一來不想要多花錢, 二來又不確定是否自己會走上開發 App Store 上的應用程式這條路,
所以不太想去花這筆錢, 有鑑於此, 我就 google 了一下,發現到的確有很多人在討論如
何不透過官方憑證來達到編譯 target device , 由於時間上的差異, 以及開發工具版
本的不同, 所以自己也親自將這些方式都一一驗證, 以及精簡, 就以我的開發環境來說
iPhone SDK 3.1.2
Xcode 3.2
只會需要三個步驟就可以達到所需要的效果 , 做完下面三個步驟索要修改的東西之後,
應該在 xcode 編譯時, 就不會在出現憑證錯誤的訊息了
1. 修改"/Developer/Platforms/iPhoneOS.platform/Info.plist"文件,默认是用Property
List Editor打开,然后添加:
1.1. PROVISIONING_PROFILE_ALLOWED = NO
1.2. PROVISIONING_PROFILE_REQUIRED = NO
1.3. 把其中的三处XCiPhoneOSCodeSignContext替换成XCCodeSignContext保存即可.
2. 自製憑證:
應用程式 | 工具程式 | 鑰匙圈存取
憑證名稱一定要是 “iPhone Developer”, 然後直接一直點選”繼續”
中間過程中會有需要你選擇加密方式, 選擇如圖片上所示 RSA
一直按"繼續"直到完成憑證製作完成為止.
3. 在 iPhone Project 裡面設定 "Code Signing"
在 Project 選單里選 "Get Info"
在 Build Tag 裡面找到如下的欄位, 並選擇剛剛所產生的憑證即可
上述這樣設定之後, 應該可就可以將所寫好的 app 直接安裝到 Device 中.
[Note]
此方是是在 iPhone SDK 3.1.2 + Xcode 3.2 環境下測試驗證是可行的, 並未在 iOS4
測試, 因為筆者在 iOS4 時代已經跟 apple 花錢加入 iPhone Developer 了.
iPhone SDK 4.1 + Xcode 3.2.5 64bit 出現如下錯誤
回覆刪除Code Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pair in the default keychain