目前在XCode上開發的iOS程序只能在模擬器Simulator中運行,若是要放到真機上測試,須要蘋果官方認證的開發者帳號,購買開發者證書iDP,99美金一年啊!!!html
做爲剛開始學習iOS編程的菜鳥,這麼大手筆花錢實在是肉疼。。。通過一番折騰,借鑑各類大神的帖子,終於成功在真機上編譯運行成功!免費的哦!ios
這裏將方法與你們分享。編程
個人運行環境是:【電腦】XCode6.0.1 + OS X 10.9.5 【真機iPod Touch】iOS6.1app
準備工做:curl
1. 首先,你要有一個已經越獄的iPhone/iPod/iPad,越獄方法此處不提供。iphone
2. 在用來測試的真機Cydia中添加源:http://apt.weiphone.com,下載適合真機系統版本的AppSync。
ide
3. 在電腦上建立一個證書,用於爲生成的程序簽名。學習
建立證書的過程比較簡單,在電腦上打開「其餘-鑰匙串訪問」。而後在菜單欄裏點擊「鑰匙串訪問-證書助理-建立證書...」來打開向導。注意這裏的三個地方,必需要把名稱命名爲iPhone Developer,將類型設定爲代碼簽名,將」讓我覆蓋這些默認值」選中。以後的步驟什麼都不用改,一路點擊「肯定」和「繼續」,最後完成這個嚮導就能夠了。測試
4. 若是Xcode在運行狀態,請先Command+Q將其
徹底關閉。而後打開「其餘-終端」,咱們須要用到一些UNIX命令,可能看起來會比較繁瑣,可是相信我,這但是在每一年節省99美金啊!ui
① 進入iPhone SDK目錄,指令以下:
1 cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/
備註:不一樣版本的Xcode最後的版本號不一樣。在Xcode 6.0中是iPhoneOS8.0.sdk
,將來版本可能版本高一些,早期版本的就低一些。請根據實際狀況本身改動。(若是實在不知道本身的版本號,能夠用「ls」指令查看全部文件。)
② 備份原文件,若是電腦設有密碼,系統會提示你輸入密碼(輸入後不會顯示出來,敲回車便可)
1 sudo cp SDKSettings.plist SDKSettings.plist.orig
③ 編輯配置文件SDKSettings.plist
爲了方便修改,咱們能夠直接用Xcode打開這個文件。首先要打開這個文件所在目錄:
1 open .
在彈出的Finder窗口中雙擊SDKSettings.plist
,會啓動Xcode的圖形界面,展開DefaultProperties
分支,將下面的ENTITLEMENTS_REQUIRED和CODE_SIGNING_REQUIRED兩個屬性改成NO。
備註:這裏可能會遇到系統提示【「SDKSettings.plist」 is locked for editing......】,這是由於文件讀寫的權限問題,解決辦法以下:
首先,修改文件夾權限,此時咱們所在目錄是iPhoneOS8.0.sdk,若是輸入指令「cd ..」返回上級目錄,「ls -al」查看全部文件,會發現系統顯示iPhoneOS8.0.sdk -> iPhoneOS.sdk,這表示iPhoneOS8.0.sdk是指向iPhoneOS.sdk的快捷方式,因此咱們要修改的真正文件夾是iPhoneOS.sdk,指令以下:
1 sudo chmod -R 777 iPhoneOS.sdk
而後,修改文件夾內全部文件的讀寫權限:
1 sudo chmod 777 *
如今雙擊打開SDKSettings.plist,
你會發現,剛纔不能修改的屬性能夠修改了!
④ 編輯另一個配置文件Info.plist
1 cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform 2 sudo cp Info.plist Info.plist.orig 3 open .
在彈出的Finder窗口中雙擊打開Info.plist
。分別在DefaultProperties
分支下、RuntimeRequirements
分支下和OverrideProperties
分支下,共有3處,將所有的XCiPhoneOSCodeSignContext
修改爲XCCodeSignContext
。
備註:同第③步,可能會遇到權限問題,修改Platforms文件夾權限和該文件夾內全部文件的權限便可,步驟同上。
5. 準備自定義的生成後腳本(此步驟需在聯網狀態下進行)
1 sudo mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements 2 cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements 3 sudo curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt 4 sudo mv gen_entitlements.txt gen_entitlements.py 5 sudo chmod 777 gen_entitlements.py
6. 修改工程設置
備註:本階段以前的修改配置文件、準備腳本等,只須要作一次。但本階段的操做,對每一個須要真機調試的工程都要作一遍。
① 禁用Xcode自動的簽名操做
將工程配置「Build Settings」中全部的Code Signing選項所有設爲Don’t Code Sign,如圖。
② 添加自定義的生成後腳本
在Build Phases中,點擊左上角的」+「號,添加一個」New Run Script Phase「,輸入如下腳本:
1 export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate 2 if [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados" ]; then 3 /Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent"; 4 codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/" 5 fi
至此配置所有完成!!!連上你的iPhone/iPod/iPad,編譯運行,看見真機屏幕上程序跑起來的時候,99美金就省下了!!!
在此感謝大神貼http://kuangqi.me/ios/ios-development-without-idp/,提供的Xcode 5 + iOS 7免證書(iDP)真機調試與生成IPA全攻略。
歡迎轉載,請備註原始鏈接http://www.cnblogs.com/liuliuliu/p/4030524.html ,並註明轉載。
做者bibibi_liuliu,聯繫方式395985239@qq.com