在 iPhone 開發程式一般都會先在 iPhone SDK 所提供的 Simulator 下開發, 可是只有 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 U.S.D纔會獲得一個正式的憑證以供
開發者開發, 可是就一般的開發者而言, 這步驟有點擾人, 一來不想要多花錢, 二來又不確定是否自己
會走上開發 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”, 然後直接一直點選”繼續”
憑證放置的位置要選擇”登入”
要驗證憑證是否新增完成, 可以至 “應用程式 | 工具程式 | 鑰匙圈存取”觀看新增的憑證. 順利的話
應該會看到如下的話面, 在登入的地方會新增一組 “iPhone Developer”名稱的憑證.
3.在 Project 裡的 .plist 檔案裡新增 SignerIdentity=iPhone Developer
留言列表