【问题标题】:App works on device via direct install but doesn't via ipa应用程序通过直接安装在设备上运行,但不通过 ipa
【发布时间】:2012-01-17 19:21:08
【问题描述】:

我一直在网上冲浪,但没有找到解决这种情况的方法(尽管我觉得这很令人惊讶,因为我不敢相信我是第一个遇到这种情况的人)。也许我不知道找到它的正确关键字...

我的问题是我使用 XCode 4.2 构建了一个 iOS 应用程序并测试它直接在带有 iOS 4.2.1 的 iPhone 3G 中运行,并且一切都按预期运行。 但是,如果我构建一个 .ipa 并将其安装在同一台设备上(我之前曾在该设备上卸载过以前安装的应用程序),它会完美安装,并且几乎所有应用程序都可以正常工作……但对于一个无法正常工作的地方正确。

我没有详细说明到底发生了什么,因为它是以前在其他设备的其他应用程序中发生的事情(即 ipad 1、iphone 4...)(一旦我发现直接编译和执行to a Device 让未初始化的 rect 被添加到某些东西,而在 .ipa 中它崩溃了(我认为它是一个 SIG_ABRT 但不确切知道)。

这种情况在任何地方都有记录吗?哪些案例以一种方式编译而其他案例不编译?

提前致谢!

【问题讨论】:

  • 请在此处粘贴崩溃日志,以便我们了解发生了什么。
  • 这可能与您的编译器设置有关。通常,ipa 会将编译器优化设置为-Os(最快,最小)。这可能会导致竞争条件。
  • dtuckernet 没有崩溃日志,因为这里没有崩溃,只是一些绘图(使用 2D 绘图功能)没有按应有的方式工作。山姆,我会用标志尝试一些东西,看看会发生什么。
  • Sam,我已经编译了没有优化的 ipa,一切正常!感谢您的建议;)

标签: ios compilation ipa


【解决方案1】:

在构建设置的“Apple LLVM 编译器 4.1 - 代码生成”部分中,尝试将优化级别选择为“无”。

【讨论】:

  • 感谢您指定确切的设置更改!
【解决方案2】:

Philip J. Fry 的回答:“尝试在构建设置的“Apple LLVM 编译器 4.1 - 代码生成”部分中为优化级别选择“无”。”

“Apple LLVM 编译器 8.1 - 代码生成”今天仍然是正确答案

小心更改目标和项目...

【讨论】:

  • 感谢您跟踪新版本的问题 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
相关资源
最近更新 更多