越獄開發:用iosOpenDev配置越獄開發環境 編寫第一個hello world-b

來源:互聯網
上載者:User

標籤:

上網搜尋越獄環境搭建,查到iosOpenDev軟體,是個很方便的編寫外掛程式,而且可以直接用Xcode建立的工具,便開始著手學習如何去安裝

集合了網上的方法後,我安裝的時候發現:

1.作者最後更新的時間是四個月前,而且並未適配Xcode 6之後的版本,所以在當前OS X 10.11.1 和Xcode 7 下造成了很多問題

尤其是大量的安裝失敗卻得不到解答方法,很是讓我懊惱

2.同時需要適配的安裝工具也已經嚴重到期,比如theos,ldid等工具

所以根據自己的摸索,附上一篇如何安裝iosOpenDev的流程:

 

注意:請盡量嘗試在FQ後再進行安裝,有一些網址也許會被國內網路拒絕訪問

 

1.首先安裝MacPorts軟體,從官網根據mac本身的版本下載

 下載後安裝,進度條在安裝時會停止一段時間,耐心等待  2.安裝完MacPorts後開啟終端 輸入 sudo port -v self update 更新MacPorts到最新版本,繼續耐心等待  3.更新完MacPorts後安裝DPKG檔案,在終端輸入sudo port -f install dpkg 該檔案用於打包.deb檔案,用時也比較長 上面三部需要耗費挺長時間,網速慢的時候一兩小時也是有可能的 4.安裝those工具,參考http://iphonedevwiki.net/index.php/Theos/Setup提供的安裝方法 
  1. 開啟終端.
  2. 選擇theos的安裝目錄,官方建議放在預設的 /opt/theos.然後執行
    export THEOS=/opt/theos
    • //如果你選擇的是使用者之上的目錄,需要加上sudo指令,sudo export THEOS=/opt/theos
  3. 下載theos工具  (特別感謝網名為逍遙笛子 的熱心朋友 提供的分支,由於原theos最新的版本不相容iosopendev,所以用15年的老版本,地址如下(已經得到該名朋友的同意))
    • git clone -b stableversion https://github.com/haorenqq/theos/ $THEOS
  4. 下載ldid工具到those的bin目錄下:4.1 執行./make.sh方法之前,需要注意//預設ldid檔案夾是不帶openssl檔案夾的,但是make.sh中卻又#include <openssl/err.h>等之類的openssl類下載附件,解壓,將附件中的openssl 檔案夾放到 ldid 檔案夾下//然後make.sh中的代碼預設是只匹配Xcode5-1-1的名稱的,如果你的xcode不是這個名稱,則會報錯,所以下面的方法是修改make.ssh檔案預設的是Xcode這個名稱然後再開啟make.sh,找到sudo xcode-select --switch /Applications/Xcode5-**.app這一行,將Xcode5**.app改為Xcode.app,下面還有一行也一樣要修改(或者直接將附件的make.sh放入ldid檔案夾下替換同名檔案)
    git clone git://git.saurik.com/ldid.gitcd ldidgit submodule update --init./make.shcp -f ./ldid $THEOS/bin/ldid
 5.接下來安裝IOSOpenDev,在官網下載最新的1.6.2版本,在安裝介面按Command+L,查看安裝日誌 5.1作者僅僅維護了Xcode5以及之前的版本,之後的版本有較大的變動 開啟上面附件裡面的Specifications檔案夾,裡面應該有8個檔案,iPhoneOS開頭的四個檔案放到/應用程式/Xcode/Content/Developer/Platforms/IphoneOS.platform/Developer/Library/Xcode/Specifications檔案夾下(如果沒有,請自己建立一個),iPhone Simulator 開頭的另外四個檔案放入/應用程式/Xcode/Content/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Specifications檔案夾下(如果沒有,請同樣建立一個)。另外在/應用程式/Xcode/Content/Developer/Platforms/iPhoneSimulator.platform/Developer/檔案夾下建立usr檔案夾,usr檔案夾下再建立一個名為bin的檔案夾 作者的這個程式基於C編寫,且只有簡單的If else迴圈,所以如果不建立相對應的檔案夾,它是不會自己建立的,只會報錯,然後顯示安裝錯誤6.,這篇文章只是給出了除了作者的錯誤之外的相對的解決辦法,另外最好按照作者那篇文章(https://github.com/kokoabim/iOSOpenDev/wiki/Troubleshoot),比如在終端執行system_profiler SPDeveloperToolsDataType,拷貝Location:後面的資訊,再複製到sudo code-select -switch location:後面的資訊,執行代碼,再安裝iosOpenDev,另外還有另一個Xcode Lincese的問題,都在作者的文章中有解答 之後安裝就不會報錯,目前進行到這一步,如有進展,再更新 12.25 第一個helloworld編寫完成後,按照http://blog.csdn.net/lynjay/article/details/7936488這個文章,從5.開始配置iosOpenDev的環境//來自源作者lynjay的文章 在終端執行~/.bash_profile~/.bash_login or  ~/.profile.這3個檔案你在你電腦中看是否能找到,我是找到 ~/.bash_profile這個檔案,然後設定下面的環境變數
  • export iOSOpenDevPath=/opt/iOSOpenDev
  • export iOSOpenDevDevice= 非固定值,使用者需要先在已經越獄的iphone上點擊設定-網路-查看當前網路的IP地址,填入
  • export PATH=/opt/iOSOpenDev:$PATH
  • export PATH=/opt/local/bin:$PATH
  • export PATH=/opt/local/sbin:$PATH 
接下來給SSH添加簽名,在Mac的Terminal裡輸入”iosod sshkey -h <裝置IP>”,中間問你是否繼續,當然yes.如果期間失敗了重新試下.我失敗了好幾次.可能是裝置螢幕關閉會斷網(我的iPod Touch總斷,iPad就不會).這樣就不用密碼也可以登陸裝置SSH了. 之後可以開啟Xcode選擇iosOpenDev-Logos Tweak,建立一個新的應用 建立後會出現一個.xm檔案一個.mm檔案,不要編輯.mm檔案 因為還不能正常編譯,不要擔心

xm檔案中有這樣一段說明

#error iOSOpenDev post-project creation from template requirements (remove these lines after completed) -- \

Link to libsubstrate.dylib: \

(1) go to TARGETS > Build Phases > Link Binary With Libraries and add /opt/iOSOpenDev/lib/libsubstrate.dylib \

(2) remove these lines from *.xm files (not *.mm files as they‘re automatically generated from *.xm files)

 

意思是要把libsubstrate.dylib添加到工程中(在安裝好的/opt/iOSOpenDev/lib 目錄下),然後把xm中的內容清空。mm檔案的內容會根據xm檔案中的內容編譯後自動產生。

之後清空.xm檔案的內容,輸入下列內容

 

[objc] view plain copy 
  1. #import <UIKit/UIKit.h>  
  2.   
  3. %hook SpringBoard  
  4.   
  5. - (void)applicationDidFinishLaunching:(id)application{  
  6.     %orig;  
  7.       
  8.     UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"Welcome" message:@"HelloWorld!" delegate:nil cancelButtonTitle:@"Thanks" otherButtonTitles:nil];  
  9.     [alert show];  
  10. }  
  11. %end  

 

 

在已經越獄的手機上開啟Cydia,搜尋下列外掛程式如果搜尋不到,開啟軟體源-編輯 刪除BigBos和ModMyi,再回到首頁,點擊更多軟體源,重新添加這兩個即可搜尋到下列外掛程式Core UtilitiesCore Utilities(/bin)diskdev-cmdsfile-cmdssystem-cmdsMobileterminalopenSSHsshpasstoggle sshpreferencdloadersubstrate safe modesyslogd to /var/log/syslog再在Xcode中的Target的Build Settings中的Code Signing中,改為Don‘t Code Sign

 

最後開啟Target-Build Settings 找到iOSOpenDevDevice選項,填入越獄手機的本地ip

點擊Product- Build For -Profiling啟動應用

手機會重啟,之後在鎖定畫面就會彈出AlertView


 

 

其他問題:

1.可能會碰到真機串連後無法編譯的現象,修改build setting中的iOS Deployment Target為你的裝置對應的版本即可

越獄開發:用iosOpenDev配置越獄開發環境 編寫第一個hello world-b

聯繫我們

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