为什么 自动化打包可以打出包,但是包的内容与代码内容不符?
首先打包的核心命令就只有3行:
1 ## 切换到HelloWorld.xcworkspace所在目录
2 cd /Users/5i5j/Desktop/test/HelloWorld
3
4 echo -e "============First Build Clean============"
5 ## 清理缓存
6 xcodebuild clean -workspace HelloWorld.xcworkspace -scheme HelloWorld -configuration Release
7
8 echo -e "============Build Archive============"
9 ## 导出archive包
10 xcodebuild archive -workspace HelloWorld.xcworkspace -scheme HelloWorld -archivePath build/HelloWorld.xcarchive -configuration Release
11
12 echo -e "============Export IPA============"
13 ## 导出IPA包
14 xcodebuild -exportArchive -archivePath build/HelloWorld.xcarchive -exportPath /Users/5i5j/Desktop/test/build/HelloWorld -exportOptionsPlist /Users/5i5j/Desktop/test/build/ExportOptions.plist
分别是 清理缓存|导出archive包|导出ipa包
首先查看一下日志,只有当成功导出archive包时,才能打出正确的包。
如果日志中显示archive faild,那就说明生成ipa包时用的还是以前的archive主件,所以可以正常打出包,但是包的内容却没有展示更新的代码内容。
解决办法:
step1:到archive文件的存储目录,将原来的archive文件删除后再重新试一下,能不能打包成功。
step2:在shell命令构建脚本前,先把archive文件删除,再执行打包命令
rm build/HelloWorld.xcarchive
调试的办法:
- 通过xcode建立1个helloWorld工程
- 在main.storyboard画一个label,随便写点什么内容,如:这是label1
- 通过xcode导出一个ipa包得到 ExportOptions.plist文件:product >>archive>>distributeAPP...
- 将生成的 ExportOptions.plist复制到指定位置。(上面打包命令第14行 -exportOptionsPlist 后面的路径--自己定义)
- 通过命令行生成ipa包
- 将生成的ipa包上传到蒲公英,安装,这时在ios手机上可以看到label展示的内容是:这是label1
- 在xcode中改一改label,如:改了label
- 再次执行打包命令,上传蒲公英,安装应用。
- 在Ios中查看label的内容是不是改成了:改了label
- 如果已经修改内容,证明打包缓存都清理干净了,如果没有修改,则检查log输出,xcarchive是不是生成成功了