应用商店升级后应用程序崩溃

4
我刚刚发布了一个新版本的应用程序到苹果,苹果已经批准了。这个版本对于新用户来说非常好用,但是对于“老”用户来说,应用程序会崩溃。他们必须卸载应用程序,然后重新安装。
我有一些用户仍在运行3.1.3版本,即使卸载和重新安装后也会看到应用程序崩溃。
以下是我的一个用户的崩溃日志:
日期/时间:2010-11-25 17:29:00.476 +0100 操作系统版本:iPhone OS 3.1.3 (7E18) 报告版本:104
异常类型:EXC_BREAKPOINT (SIGTRAP)异常代码:0x00000001, 0xe7ffdefe崩溃线程:0
Dyld错误消息:找不到符号:__NSConcreteGlobalBlock 引用自: /var/mobile/Applications/2B003960-53A3-479A-9132-FE38C4AE88A2/stationen.app/stationen 期望在: /usr/lib/libSystem.B.dylib中 /var/mobile/Applications/2B003960-53A3-479A-9132-FE38C4AE88A2/stationen.app/stationen Dyld版本:149
这对我来说没有任何意义,有人能帮我吗? 应用程序在我的iPhone 4上运行良好,运行着4.1。
问候, Paul Peelen
2个回答

3

您是否在使用Flurry?如果是,您可能需要查看此FAQ页面

从该页面中可以得到以下信息:

为支持OS 3.x,请将Base SDK设置为iPhone Device 4.0,iPhone OS Deployment Target设置为iPhone OS 3.0。如果在3.x下出现NSConcreteGlobalBlock和UIBackgroundTaskInvalid运行时错误,则可能需要额外的链接器标志。链接器标志如下:weak_framework UIKit weak_library /usr/lib/libSystem.B.dylib


是的,我正在使用Flurry。错过了那个。我确实有一个弱的UIKit链接器标志,但那是因为后台运行。我会查一下的。谢谢! - Paul Peelen
1
在XCode 4中,您可以选择将“UIKit.framework”和“libSystem.B.dylib”添加到构建阶段,并将它们标记为“可选项”。 - adib

1
Dyld Error Message: Symbol not found: __NSConcreteGlobalBlock

这意味着您正在使用__NSConcreteGlobalBlock,但设备上找不到它。

如果您的应用程序中使用了块,则必须至少要求iOS 4.0。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接