从 TestFlight 安装的版本出现问题

前段时间遇到这样一个问题,就是从 TestFlight 下载的版本,在 iPhone 6s Plus iOS 11.2.1 上正常,而在 iPhone 5 iOS 10.1 上有个字符串显示不全,直接编译运行到 iPhone 5 时,这个字符串是正常的,改变 Scheme 的 Build Configuration 为 Release,这个字符串就又显示不全了,如果直接编译运行到 iPhone 6s Plus 也是正常的,显然,很容易让人推测是由于编译器针对 32 位优化导致的,同时也说明代码有问题。
经过跟踪调试,锁定了如下代码:
x = (size_t )&option_delta;
do
{
if (
x==13)
{
x += current_option[0];
++current_option;
}
else if (
x==14)
{
*x += 255;
*x += current_option[0]<<8;
++current_option;
*x += current_option[0];
++current_option;
}
}
while (x!= &option_length && (x= &option_length));

最终,把 unsigned int *x 改为 size_t *x 解决了这个问题。
再早之前也遇到过一个类似的问题,就是在开发时是正常的,而从 App Store 下载的版本就是不正常的。查看代码发现 Byte pBuffer[total1],数组没有初始化,当然,这句代码不是我写的,改为 Byte pBuffer[total1] = {0} 即解决了此问题。
看来,在测试时,一定要拿 TestFlight 中的版本来测啊!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,912评论 0 9
  • JAVA面试题 1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域 ...
    JA尐白阅读 4,894评论 1 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,906评论 0 4
  • 2017年暑假,我去了美国东部旅游,和我同行的还有HK姐姐,CC妹妹,妈妈,大姑和二婶。这是响应妈妈的“行走世...
    陈馆长阅读 3,858评论 0 1
  • 只是喜欢这架花
    西瓜菇娘阅读 1,229评论 0 0

友情链接更多精彩内容