4

我已经构建了一个在 IOS 7.1 上运行良好的应用程序,但是在 IOS 7.0 上安装时它会崩溃并显示以下日志:

dyld: lazy symbol binding failed: Symbol not found: _OSAtomicDecrement32
      Referenced from: /var/mobile/Applications/80FCE91D-EAB5-4321-A157-4A05EA40C07C/MyAPP.app/MyAPP
      Expected in: /usr/lib/libSystem.B.dylib
Aug 16 14:42:00 LAWR3NCEde-iPhone MyAPP[14925] <Notice>: dyld: Symbol not found: _OSAtomicDecrement32
      Referenced from: /var/mobile/Applications/80FCE91D-EAB5-4321-A157-4A05EA40C07C/MyAPP.app/MyAPP
      Expected in: /usr/lib/libSystem.B.dylib

该应用程序使用 Facebook SDK 和 MSDynamicsViewController(使用 UIKit)。知道这条消息是什么意思吗?这个 OSAtomicDecrement32 是什么?

4

1 回答 1

2

OSAtomicDecrement32 在 OSAtomic.h 中。在多线程程序中实现锁或保留计数时很有用。

它被标记为仅在 7.1 及更高版本上可用(在 iPhone 上),这就是您崩溃的原因。

__OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_7_1)
int32_t OSAtomicDecrement32( volatile int32_t *__theValue );
于 2014-10-28T23:45:51.147 回答