gpt4 book ai didi

ios - 使用临时分发的设备崩溃

转载 作者:可可西里 更新时间:2023-11-01 03:21:32 27 4
gpt4 key购买 nike

突然之间,我通过 Testflight 和 iTunes-sync 进行的临时分发不再有效。使用临时构建配置分发的应用程序永远不会在设备上完全启动。它立即崩溃并出现段错误 11。

这个问题的奇怪之处在于调试版本在下面提到的所有设备上都能完美运行。这让我相信我的 project.pbxproj 中有些东西搞砸了。 .但是当我查看 git-log 时,我没有发现任何异常,唯一改变的是架构 (ARCHS) 和有效架构 (VALID_ARCHS )。

我是否正确地假设弄乱架构不应该在启动时而是在构建过程中导致实际错误?

一些背景:
另外值得一提的是,我同时安装了 Xcode 4.4.1 和 4.5 GM,当我将 GM 升级到来自 App Store 的 GM 时,它也删除了我的 Xcode 4.4.1 备份。在那个小问题之后,我删除了所有版本的 Xcode,重新启动并再次安装了 4.4.1 版(这样我就可以为 armv6 构建)。

有关如何进行此调试的任何有用提示对我来说都非常有值(value)。
谢谢你的时间。<3

来自设备的控制台打印和崩溃日志:
- https://gist.github.com/3781018
如果需要,我可以添加更多日志。

当前环境:
- Xcode 版本 4.4.1 (4F1003)
- Mac 操作系统版本 10.8.2

项目设置 (pbxproj):
- https://gist.github.com/3780985

测试的设备:
- iPhone 3GS iOS 6
- iPhone 3G iOS 4.2.1
- iPad 第二代 iOS 5.1.1
- iPhone 4S iOS 5.1.1
- iPhone 4 iOS 6.0
- iPhone 4S iOS 6.0

更新
为了继续调试,这是我尝试过的:
1. 跳过 Testflight 并使用老派的方式通过 iTunes 发布临时文件。 失败 2. 重新安装配置文件失败
2. 在我的机器上创建一个新用户并重新安装 Xcode。 失败
3. 从另一台机器构建。 失败
4. 将优化级别设置为:-O0 FAIL

即使我确定没有任何代码被更改,我也没有看到其他合理的解释。所以我开始在 git 中恢复项目,从我成功发布临时版本的那一天开始。令我惊恐的是,我注意到同样的段错误在时间结构中跟随我!
考虑到这一事实,只剩下一个行动了;一种非常强大的调试方式,我将其命名为“喷洒和祈祷”。 =) 换句话说,我开始注释掉代码的各个部分,看看是否有任何不同,令我完全惊讶的是它确实如此。在禁用和启用部分应用程序几个小时后,我找到了罪魁祸首:从未保留静态 NSArray。真正让我震惊的是,数组的实际初始化自 2010 年以来一直看起来都一样。那么到底为什么现在突然导致内存错误呢?为什么静态分析器没有就此警告我们?

我现在太累了,无法立即回答这些问题,我会尝试用更多细节更新问题,希望明天也能得到答案。
再次非常感谢迄今为止提供帮助的任何人! <3

最佳答案

看起来问题的原因是并发问题:

Crashed Thread:  1

在这种情况下,可能很难找到并解决问题的根源 (http://en.wikipedia.org/wiki/Unusual_software_bug#Heisenbug)。

可能是您在没有适当同步的情况下从多个线程对一个对象执行某些操作;或者您可能在一个线程(例如线程 0)中释放了对象并试图从另一个线程(线程 1)访问它。

关于ios - 使用临时分发的设备崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12580747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com