5

这不是冗余问题!我的问题与使用 FLoginView的 facebook 登录非常相似, 但未在 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;
}

该应用程序可以在模拟器上运行,但我看不到 Facebook 的蓝色登录按钮。

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

有人遇到过并解决了这种问题吗?

编辑- 我发现了一些新的线索

警告:跳过文件'/Users/Digiflex/Dropbox/Dev/XxxxXxxx Project/XxxxXxxx/../../Facebook API SDK/FacebookSDK/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle'

任何想法?

(框架和库构建阶段出现意外的文件类型“wrapper.plug-in”)

4

1 回答 1

20

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

不要这样做: 不要将FacebookSDKResources.bundle添加为框架(就像我所做的那样),方法是转到项目编辑器,选择您的目标,选择摘要选项卡,然后点击链接框架上的“+”按钮,然后库列表。

不要这样做

改为:FacebookSDKResources.bundle添加为资源(因为它实际上就是这样)。去做这个:

  1. 转到项目编辑器
  2. 选择你的目标
  3. 转到构建阶段选项卡
  4. 展开复制捆绑资源列表并点击底部的“+”按钮
  5. 在以下提示中,单击“添加其他...”
  6. 找到 FacebookSDKResources.bundle 并点击“打开”
  7. 您可以选择将资源复制到项目的文件夹中。在我看来,这并不是真的必要。

改为这样做

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

于 2013-03-27T22:17:57.773 回答