您的位置:首页 > 移动开发 > IOS开发

iOS自动打包流程

2015-08-11 21:43 435 查看
通常采用xcodebuild和xcrun两个命令,xcodebuild负责编译,xcrun负责将app打成ipa
基本步骤如下:1. 清理工程xcodebuild -targettargetName clean2. 编译工程xcodebuild -targettargetName3.  打包xcrun -sdk iphoneosPackageApplication -v path/To/xxx.app -oxxx.ipa如果包含签名,上面命令增加参数可得:xcodebuild -targettargetName CODE_SIGN_IDENTITY="iPhoneDistribution:XXXXXX"
xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径 --sign "iPhone Distribution:XXXXXX"


自动打包步骤:

1. 先用xocde手动编译好一个App,假设为MyApp.app

2. 导入证书文件到MAC的钥匙链

//创建钥匙链


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


3. 以MyApp.app为模板,copy一个备份,然后进行各种资源的替换,比如替换了应用的图片文件等
4. 替换对应的*.mobileprovision文件到MyApp.app目录5. 删除MyApp.app下的签名信息_CodeSignature6. 修改info.plist Bundle indentifier和*.mobileprovision一致(借助PlistBuddy)7. 修改MyApp.xcent中application-identifiervalue值为对应证书名称,可以以一个xcent为模板,注意如果没有aps-environment关键字,打出来的ipa包将没有apns模块,格式如下:
<?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>
8. 重签名codesign
/usr/bin/codesign --force --sign 9c8b212f6a2c2382847b104e387a01b246d4ce42 --resource-rules=MyApp.app/ResourceRules.plist --entitlements MyApp.xcent Mkey3G.app

9. 生成ipa包


/usr/bin/xcrun -sdk iphoneos  PackageApplication -v MyApp.app -o MyApp.ipa  --sign  9c8b212f6a2c2382847b104e387a01b246d4ce42 --embed MyApp.app/embed.mobileprovision

10. 删除钥匙链

security delete-keychain myapp.keychain
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios ipa ci build