最近在不连网的机器上,尝试打包unity生成的xcode工程,遇到一些问题,记录以下;xcode
xcode自己须要登陆才能执行打包,签名等工做,而使用xcodebuild 命令行,就能够只使用证书和私有钥匙,以及provision 文件进行自动打包。app
xcode 7.3.1最新版本网站
xcodebuild clean archive -archivePath xxx.xcarchive -scheme Unity-iPhoneui
在Unity生成的xcode工程中,执行上面的命令将会生成一个 xxx.xcarchive 文件,也就是至关于xcode的archive命令生成的文件。 包括:dsym 符号表, xxx.app 能够上传的程序命令行
xcodebuild -verbose -exportProvisioningProfile "provisionFileName" -exportArchive -exportFormat ipa -archivePath xxx.xcarchive -exportPath xxx.ipa CODE_SIGN_IDENTITY="iPhone Developer:xxxxxx (xxxx) "code
将上一行命令生成的xcarchive 签名打包为一个ipa。orm
若是是越狱机器,能够直接将 xxxx.app 拷贝到一个 Payload 文件夹里面,而后zip压缩便可, 对于非越狱机器,须要对每一个文件签名,才能安装。ip
其中CODE_SIGN是证书类型,根据要打包 开发者包 仍是 发布的adhoc 或者 store商店包,选择开发证书或者发布证书。这个能够在本身的keychain中看到证书名字。开发
provisionFile 是本机的prov文件,从苹果的 developer.apple.com 网站下载下来,双击安装,而后 在参数里面写入 prov文件名字便可。it
经过这两个命令能够实现 编译和打包,时间比较久,由于编译时从头开始编译的。
若是换证书签名,只须要执行下面那步便可。
快速发布越狱版本,能够直接调用xcodebuild 便可, 生成出来的xxx.app 能够手动放到一个Payload 名字文件夹便可, 而后zip -r 压缩打包便可。