ios7 – 在IOS 7.0上崩溃的应用程序在7.1上工作正常

我已经构建了一个适用于
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?

最佳答案 OSAtomicDecrement32位于OSAtomic.h中.在多线程程序中实现锁定或保留计数时,它很有用.

它被标记为仅在7.1及以上(在iPhone上)可用,这就是你崩溃的原因.

__OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_7_1)
int32_t OSAtomicDecrement32( volatile int32_t *__theValue );
点赞