0

タブバーアプリケーションを作成しようとしています。最初にこのFacebook grap api チュートリアルに従いました。ログインしてポップアップを表示すると、プロジェクトは写真のように正常に動作しました。

ここに画像の説明を入力 ここに画像の説明を入力

その後、タブバーのみを追加しましたが、迷子になりました。エラーはありませんが、プログラムは Facebook のログイン画面を起動しません。プログラムがFacebookのログイン表示を起動しない理由を理解するためにブレークポイントを使用しましたが、エラーが発生しなかったため理解できませんでした。タブバーのあるものでなければなりません。

現在、Facebookのログイン画面のポップアップでプログラムがスタックしています ここに画像の説明を入力 ここに画像の説明を入力

私のアプリのdelegate.h

#import <UIKit/UIKit.h>

@class FBFunMe;

@interface FBFunAppDelegate : NSObject <UIApplicationDelegate> {

    UIWindow *window;
    UITabBarController *rootController;
}


@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *rootController;

@end

app delegate.m

#import "FBFunAppDelegate.h"
#import "FBFunMe.h"
#import "FBFunLoginDialog.h"

@implementation FBFunAppDelegate

@synthesize window = _window;
@synthesize rootController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    [self.window addSubview:rootController.view];
    [self.window makeKeyAndVisible];

    return YES;
}

タブバーのない同一のプロジェクトが正常に機能するため、残りのコードが機能していることはわかっています。

それを機能させるための提案やサンプルコードはありますか?

_____ - - - - - -編集 - - - - - - ________

アプリデリゲートでこのコードを試すと、FBFunLoginDialogが表示されますが、必要なものはありますが、ログインボタンではなく、これが必要です

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

Facebookにログインするために、いくつかの変数とappIDとスタッフを呼び出すため

FBFunLoginDialog *loginController=[[FBFunLoginDialog alloc] init];
    [self.window addSubview:rootController.view];
    [self.rootController presentModalViewController:loginController animated:YES];

    [window makeKeyAndVisible];
    return YES;

FBFunMe.h で

@interface FBFunMe :UIViewController <FBFunLoginDialogDelegate,UITextFieldDelegate> {
           FBFunLoginDialog *_loginDialog;
        UIView *_loginDialogView;
}

FBFunMe.Mで

- (IBAction)loginButtonTapped:(id)sender {

    NSString *appId = @"3888888883";
    NSString *permissions = @"publish_stream";


    if (_loginDialog == nil) {
        self.loginDialog = [[[FBFunLoginDialog alloc] initWithAppId:appId 
                                               requestedPermissions:permissions delegate:self] autorelease];
        self.loginDialogView = _loginDialog.view;
    }

    if (_loginState == LoginStateStartup || _loginState == LoginStateLoggedOut) {
        _loginState = LoginStateLoggingIn;
        [_loginDialog login];
    } else if (_loginState == LoginStateLoggedIn) {
        _loginState = LoginStateLoggedOut;        
        [_loginDialog logout];
    }

    [self refresh];

}
4

0 に答える 0