一般打包采用xcodebuild和xcrun两个命令,xcodebuild负责编译,xcrun负责将app打成ipa。web
/usr/bin/xcodebuild -target targetName clean
/usr/bin/xcodebuild -target targetName
三、打包xcode
/usr/bin/xcrun -sdk iphoneos PackageApplication -v path/To/xxx.app -o xxx.ipa
若是是含签名的包,上面两个命令须要增长一些参数。app
xcodebuild -target targetName CODE_SIGN_IDENTITY="iPhone Distribution:XXXXXX" xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径 --sign "iPhone Distribution:XXXXXX"
自动打包步骤:iphone
//建立钥匙链 security create-keychain -p myapp myapp.keychain //解锁,不然回弹框等待输入密码 security unlock-keychain -p myapp myapp.keychain //导入证书 security import /opt/myapp.p12 -k myapp.keychain -P mypassword -T /usr/bin/codesign
三、以MyApp.app为模板,copy一个备份,而后进行各类资源的替换,好比替换了应用的图片文件等ide
四、替换对应的*.mobileprovision文件到MyApp.app目录ui
五、删除MyApp.app下的签名信息_CodeSignaturespa
六、修改info.plist Bundle indentifier和*.mobileprovision一致code
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>application-identifier</key> <string>Z4LR7CBRUD.com.yesun.vic</string> <key>aps-environment</key> <string>production</string> <key>get-task-allow</key> <false/> </dict> </plist>
八、重签名codesignorm
/usr/bin/codesign --force --sign 9c8b212f6a2c2382847b104e387a01b246d4ce42 --resource-rules=MyApp.app/ResourceRules.plist --entitlements MyApp.xcent Mkey3G.app
九、生成ipa包xml
/usr/bin/xcrun -sdk iphoneos PackageApplication -v MyApp.app -o MyApp.ipa --sign 9c8b212f6a2c2382847b104e387a01b246d4ce42 --embed MyApp.app/embed.mobileprovision
十、删除钥匙链
security delete-keychain myapp.keychain