1. 程式人生 > >使用命令列build Xcode工程

使用命令列build Xcode工程

使用xcodebuild命令,下面把xcodebuild別名為xc

build 工程

xc -project My.xcodeproj

預設會在工程目錄下生成build目錄,預設是release版本,在Release-iphoneos目錄下

生成模擬器版本

要新增模擬器的SDK,那麼怎麼取得本機的SDK版本
xc -showsdks
取的sdk列表,其中有-sdk iphonesimulator9.2
則build 模擬器版本命令為

xc -project My.xcodeproj -sdk iphonesimulator9.2

build為Debug版本

新增 -configuration Debug 則
xc -project My.xcodeproj -configuration Debug

新增證書

大家都知道在Xcode裡怎麼設定證書,就是修改Code Signing Identity和Provisioning Profile。

用命令也是一樣的,就是在命令裡的配置過載了xcodeproj裡面對應的key。直接在命令後加 Key=Value這種形式就可以了。
但是這個值是Xcode轉意過的,可以從Quick Help中得到原始的值,比如 Code Signing Identity是CODE_SIGN_IDENTITY。Provisioning Profile是PROVISIONING_PROFILE
那麼命令為顯然轉意的規則就是全大寫,空格替換為下劃線。

在Xcode裡面Provisioning Profile是字串形式,這個也是被Xcode替換過的,原始形式是UUID。可以選中Provisioning Profile,選擇other,得到UUID的形式。

xc -project My.xcodeproj “CODE_SIGN_IDENTITY=iPhone Distribution: XXXXXXX” PROVISIONING_PROFILE=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

新增巨集

同修改證書一樣,新增巨集也是過載xcodeproji裡面的配置
GCC_PREPROCESSOR_DEFINITIONS=”${inherited} XXXXX”

打包為ipa

打包為ipa,要先build為Archive形式,在由Archive生成ipa檔案

生成Archive

需要新增 -configuration build archive標誌和scheme
xc -project My.xcodeproj -configuration build archive -archivePath my.xcarchive -scheme My

生成ipa

需要指定archive的路徑和匯出的格式
xc -exportArchive -archivePath my.xcarchive -exportFormat ipa -exportPath my

但是這裡如果要簽名的話,profile又是轉意後的名字,不在是UUID的形式,比如
-exportProvisioningProfile “com-my-profile”