寫了一個小程式後要放到手機上測試才發現
根據apple的規定 開發app必須要繳$99USD/year的保護費
即使app沒有要上架的打算 只是自己要用
只要想把app灌到手機裡測試 就必須要繳費才行
不過既然手機已經jail break了 沒道理無法裝自己想裝的程式才對
所以上網查了一下方法 找到網頁大多是針對比較舊版的xcode/ios
除了這個wiki頁面http://iphonedevwiki.net/index.php/Xcode
根據他的步驟 我在xcode 4.3.3/ ios 5.1.1試過以後發現可以work
所以發個圖文教學分享一下 不過事實上我也不清楚每個步驟實際的目的是做什麼
所以擔心的話請先備份系統 出了什麼事我無法負責XD
---
步驟一
開啟"鑰匙圈存取" (應用程式->工具程式->鑰匙圈存取)
在工具列選擇鑰匙圈存取->憑證輔助程式->製作憑證
隨便打一個名稱(iPhone Developer) 身分類型選自簽根 憑證類型選代碼簽名(code signing)
勾選覆蓋預設值 然後一直按下一步按到完成為止
步驟二
將/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist
裡面的XCiPhoneOSCodeSignContext都改成XCCodeSignContext
不知道怎麼作的可以先打開"終端機" (應用程式->工具程式->終端機)
輸入以下指令
sudo vi /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist
(被要求的話輸入系統密碼)
:%s/XCiPhoneOSCodeSignContext/XCCodeSignContext/g
:wq
步驟三
解壓縮後把檔案放到/usr/local/bin/ 底下
不知道怎麼作的解壓縮後一樣打開"終端機" 輸入以下指令
mkdir -p /usr/local/bin/
mv ~/Downloads/ldid /usr/local/bin/
步驟四
在/usr/local/bin/ 底下建立一個叫ldid3.py的檔案 輸入以下內容 並開啟執行權限
#!/usr/bin/env python from sys import argv from subprocess import check_call from os.path import basename, splitext, join from tempfile import NamedTemporaryFile app = argv[-1] obj_path = join(app, splitext(basename(app))[0]) if '-gta' not in argv: check_call(['/usr/local/bin/ldid', '-S', obj_path]) else: with NamedTemporaryFile() as f: f.write(""" <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>get-task-allow</key> <true/> </dict> </plist> """) check_call(['/usr/local/bin/ldid', '-S' + f.name, obj_path])
終端機指令:
vi /usr/local/bin/ldid3.py
i
(cmd+c 複製上面的code)
(cmd+v 在終端機貼上)
:wq
chmod 755 /usr/local/bin/ldid3.py
步驟五
開啟/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/
Developer/Library/Xcode/PrivatePlugIns/iPhoneOS Build System Support.xcplugin/Contents/Resources/iPhoneCodeSign.xcspec
將裡面的CommandLine = "/usr/bin/codesign" 改成CommandLine = "/usr/local/bin/ldid3.py"
終端機指令:
sudo vi /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/Resources/iPhoneCodeSign.xcspec
(被要求的話輸入系統密碼)
:%s/\/usr\/bin\/codesign/\/usr\/local\/bin\/ldid3.py/g
:wq
步驟六
利用ifunbox之類的軟體 打開在jailbroken的ios device的檔案系統
在/var/mobile/底下建立一個名叫tdmtanf的檔案或資料夾
步驟七
在寫好的app的project設定底下 將code signing改成步驟一所建立的憑證
步驟八
打開xcode右上角的Organizer
連上ios device 按下Use for Development
要輸入apple id的時候直接按cancel就好
經過這一連串繁複的步驟後 理論上就可以開心的在手機上使用自己的app了:D
希望大家都可以成功把程式裝到手機上!






請問, 如果沒有apple電腦, 只有pc, 有沒有任何方法可以寫程式給自己的ipad用?
回覆刪除