Xcode免證書開發調試

Xcode編譯遇到過 Code Sign error: a valid provisioning profile matching the application’s Identifier ‘com.yourcompany.xxxx’ could not be found 嗎?且往下看:

Xcode如果不破解,一方面無法真機調試, 也無法編譯真機Release文件,只能付費開通Apple開發者賬號,才能申請真機調試。而Xcode進行破解後,接合越獄的iPhone或iPad, 即可免官方證書開發調試了!目前測試對於最新的iOS 4.2 SDK/iOS 4.2.1 SDK的Xcode 3.2.5一樣適用!當然,對iOS 3.2.2/iOS 4.1 SDK的Xcode 3.1.2同樣保持兼容。

生成本機證書
應用程序->實用工具->鑰匙串訪問

菜單:鑰匙串訪問->證書助理->創建證書, 然後按以下圖片順序操作即可:

Xcode 3.2.5免證書開發調試_打開創建證書菜單

Xcode 3.2.5免證書開發調試_輸入證書名稱iPhone Developer並選擇覆蓋默認值

Xcode 3.2.5免證書開發調試_確定繼續

Xcode 3.2.5免證書開發調試_輸入序列號有效期,有效期不要超過365天

Xcode 3.2.5免證書開發調試_輸入電子郵件地址

Xcode 3.2.5免證書開發調試_輸入密鑰對信息

Xcode 3.2.5免證書開發調試_密鑰使用擴展擴展選擇:簽名

Xcode 3.2.5免證書開發調試_已擴展的密鑰使用擴展選擇:代碼簽名

Xcode 3.2.5免證書開發調試_基本約束擴展不選擇

Xcode 3.2.5免證書開發調試_主題備用名稱擴展輸入RFC822名稱,填入郵箱名即可

Xcode 3.2.5免證書開發調試_用於該證書的位置選擇鑰匙串類型爲登錄

Xcode破解
保證Xcode處於關閉狀態,命令行終端,複製粘貼下面的代碼:
  1. #!/bin/bash
  2. cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
  3. dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
  4. printf "\x8f\x2a\x00\x00″ >> working
  5. dd if=iPhoneOS\ Build\ System\ Support of=working bs=1 skip=127504 seek=127504
  6. /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
  7. /bin/mv working iPhoneOS\ Build\ System\ Support
  8. chmod a+x iPhoneOS\ Build\ System\ Support
複製代碼
再複製
  1. mkdir /Developer/iphoneentitlements30
  2. cd /Developer/iphoneentitlements30
  3. curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
  4. mv gen_entitlements.txt gen_entitlements.py
  5. chmod 777 gen_entitlements.py
  6. ./gen_entitlements.py
複製代碼
  1. 這裏的步驟 你們可以不用做了。我試了下 可以不用做也行 
  2. 執行完腳本後修改”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,做如下修改:

  3. 新增如下兩項(告知項目編譯無需證書):PROVISIONING_PROFILE_ALLOWED = NO
  4. PROVISIONING_PROFILE_REQUIRED= NO   這裏 很多人不知到怎麼弄。。大家都知道 xx.plist 格式是鍵值對的。所以我們應該這樣弄<key>PROVISIONING_PROFILE_ALLOWED</key>
  5. <string>NO</string>
  6. <key>PROVISIONING_PROFILE_REQUIRED</key>
  7. <string>NO</string>
複製代碼
然後將該文件中所有的”XCiPhoneOSCodeSignContext”替換爲”XCCodeSignContext”,即去掉中間的”iPhoneOS” 。如果不進行此步,編譯Device Release版本時會報錯:
  1. Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.xxxx' could not be found  
複製代碼
打開Xcode,打開你的項目,Project->>Edit Project Setting,選擇”Build”頁面,Configurations和Show都選擇All,找到Code Signing Identity項,刪除其子項,並將”Code Signing Identity”賦值爲”iPhone Developer”(其實是個選項)

然後找到你項目的xxx-Info.plist文件,添加”SignerIdentity”項,其值爲”Apple iPhone OS Application Signing”.保存。

Xcode破解完成,或者更準確的講,是配置完成!
Xcode真機調試
將 iPhone接入電腦,在Xcode的Window-&gt;Organizer中會偵測到你的iPhone.查看iPhone和你的Xcode識別正常 後退出Organizer,選擇編譯環境爲”iPhone Device-4.2|Release”,點擊”Build and Go”,期間會出現讓我們選擇簽名證書,點選”允許”後,等待你的iPad/iPhone屏幕點亮就ok了。

你的程序會自動下載到你的iPhone中,可以進行真機調試了


餓 經過本人測試 xcode 4.0 可以用於真機調試了。哦嘿嘿 慶祝下   
但是還要一些額外的步湊 。如果不做的話 可以將程序寫進真機 但是無法調試  會出現如下的錯誤

解決方法是。。在Xcode的File菜單上,New File -> iPhone OS -> Code Signing -> Entitlements,新建了一個“Entitlements.plist”點Finish,然後打開此文件,設置一個“get-task-allow”屬性爲false,保存。
然後我們回到target 找到'bulid settings'->"Code Signing Entitlements"->將我們剛纔新建的Entitlements.plist 寫到 裏面

這樣 運行後就可以在真機調試了。。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章