Facebookログインを使用するiOSでゼロからアプリを開始しています。ストーリーボードを使用したチュートリアルが見つかりません。Facebook のチュートリアルでも、すべて .xib ファイルを使用しています。
Facebook 接続アプリに .xib ファイルを使用することは推奨されますか? はいの場合、なぜですか?
Facebookログインを使用するiOSでゼロからアプリを開始しています。ストーリーボードを使用したチュートリアルが見つかりません。Facebook のチュートリアルでも、すべて .xib ファイルを使用しています。
Facebook 接続アプリに .xib ファイルを使用することは推奨されますか? はいの場合、なぜですか?
.xib ファイルとストーリーボードのどちらを使用しても、最終結果は同じです。ストーリーボードの採用方法に関する情報が必要な場合は、Apple のドキュメントからこのリンクを確認してください。
わかりました、最終的にはそれほど難しくありません。アプリケーションの起動時 にストーリー ボードから代替の最初のビュー コントローラーを選択する かなり似ているので、これは私の個人的な実装です。
ストーリーボードに 2 つのビューを作成します。私にとっては、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"