为什么 自动化打包可以打出包,但是包的内容与代码内容不符?

 

 首先打包的核心命令就只有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

调试的办法:

  1. 通过xcode建立1个helloWorld工程
  2. 在main.storyboard画一个label,随便写点什么内容,如:这是label1
  3. 通过xcode导出一个ipa包得到 ExportOptions.plist文件:product >>archive>>distributeAPP... 
  4. 将生成的 ExportOptions.plist复制到指定位置。(上面打包命令第14行 -exportOptionsPlist 后面的路径--自己定义)
  5. 通过命令行生成ipa包
  6. 将生成的ipa包上传到蒲公英,安装,这时在ios手机上可以看到label展示的内容是:这是label1
  7. 在xcode中改一改label,如:改了label
  8. 再次执行打包命令,上传蒲公英,安装应用。
  9. 在Ios中查看label的内容是不是改成了:改了label
  10. 如果已经修改内容,证明打包缓存都清理干净了,如果没有修改,则检查log输出,xcarchive是不是生成成功了

 

原文地址:https://www.cnblogs.com/kaerxifa/p/11358820.html