iOS持续集成实现Jenkins下多Scheme打包

前言

我们的app是使用多Scheme对应多环境, 测试时会打包出三个app, 分别对应三个环境. 实现参考手把手教你给一个iOS app配置多个环境变量 - 简书, jenkins的配置可自行百度.本篇文章主要讲解使用shell脚本构建项目的相关配置.

shell脚本代码

相关代码:

#工程环境路径

workspace_path=.

#工程名称

project_name=XXXX

#scheme名称

scheme_name=XXX_Test

#打包类型

configuration_type=XXX_Debug

#ipa导出配置文件名

ExportOptionsPlist_name=ExportOptions_Test.plist

echo "清除缓存文件"

xcodebuild clean

rm -rf archive

rm -f $scheme_name.ipa

echo "打ipa包"

sed -i '' 's/\app-store\<\/string\>/\development\<\/string\>/' $ExportOptionsPlist_name

sed -i '' 's/ProvisioningStyle = Automatic;/ProvisioningStyle = Automatic;/' $project_name.xcodeproj/project.pbxproj

echo "编译生成app命令"

xcodebuild archive -workspace $project_name.xcworkspace -scheme $scheme_name -configuration $configuration_type -archivePath archive/$project_name.xcarchive

echo "生成ipa"

xcodebuild -exportArchive -exportOptionsPlist $ExportOptionsPlist_name -archivePath archive/$project_name.xcarchive -exportPath ./ -configuration $configuration_type -allowProvisioningUpdates

相关代码变量解读

"workspace_path":工程路径变量 直接给"."就好

"project_name":工程名称


project_name


"scheme_name":"scheme的名称


scheme_name

"configuration_type": Debug或者Release

"ExportOptionsPlist_name": xcode9之后需要的打包配置不同的环境需要不同的ExportOptionsPlist文件, 需要在工程里创建添加plist文件


plist文件内容


plist文件内容

ProvisioningStyle 选择Automatic自动模式, 最后在xcode9之后需要添加-allowProvisioningUpdates. 然后不同环境配置不同的任务即可, 也可以使用一个任务将这些配置参数化. 最后在xcode9上 多scheme打不同的包会报证书不匹配的错误:"Automatic signing is unable to resolve an issue with the "xxx.app" target's entitlements."


此时可在buildSettings下面的Packaging 设置Product Bundle Identifier 和 info.plist文件中的Bundle Identifier一致即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广...
    偏偏就是祢阅读 9,038评论 34 59
  • {"keys":[{"key2":"余华","key":"活着","url":"https://www.jians...
    书籍数据记录阅读 547评论 0 0
  • 你说 我会因为你的努力而感到满意 我记住了哦! 请你要一直坚守承诺 哪怕多年后的你 已不是那么如现在这般在意我的想...
    关尔七Vivian阅读 190评论 0 0
  • 九周的总结 这个学期已经过去一半了,总体来说我感觉这学期没有上学期状态好,收获不是很多,在英语方面...
    17数430贾琪阅读 183评论 0 0
  • 今天聊天同理心吧。同样的文章,不同时间去阅读,也会获得不同的认知理解。换位思考🤔在生活中真的很重要,只有多多假设...
    黄胖纸的世界阅读 103评论 0 0