使用Facebook Connect登录后如何进入我的IOS应用程序的主视图

Cuc*_*inn 2 facebook view ios

用我的应用程序登录Facebook Connect sdk后连接到我的主视图时出现问题.在用户登录后,我希望它基本上加载我的应用程序(相机)的主视图,但到目前为止,我无法弄清楚如何做到这一点.目前它只是登录,我被带到一个空白的黑屏,我无法达到我的视野.在我添加Facebook功能之前,我可以达到我的主视图没问题.

下面是我的appDelegate.h和appDelegate.m代码,如果有帮助我可以添加viewController代码和类,我的xib文件名为"ViewController".

appDelegate.h

#import "FBConnect.h"
#import <UIKit/UIKit.h>

@class ViewController;

@interface AppDelegate : UIResponder <UIApplicationDelegate, FBSessionDelegate>

{

    Facebook *facebook;

}

@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) ViewController *viewController;

@property (nonatomic, retain) Facebook *facebook;

@end
Run Code Online (Sandbox Code Playgroud)

appDelegate.m

#import "AppDelegate.h"

#import "ViewController.h"

@implementation AppDelegate

@synthesize window = _window;
@synthesize viewController = _viewController;
@synthesize facebook;


- (void)dealloc
{
    [_window release];
    [_viewController release];
    [super dealloc];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]   autorelease];
    // Override point for customization after application launch.
    //if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
    //    self.ViewController = [[[ViewController alloc] initWithNibName:@"nil" bundle:nil] autorelease];
    //}     

    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];

    facebook = [[Facebook alloc] initWithAppId:@"326350974080015" andDelegate:self];

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    if ([defaults objectForKey:@"FBAccessTokenKey"] 
        && [defaults objectForKey:@"FBExpirationDateKey"]) {
        facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
        facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
    }

    if (![facebook isSessionValid]) {
        NSArray *permissions = [[NSArray alloc] initWithObjects:
                                @"user_photos",
                                nil];
        [facebook authorize:permissions];
        [permissions release];
    }    
    return YES;
}

- (void)fbDidLogin {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
    [defaults synchronize];

    self.ViewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
}


- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return [facebook handleOpenURL:url]; 
}


- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return [facebook handleOpenURL:url]; 
}

@end
Run Code Online (Sandbox Code Playgroud)

当我尝试运行我的应用程序时,我也收到此错误:

2012-03-01 21:04:51.103 friendSpotted[619:f803] Applications are expected to have a root     view controller at the end of application launch
Run Code Online (Sandbox Code Playgroud)

我实际上在appDelegate.m中有这个代码

self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)

dbr*_*vic 6

self.window.rootViewController = self.viewController;您需要初始化视图控制器之前,self.viewController = [[UIViewController alloc] initWithNibName:@"ViewController" bundle:nil];假设您的xib被称为"ViewController.xib"

编辑

此外,我会将所有与Facebook相关的内容放在您的视图控制器中,而不是应用程序委托