2012-09-27 36 views
2

我想将facebook与我的应用程序集成在一起。我从fb sdk拿了一个示例应用程序,并从那里复制了所需的代码。它看起来很容易。facebook ios sdk 3.1 ios 5.1 xcode 4.5

我根据需要添加了社交,adsupport和帐户框架。我能够建立和链接。但是在运行时,它显示了错误,当我在互联网上搜索时,我知道这些框架仅适用于ios6。

错误,“社交框架从应用程序引用”。当我删除此框架时,adsupport框架也是如此。我试图让这三个为可选框架,但然后它给了这样的错误Facebook iOS SDK 3.1 with XCode 4.2 linker errors

所以,我可以使用sdk 3.1集成fb与我的应用程序,或者我使用3.0或以前的版本?或者一些不同的实施方式?如果我必须使用以前的版本,我该怎么做?

编辑:有一个与“你好脸谱”样本应用程序,它说,它的要求是IOS4.0自述文件

+1

去检查了这一点: (有你正在寻找的解决方案。) http://stackoverflow.com/questions/12610078/facebook-sdk-3-1-for-ios-runs-on-ios6-but-crashes-on-ios- 5-x –

+0

对不起,我没有发布解决方案ñ工作。我曾使用过您提供的链接,但无法使用。问题出在我的plist身上。我在plist(URL类型/方案)中输入了'fb '。 fb和fb id之间的“空间”导致了所有问题:P – neeraj

回答

0

这是一样多的,以避免使用功能的iOS 6.0来自Facebook的SDK!

使用Facebook SDK 3.0并做相反的步骤,在显示

https://developers.facebook.com/docs/tutorial/iossdk/upgrading-from-3.0-to-3.1/

  • 删除已添加Additiona升框架依赖
  • 变化处理的Facebook登录取消流量
  • 变化openSessionWithAllowLoginUI的返回值:(BOOL)allowLoginUI实施

//对于FaceBookSDK 3.1

[FBSession openActiveSessionWithReadPermissions:nil 
        allowLoginUI:allowLoginUI 
       completionHandler:^(FBSession *session, 
            FBSessionState state, 
            NSError *error) { 
             [self sessionStateChanged:session 
                  state:state 
                  error:error]; 
            }]; 

//For FaceBookSDK 3.0 use this 

[FBSession openActiveSessionWithPermissions:nil 
           allowLoginUI:allowLoginUI 
          completionHandler:^(FBSession *session, 
               FBSessionState state, 
               NSError *error) { 
           [self sessionStateChanged:session 
                state:state 
                error:error]; 
              }];