close

在 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保存即可.

 

  certification - plist-2 

certification - plist-3 

certification - plist-1 

 

 

2. 自製憑證:

應用程式 | 工具程式 | 鑰匙圈存取

Certification - plist-1
 


憑證名稱一定要是 “iPhone Developer”, 然後直接一直點選”繼續”

certification - cer-2

certification - cer-3

certification - cer-4

 

 

 

憑證放置的位置要選擇”登入”

certification - cer-5 

要驗證憑證是否新增完成, 可以至 “應用程式 |  工具程式 | 鑰匙圈存取”觀看新增的憑證. 順利的話

應該會看到如下的話面, 在登入的地方會新增一組 “iPhone Developer”名稱的憑證.

certification - cer-6 

 

3.在 Project 裡的 .plist 檔案裡新增 SignerIdentity=iPhone Developer

 

 

 

arrow
arrow
    全站熱搜

    tixirene 發表在 痞客邦 留言(1) 人氣()