Facebook iOS SDK和iOS6

Facebook iOS SDK和iOS6,ios6,facebook-ios-sdk,Ios6,Facebook Ios Sdk,我目前正在尝试在3.14.1版本中使用Facebook SDK官方pod(也尝试了3.9,结果相同),但我偶然发现了一个问题 这是我的密码: self->_session = [[FBSession alloc] initWithAppID:[[self class] facebookAppId] permissions:self.mandatoryPermissions

我目前正在尝试在3.14.1版本中使用Facebook SDK官方pod(也尝试了3.9,结果相同),但我偶然发现了一个问题

这是我的密码:

self->_session = [[FBSession alloc] initWithAppID:[[self class] facebookAppId]
                                      permissions:self.mandatoryPermissions
                                  urlSchemeSuffix:nil
                               tokenCacheStrategy:[FBSessionTokenCachingStrategy defaultInstance]];


[self->_session openWithBehavior:FBSessionLoginBehaviorWithFallbackToWebView
               completionHandler:^(FBSession *session,
                                       FBSessionState state,
                                       NSError *error)
{
    [self sessionStateChanged:session
                        state:state
                        error:error];
}];
这一点从facebook提供的代码示例中得到了很大启发:#步骤1b:使用自定义类打开会话

问题是:

dyld: lazy symbol binding failed: Symbol not found: _OSAtomicDecrement32
  Referenced from: /var/mobile/Applications/01DD5CE2-39A9-40AE-A8FC-170F7387D434/Dubb.app/Dubb
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _OSAtomicDecrement32
  Referenced from: /var/mobile/Applications/01DD5CE2-39A9-40AE-A8FC-170F7387D434/Dubb.app/Dubb
  Expected in: /usr/lib/libSystem.B.dylib
通过查看他们的SDK代码,我看不到
OSAtomicDecrement32
在它不存在的情况下的回退,事实上它是从iOS 7.1开始存在的

有什么建议吗


谢谢

我删除并重新安装了我的播客

然后我不得不将一条导入语句从:

#import <FacebookSDK/Facebook.h>
#导入

#导入

重新构建了所有内容,并成功运行。

在iOS7.0上出现同样的问题后,我实际上理解了这里发生的事情

OSAtomicIncrement32调用在iOS>=7.1上定义为它自己的函数,但在iOS<7.1时也定义为对其他函数的内联调用

使用正确的定义取决于最小部署目标,在我的podfile中该目标被设置为“7.1”。将其更改为:

平台:ios,“7.0”

解决了这个问题

#import <FacebookSDK/FacebookSDK.h>