我意识到这是一个延伸,我不能提供太多信息来帮助我,但我正在寻求任何帮助。我的应用程序已经持续发展3年,从未见过这样的事情。我最近向Apple发布了一个小点发布版本,现在两次因为所有设备上的Crashing on Launch而被拒绝了吗?
Crash报告指向静态库中的一些代码,但关键行没有得到符号化。试过Atos没有运气。
关键是我有7个设备我已经在我能想到的每种模式下测试了应用程序,特别是没有任何连接:Wifi-OFF,AirplaneMode-ON,位置服务-OFF。我永远无法模拟他们声称会看到的内容,每次发布都会导致App崩溃?!
我在AAPL开发论坛中发现了一个听起来相似的报告,但他从来没有得到任何解释。他提交了一个带有大量登录信息的应用程序,并要求他们发送日志。他们得到了那个版本并且......在几个小时内批准了它。
任何人都有任何想法。我需要发布这个版本。
注意:已解决
原来这不是一个弱链接问题。我们只是在Brad使用Ad Hoc发布版本的应用程序运行应用程序时看到崩溃...这样做很有帮助。
然而,分辨率结果是我在此处列出的一些编译器标志:
https://stackoverflow.com/a/10302012/754494
答案 0 :(得分:12)
我会重新发布并扩展我上面的评论,以便这个问题可以得到一个接受的答案。
我最近在构建我的GPUImage框架时遇到了类似的情况。在归档时,构建过程似乎与通过Xcode在设备上构建和直接安装应用程序时略有不同。
这可以通过构建和归档应用程序,然后选择分发它以进行临时或企业分发来公开。拿起.ipa并将其放在iTunes中,然后手动将其加载到您的某个测试设备上。以这种方式准备的应用程序的行为可能与通过Xcode构建和安装的应用程序的行为不同,并且应该更接近提交审核的构建将如何行动。
在我的情况下,问题是由于缺乏适当的弱连接。在比iOS 4.3更新的SDK上,如果您希望有条件地使用较新的SDK中存在但在较旧的SDK中缺少的类和函数,则不再需要弱链接整个框架。如果您的目标是4.0及更高版本,则链接器现在应该执行类级和功能级弱链接。
然而,对于使用我的静态库的人来说,这是失败的,静态库会对iOS 5.0中新纹理缓存函数的运行情况进行运行时检查,但它只在这些存档的构建中失败。我在针对4.x设备的所有测试中都没有看到它,因为这是通过Xcode安装完成的。最后,我需要让用户明确地弱化整个Core Video框架的链接,以便使用该框架的应用程序在通过iTunes存档和安装时正常运行。
请注意,这不是由于Release vs. Debug构建配置,因为我尝试在我的构建方案中通过Xcode部署到设备时切换它们,并且它没有区别。构建和链接存档应用程序的方式也有所不同。