我在 iOS 中从头开始一个应用程序,它使用 Facebook 登录。我找不到使用情节提要的教程;他们都使用 .xib 文件,即使在 Facebook 教程中也是如此。
是否建议将 .xib 文件用于 Facebook 连接应用程序?如果是,为什么?
我在 iOS 中从头开始一个应用程序,它使用 Facebook 登录。我找不到使用情节提要的教程;他们都使用 .xib 文件,即使在 Facebook 教程中也是如此。
是否建议将 .xib 文件用于 Facebook 连接应用程序?如果是,为什么?
好吧,终于没那么难了。我发现这个:在应用程序启动时从故事板中选择替代的第一个视图控制器 它非常相似,所以这是我个人的实现。
在情节提要中创建两个视图,对我来说它们被命名为 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"
使用 .xib 文件还是故事板并不重要,最终结果是一样的。如果您想了解有关如何采用故事板的信息,请查看Apple 文档中的此链接。