圖文並茂 在ML OS X 10.8 + XCode4.4/4.4.1下實現無認證真機調試IOS5.1.1(親測,附調試截圖)

來源:互聯網
上載者:User

本方法是結合網上一些朋友的文章,然後加上自己的理解寫的,在ML OS X 10.8環境下用XCode4.4/4.4.1 + IOS5.1實測可行!

ps:使用無認證調試,也意味著你的裝置要越獄!

 

第一步:製作認證

1)開啟   Finder->應用程式->工具 + 生產力 ->  鑰匙串訪問 

2)單擊:"鑰匙串訪問"選擇  "認證" 再選擇"建立認證"過程如:

注意:認證名稱必須填寫為 iPhone Developer

 

 

 

 

 

 

 

 

 

第二步:修改XCode設定檔

註:如遇到檔案無法解鎖沒有許可權不能修改,可以複製一份出來,修改好之後將原來的替換掉

1)修改SDKsettings.plist檔案

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk

開啟該目錄下的SDKSettings.plist檔案,把CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED的值改成NO

2)修改Info.plist檔案

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

用XCode開啟該目錄下的Info.plist檔案,右擊--Add Row,增加兩項:

PROVISIONING_PROFILE_ALLOWED 值為 NO

PROVISIONING_PROFILE_REQUIRED 值為 NO

3)將上面Info.plist檔案中的 "XCiPhoneOSCodeSignContext" 替換成 "XCCodeSignContext"(共3處)

 

第三:設定gen_entitlements.py指令碼許可權

註:如果你的電腦連網了,那麼執行1)的命令後會在相應的目錄自動建立iphoneentitlements檔案夾及其下的gen_entitlements.py檔案,如執行後沒有產生指定檔案,請重複執行下面的命令或者換第二種方法,兩種產生指令檔的方法任選一種。

1)在終端執行如下命令:

mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlementscd /Applications/Xcode.app/Contents/Developer/iphoneentitlementscurl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txtmv gen_entitlements.txt gen_entitlements.py
sudo chmod 777 gen_entitlements.py

2)上面的命令執行成功之後,會在/Applications/Xcode.app/Contents/Developer/目錄下產生一個iphoneentitlements檔案夾和其下的gen_entitlements.py檔案,如果你的電腦沒有連網或者不能自動產生相關目錄檔案,那麼需要手動在相應的目錄建立指定的檔案,隨後需要給gen_entitlements.py設定許可權。

gen_entitlements.py指令檔的內容如下:

#!/usr/bin/env pythonimport sysimport structif len(sys.argv) != 3:print "Usage: %s appname dest_file.xcent" % sys.argv[0]sys.exit(-1)APPNAME = sys.argv[1]DEST = sys.argv[2]if not DEST.endswith('.xml') and not DEST.endswith('.xcent'):print "Dest must be .xml (for ldid) or .xcent (for codesign)"sys.exit(-1)entitlements = """<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>    <key>application-identifier</key>    <string>%s</string>    <key>get-task-allow</key>    <true/></dict></plist>""" % APPNAMEf = open(DEST,'w')if DEST.endswith('.xcent'):f.write("\xfa\xde\x71\x71")f.write(struct.pack('>L', len(entitlements) + 8))f.write(entitlements)f.close()

在終端給gen_entitlements.py設定許可權(可能會要你輸入密碼)

sudo chmod 777 /Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py

 

 

第四步:修改項目屬性

1)點擊項目表徵圖,找到"Build Settings"選項下的"Code Sign Identity",將其值全部改為"Don't Code Sign"

 

2)切換到Build Phases選項,點擊右下角的Add Build Phase,然後單擊Add Run Script,然後在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/ipad)

點XCode右上方的Organizer表徵圖,然後選中你的裝置,在右邊視窗中點擊“Use for Development” 即可,此時你的裝置名稱旁邊應該顯示黃色的小燈,重新拔插資料線,Organizer中會出現一個進度條,等這個進度條跑完,小燈就會變成綠色,開發模式已經啟用。

 

測試真機調試

建立一個Page-based Application工程,修改Build Settings和Build Phases下面的相關配置(參考第四步)

1)選擇你的裝置

 

2)隨便拖一個button,然後點擊運行(Run)

 

3)iphone運行效果

分類: Mac/IOS綠色通道: 好文要頂 關注我 收藏該文與我聯絡 

Mr.Sjun
關注 - 1
粉絲 - 2+加關注00(請您對文章做出評價)« 博主前一篇:特性(@property、@synthesize)
» 博主後一篇:類別(category)、委託(delegate)、非正式協議(informal
protocol)、正式協議(formal protocol)

posted on 2012-08-04 06:58 Mr.Sjun 閱讀(298) 評論(6) 編輯 收藏

評論#1樓   您好,我到了第二步:修改XCode設定檔
1)修改SDKsettings.plist檔案這裡,
已經開啟了SDKsettings.plist,但無法把YES改成NO,我是管理者許可權,但修改檔案時顯示資訊,請問如何解決,謝謝
支援(0)反對(0)2012-08-05 13:33 | zpy2012  #2樓[樓主]
  @zpy2012
那你把那個檔案複製出來修改一下,然後再覆蓋替換看看支援(0)反對(0)2012-08-05 13:36 | Mr.Sjun  #3樓   終於搞定,多謝樓主。樓主感謝您啊支援(0)反對(0)2012-08-06 00:06 | 扶風父  #4樓[樓主]
  @扶風父
搞定就好,你的錯誤應該是Run Script沒有輸入正確吧?支援(0)反對(0)2012-08-06 00:43 | Mr.Sjun  #5樓   謝謝您,這個問題解決了,但還是沒能成功,請幫幫我。

我在第三步:設定gen_entitlements.py指令碼許可權時
/Applications/Xcode.app/Contents/Developer/iphoneentitlements/
Developer裡沒有iphoneentitlements檔案夾及gen_entitlements.py指令碼,自己添加了,不知道對不對。

然後開啟終端,拷貝命令運行

後面完全按步驟進行,小燈已變綠色

手機上也出現了新的表徵圖,但無法運行。

電腦上顯示資訊分別為
第一次實機運行時要求署名

實裝時第一次顯示錯誤

再實裝時顯示錯誤
支援(0)反對(0)2012-08-06 08:18 | zpy2012  #6樓   @Mr.Sjun
不是,是建立簽名的時候都是預設設定,所以會出現這個提示

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.