1

我在 iOS 中从头开始一个应用程序,它使用 Facebook 登录。我找不到使用情节提要的教程;他们都使用 .xib 文件,即使在 Facebook 教程中也是如此。

是否建议将 .xib 文件用于 Facebook 连接应用程序?如果是,为什么?

4

2 回答 2

1

好吧,终于没那么难了。我发现这个:在应用程序启动时从故事板中选择替代的第一个视图控制器 它非常相似,所以这是我个人的实现。

在情节提要中创建两个视图,对我来说它们被命名为 SCViewController 和 SCLoginViewController(我放置了相同的类名和情节提要 ID)。然后添加一个导航控制器,并放置指向导航控制器上显示的第一个元素的箭头。

然后,在应用程序委托实现文件中,将其添加到 didFinishLaunchingWithOptions 函数中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // See if the app has a valid token for the current state.
    if (FBSession.activeSession.state == FBSessionStateCreatedTokenLoaded) {
        // Yes, so just open the session (this won't display any UX).
        [self openSession];
    } else {
        // No, display the login page.
        [self showLoginView];
    }

    return YES;
}

并添加功能:

- (void)showLoginView
  {
            NSBundle *bundle = [NSBundle mainBundle];
            NSString *sbFile = [bundle objectForInfoDictionaryKey:@"UIMainStoryboardFile"];
            UIStoryboard *sb = [UIStoryboard storyboardWithName:sbFile bundle:bundle];
            UIViewController *rootController;
            rootController = [sb instantiateViewControllerWithIdentifier:@"SCLoginViewController"];
            [self.window setRootViewController:rootController];
  }

如果您在打开应用程序时登录,您将到达 SCViewController,否则您将到达 SCLoginViewController。

然后,您可以像使用 .xib 文件一样遵循 Facebook(应用程序 Scrumptious)的 iOS 教程:https ://developers.facebook.com/docs/ios/ios-sdk-tutorial/ 。

不要忘记创建以下属性:

@property (strong, nonatomic) UINavigationController* navController;
@property (strong, nonatomic) SCViewController *mainViewController;

并导入:

#import <FacebookSDK/FacebookSDK.h>
#import "SCLoginViewController.h"
#import "SCViewController.h"
于 2013-10-03T06:33:03.657 回答
1

使用 .xib 文件还是故事板并不重要,最终结果是一样的。如果您想了解有关如何采用故事板的信息,请查看Apple 文档中的此链接。

于 2013-10-02T16:59:54.127 回答