タブバーアプリケーションを作成しようとしています。最初にこの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];
}