使用命令列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”