1

Facebookログインを使用するiOSでゼロからアプリを開始しています。ストーリーボードを使用したチュートリアルが見つかりません。Facebook のチュートリアルでも、すべて .xib ファイルを使用しています。

Facebook 接続アプリに .xib ファイルを使用することは推奨されますか? はいの場合、なぜですか?

4

2 に答える 2

1

.xib ファイルとストーリーボードのどちらを使用しても、最終結果は同じです。ストーリーボードの採用方法に関する情報が必要な場合は、Apple のドキュメントからこのリンクを確認してください。

于 2013-10-02T16:59:54.127 に答える
1

わかりました、最終的にはそれほど難しくありません。アプリケーションの起動時 にストーリー ボードから代替の最初のビュー コントローラーを選択する かなり似ているので、これは私の個人的な実装です。

ストーリーボードに 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"
于 2013-10-03T06:33:03.657 に答える