iOS App Archive 版本出错的问题 调试和解决方法
来源:互联网 发布:淘宝视频制作 编辑:程序博客网 时间:2024/05/21 14:41
现象:
debug联机调试时无问题
archive出来安装到iPhone运行报错
联机在organizer中看错误日志:
Triggered by Thread: 0
Thread 0 Crashed:
0 SanguoOnline 0x001a763e rijndael_decrypt + 14
1 SanguoOnline 0x001a81f2 decryption + 34
2 SanguoOnline 0x0010a024 cocos2dx_lua_loader + 376
rijndael_decrypt 此方法是用来解密下载的lua文件
为了更好的定位错误根源 Mac连上iPhone后 edit scheme 在Run ***(工程名)更新Build Configuration选择Release 这样保证联机运行的版本与发布版本一致,再运行程序开始调试。
果然在rijndael_decrypt 报错
跟踪代码调试,发现明明一个变量有值但将它赋值给另外一个变量时出错 错误信息: Exception Subtype: EXC_ARM_DA_ALIGN at 0x02dff001
怀疑是编译器问题 尝试修改编译器优化数值:
工程-> Target -> Apple LLVM 5.1 - Code Generation -> Optimization Level -> Release 设置为 None [-O0] (与debug保存一致) 再联机运行调试,问题没有再出现
现在需要单独设置此文件 为不优化,首先把 Optimization Level -> Release 值 改回去
再在 Build Phases 中搜索 rijn 找到对应的文件 点击 Complier Flag 设置为 -O0
再联机进行调试,问题没有出现
再Archive出来 再调试 问题没有出现,至此问题结束
问题关键:
1. 如果Archive 版本有Debug版本不存在的问题,首先修改Scheme将运行方式改完Release以保证联机调试版本一致
2. 如果确实存在通过修改代码逻辑无法修复的问题 需要考虑是否为编译器的bug 调整编译优化值
- iOS App Archive 版本出错的问题 调试和解决方法
- Xcode 4.5 无法生成IOS APP ARCHIVE的解决方法
- 高德IOS真机调试LMAMapKit出错问题的解决方法(directory not found for option)
- ios app开发时遇到的问题和解决方法教程
- iOS调试出错,问题汇总
- iOS真机调试出错解决方法
- 第一次调试微信的Android版本出现的问题和解决方法
- iOS app打包版本问题
- iOS模拟器和真机调试时App的安装文件路径问题
- 调试LED遇到的问题和解决方法
- 调试imx53遇的问题和解决方法
- iOS App Archive & Generic Xcode Archive
- iOS App Archive & Generic Xcode Archive
- Xcode 真机调试 iOS 应用的各种问题和解决方法
- iOS APP archive打包和打包成Ipa
- ECLIPSE调试C++出错的解决方法
- eclipse和jdk的版本问题,比如printf()出错
- 关于spring boot 中App类位置不同导致出错的问题的解决方法
- ArrayAdapter(API分析)
- Coins (HDU 2844) —— 多重背包
- poj 1611
- VirtualBox下安装ubuntu出现单个文件超出了4G的提示
- import org.junit.Test;报错处理
- iOS App Archive 版本出错的问题 调试和解决方法
- 2014-7-15任务完成情况
- 截取指定长度的字符串(汉字不出现半个)
- 很好的技术博文推荐(持续更新)
- 用正向和逆向最大匹配算法进行中文分词(续)
- 【算法】插入排序 insert sort algorithm
- const分别在C和C++语言里的含义和实现机制
- C++中的前向声明
- VC++配置OpenCV