用我的应用程序登录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)
在self.window.rootViewController = self.viewController;您需要初始化视图控制器之前,self.viewController = [[UIViewController alloc] initWithNibName:@"ViewController" bundle:nil];假设您的xib被称为"ViewController.xib"
编辑
此外,我会将所有与Facebook相关的内容放在您的视图控制器中,而不是应用程序委托
| 归档时间: |
|
| 查看次数: |
999 次 |
| 最近记录: |