1. 程式人生 > >(原)用xcode9編譯出ios越獄機程序使用的dylib

(原)用xcode9編譯出ios越獄機程序使用的dylib

export flag project exe round evel mac 架構 too

因為xcode9默認不能創建dylib工程,所以 選擇 靜態庫 工程後,修改編譯選項使得變成dylib工程.

步驟:

一、xcode9 -> File -> New -> Project... -> Cocoa Touch Static Library


二、xcode的最上面編譯按鈕(三角形)右邊有個工程名字的按鈕,點了選擇越獄真機(如果選的是模擬器則不能生成arm64的體系架構,只能生成x86_64的體系架構)。

三、修改工程的Build Settings:

- iOS Deployment Target: 這裏要修改成越獄機的ios版本。如 iOS 10.3

- Mach-O Type: 修改為:Dynamic Library

- Executable Extension: 修改為:dylib

- Product Name: 隨你意願修改成你想生成的庫的名字.

四、驗證:

- build success後,右鍵xcode左邊側邊欄Products下的生成物(如libtest.dylib) -> Show In Finder
  - 找到生成物libtest.dylib的path。

- 終端命令: # otool -hv /path/libtest.dylib
  - 看顯示的體系架構和filetype,如下就對了:

Mach header


magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC_64 ARM64 ALL 0x00 DYLIB 17 1464 NOUNDEFS DYLDLINK TWOLEVEL NO_REEXPORTED_DYLIBS

(原)用xcode9編譯出ios越獄機程序使用的dylib