Search code examples
ios7facebook-sdk-3.14.x

App crashed on IOS 7.0 works fine on 7.1


I have built an app that works well on IOS 7.1 but when 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 app uses Facebook SDK and MSDynamicsViewController (Which uses UIKit). Any idea what this message mean ? And what is this OSAtomicDecrement32 ?


Solution

  • OSAtomicDecrement32 is in OSAtomic.h. It is useful when implementing locks or retain counts in a multi-threaded program.

    It's marked as being available on 7.1 and up only (on iPhone) which is why you are crashing.

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