iOS- Facebook- FBLogin View不显示HelloFacebookSample之类的登录按钮

时间:2013-02-28 15:01:08

标签: ios facebook-ios-sdk

这不是冗余问题!我的问题与facebook login using FBloginView not showing in ios 6非常相似但不一样!

我尝试将HelloFacebookSample代码迁移到我的项目中。 我仔细检查并比较了两个代码。没有关键的区别。

- (void)viewDidLoad
{
    [super viewDidLoad];

    FBLoginView *loginView = [[FBLoginView alloc] init];
    loginView.frame = CGRectOffset(loginView.frame, 45, 45);
    loginView.delegate = self;
    [self.view addSubview:loginView];
    [loginView sizeToFit];
}

并委托

#pragma mark - FBLoginViewDelegate

- (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView {
    self.facebookLogInButton.enabled = YES;
}

- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView
                            user:(id<FBGraphUser>)user {

    self.labelFirstName.text = [NSString stringWithFormat:@"Hello %@!", user.first_name];
    self.profilePic.profileID = user.id;
    self.loggedInUser = user;
}

- (void)loginViewShowingLoggedOutUser:(FBLoginView *)loginView {
    BOOL canShareAnyhow = [FBNativeDialogs canPresentShareDialogWithSession:nil];
    self.facebookLogInButton.enabled = canShareAnyhow;
    self.profilePic.profileID = nil;
    self.labelFirstName.text = nil;
    self.loggedInUser = nil;
}

App CAN可以在模拟器上运行,但我看不到facebook的蓝色登录按钮。

我重新导入了FacebookSDK.framework,FacebookSDKResources.bundle等。与示例代码完全相同。它仍然没有显示Facebook登录按钮。

任何人都有并解决了这种问题吗?

修改 - 我发现了一些新的踪迹

  

警告:正在跳过文件'/ Users / Digiflex / Dropbox / Dev / XxxxXxxx   Project / XxxxXxxx /../../ Facebook API   SDK / FacebookSDK / FacebookSDK.framework /版本/ A /资源/ FacebookSDKResources.bundle'

有什么想法吗?

(Frameworks&amp; Libraries构建阶段中的意外文件类型'wrapper.plug-in')

1 个答案:

答案 0 :(得分:20)

我遇到了同样的问题,这是我找到的解决方案:

请勿这样做: 不要将 FacebookSDKResources.bundle 添加为框架(就像我一样),转到项目编辑器,选择目标,选择摘要选项卡,然后点击链接上的'+'按钮框架和库列表。

Don't do this

做这件事: 添加 FacebookSDKResources.bundle 作为资源(因为它实际上就是这样)。要做到这一点:

  1. 转到项目编辑器
  2. 选择目标
  3. 转到Build Phases选项卡
  4. 展开Copy Bundle Resources List并点击底部的“+”按钮
  5. 在以下提示中,点击“添加其他...”
  6. 找到FacebookSDKResources.bundle并点击“打开”
  7. 您可以选择将资源复制到项目的文件夹中。在我看来,这不是必要的。
  8. Do this instead

    <强> OBS: 我不确定这是否真的解决了您遇到的Facebook登录按钮的问题,因为我没有在我正在处理的特定项目中使用此按钮。但是,我认为它应该有效。