使用xcodebuild命令,下面把xcodebuild别名为xc
xc -project My.xcodeproj
默认会在工程目录下生成build目录,默认是release版本,在Release-iphoneos目录下
要添加模拟器的SDK,那么怎么取得本机的SDK版本
xc -showsdks
取的sdk列表,其中有-sdk iphonesimulator9.2
则build 模拟器版本命令为
xc -project My.xcodeproj -sdk iphonesimulator9.2
添加 -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,要先build为Archive形式,在由Archive生成ipa文件
需要添加 -configuration build archive标志和scheme
xc -project My.xcodeproj -configuration build archive -archivePath my.xcarchive -scheme My
需要指定archive的路径和导出的格式
xc -exportArchive -archivePath my.xcarchive -exportFormat ipa -exportPath my
但是这里如果要签名的话,profile又是转意后的名字,不在是UUID的形式,比如
-exportProvisioningProfile “com-my-profile”