2015年3月1日 星期日

將Xcode專案轉換成iOSOpenDev專案


Xcode專案一般不需要轉換成iOSOpenDev專案,不過在一些特殊用途(例如讓app具有root權限)就需要了~



首先請先確定好已經設定好ssh環境,還沒設定好看這

打開專案,首先到Project Settings的Project level,把Code Signing Identity改成「Don't Code Sign」


然後在底下的「User-Defined」新增
iOSOpenDevPath:/opt/iOSOpenDev

接著切換到Targets level,新增這幾個「User-Defined」環境變數

iOSOpenDevBuildPackageOnAnyBuild:NO
iOSOpenDevCopyOnBuild:NO
iOSOpenDevDevice:你的iDeviceIP
iOSOpenDevInstallOnAnyBuild:NO
iOSOpenDevInstallOnProfiling:YES
iOSOpenDevRespringOnInstall:YES
iOSOpenDevUsePackageVersionPList:NO

至於每個參數的需求要看個人囉


接著再專案目錄下新增資料夾「Package」,「Package」資料夾底下新增「DEBIAN」和「Applications」,「DEBIAN」資料夾底下新增一個文件「control」,長這樣~
.
.
.
├── Package
│   ├── Applications
│   └── DEBIAN
│       └── control
.
.
.

接著編輯「control」文件,把這些複製進去(當然要修改成你的資訊),記得最底下要空白兩行
Package: com.yourcompany.MyApp
Name: MyApp
Version: 0.1-1
Description: 
Section: System
Depends: firmware (>= 5.0)
Conflicts: 
Replaces: 
Priority: optional
Architecture: iphoneos-arm
Author: Your Name
dev: 
Homepage: 
Depiction: 
Maintainer: 
Icon: 




完成後把「Package」拖移到Xcode專案下

接著到「Build Phases」下,把「Copy Bundle Resources」下的「control」拿掉

接著新增「Run Script Phases」,複製這些
/opt/iOSOpenDev/bin/iosod --xcbp



在測試之前請確定iDevice已經關閉Cydia

如果失敗的話把所有步驟拿掉重新一次

接著有些option可以做,例如要在安裝前安裝後做其他事情,或是移除前移除後做一些事情可以另外寫腳本,這部分留到下一篇「讓app具有root權限」再講~


2015/11/28
環境變數
iOSOpenDevClearUiCacheOnInstall:YES
安裝完後執行uicache指令
有時候安裝好app後並不會馬上出現,可以新增這個變數讓它安裝完後自動clear uicache,或是打開MobileTermial執行uicache指令


參考
Convert to iOSOpenDev Project: 'https://github.com/kokoabim/iOSOpenDev/wiki/Convert-to-iOSOpenDev-Project'


沒有留言:

張貼留言