Xcode 4.6 + iOS 6免認證真機調試

來源:互聯網
上載者:User

雖然要支援正版,但是對於學習階段99美元也是不小的開銷。所以就此研究了下如何免認證真機調試。當然最終要把APP發布到AppStore時,還是需要這99刀的。好了,閑話少說,直接進入正題。

本人破解環境:Xcode 6.3,iPhone 4(已越獄且通過Cydia安裝了AppSync),並且親測可用此iPhone進行真機調試。

整體4部分:

1.自己為自己頒發一個認證用於為產生的程式簽名2.修改工程配置以及Xcode的設定檔和二進位檔案以阻止其驗證和簽名3.通過自訂產生步驟,用偽造的認證為應用程式簽名
4.修改工程設定,進行真機調試

1.建立認證建立認證的過程比較簡單,開啟Lanchpad -> 工具 + 生產力 -> Keychain Access。然後在功能表列裡點Keychain Access -> Certificate Assistant -> Create a certificate。
第一個步驟比較重要,必須要把名稱命名為iPhone Developer,將類型設定為Code Signing,將"Let me override defaults"選中。之後的步驟無需更改,一路點擊“OK”和“Continue”來完成這個嚮導就可以。

2.修改Xcode的設定檔和二進位檔案先退出Xcode,按Command+Q完全關閉。
然後依次執行下面的操作:

2.1 cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk

2.2 sudo cp SDKSettings.plist SDKSettings.plist.orig

2.3 sudo vim SDKSettings.plist將以下兩段中的YES改為NO<key>CODE_SIGNING_REQUIRED</key><string>YES</string>和<key>ENTITLEMENTS_REQUIRED</key><string>YES</string>

2.4 cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform

2.5 sudo cp Info.plist Info.plist.orig

2.6 sudo /Applications/Xcode.app/Contents/MacOS/Xcode /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist

將全部的XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext

有三處,分別在DefaultProperties分支下、RuntimeRequirements分支下和OverrideProperties分支下。

3.準備自訂的產生後指令碼(此步必須確保電腦已串連到互連網,並且以root使用者執行)

3.3 mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements3.4 cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements3.5 curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt3.6 mv gen_entitlements.txt gen_entitlements.py3.7 chmod 777 gen_entitlements.py

4.修改工程設定
注意:本階段之前的修改設定檔、準備指令碼等,只需要做一次。但本階段的操作,對每個需要真機調試的工程都要做一遍。
4.1 禁用Xcode自動的簽名操作
將工程配置中Code Signing選項下面的除了Any iOS SDK其餘全部設為Don't Code Sign,Any iOS SDK 選擇之前建立的認證iPhone Developer。

4.2 添加自訂的產生後指令碼
在Build Phases中添加一個Phase,右下角的Add Build Phase,然後單擊Add Run Script,輸入以下指令碼:
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocateif [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados" ]; then/Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"fi


現在可以插上你的iPhone,選擇你的裝置運行程式了。

原創文章,轉載請註明出處:withiter

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.