Print this page

xcode 11.3版強行打包的hack trick Featured

有客人詢問使用ARkit開發iPad應用,確認過不需要發佈到APPStore,所以就接了,但沒想到客戶希望看看之前做過的DEMO。經過大半個晚上的折騰,總算做出了.ipa檔案,可以交出去了。鑒於太過折騰,所以留下記錄,說不定以後用得到。

首先,ARkit在打包時需要將系統版本設定為11.0以上版本,然後就遇到了 “xcode ARSCNView before iOS 11.0” 的錯誤,要解決很簡單,進入XIB View,將"Builds for" 欄位要支援的版本也改成跟前面相同的版本就可以了。

XIBView

1、執行打包過程,從頂欄選擇“Products → Archive”進行打包,然後在Finder中開啟打包后的文件;

2、右鍵選擇“Show Package Contents”,然後從路徑“/Products/Applications/”裡面將無圖標的檔案拷貝到桌面上的“Payload”檔案夾里;

3、將“Payload”檔案夾壓縮生成“Payload.zip”檔案,再將其名字改成“工程名.ipa”

4、把手機連接到mac,開啟xcode,從"windows → Devices and Simulators "窗口中授權移動設備,選中設備點右鍵,選擇“Show Provisioning Profiles...”

Devices n Simulation

5、如下圖所示區域中,點擊左下角的加號,在彈出的窗口中把郵件里附帶的.ipa檔案添加進去,稍等片刻,app就會安裝到移動設備里,但還需要授權才可以開啟APP;

6、從移動設備的“設定 → 一般 → 裝置管理 → 授權給APP的開發者賬戶”之後才可以正常開啟APP

 

如果沒有購買apple的開發者權限,但需要用到某些功能,比如:

ProFunction

可以用網上流傳的駭客技巧來繞開名為“CODE_SIGNING_REQUIRED”的限制,本次測試時間為2018年5月9日,xcode版本為9.3,當前iOS版本為11.3,確認有效。

1、從Finder中選中xcode,點右鍵選擇“Show Package Contents”

xcodeContents

2、依照路徑找到“Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist”檔案

3、(重要)將該檔案複製到桌面,然後雙擊開啟,這時xcode會啟動,出現以下界面:

SDKSettingsPlist

4、將其中的“CODE_SIGNING_REQUIRED”的值從“YES”改成“NO”,保存檔案,退出xcode,然後用修改後的桌面版本替換掉原本的檔案,期間需要輸入管理員密碼才可以替換。替換完成後就可以繞開限制了。

5、假如不複製到桌面而直接在原本的位置修改檔案會怎樣?你會卡在下圖這個提示框的死循環當中出不來,直到你強制結束xcode為止,所以,第三步乖乖複製出去吧。

doNotHavePremission

 

 

Last modified on 週二, 08 五月 2018 19:08
Rate this item
(0 votes)