Application crashed on iOS 7.0 works fine on 7.1

I created an application that works well on iOS 7.1, but when it is installed on iOS 7.0, it crashes with the following logs:

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

The application uses the Facebook SDK and MSDynamicsViewController (which uses UIKit). Any idea what this message means? And what is this OSAtomicDecrement32?

+4
source share
1 answer

OSAtomicDecrement32 is located in OSAtomic.h. This is useful when introducing locks or holding counters in a multi-threaded program.

It is marked as available only on 7.1 and above (on iPhone), so you crash.

__OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_7_1)
int32_t OSAtomicDecrement32( volatile int32_t *__theValue );
+2
source

All Articles