大家好,我是为 iOS 创建应用程序的新手,如果这个问题有点愚蠢,我很抱歉。我正在尝试构建应用程序,其中登录 Facebook 并获取朋友列表只是其中的一部分,所以我想使用 Facebook 提供给开发人员的示例,但它有 appDelegate 文件,其中包含如下方法:
#import "FPAppDelegate.h" #import "FPViewController.h" @implementation FPAppDelegate @synthesize window = _window; @synthesize rootViewController = _rootViewController; - (BOOL)application:(UIApplication *)application ....... return [FBSession.activeSession handleOpenURL:url]; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [FBFriendPickerViewController class]; ........ return YES; } - (void)applicationWillTerminate:(UIApplication *)application { [FBSession.activeSession close]; }
它有带有 h 和 m 文件的 FPViewController 的 xib 文件,所以在我的应用程序中使用这个示例的更好方法是什么,我知道我不能使用两个 appDelegate 文件,我试图将 UIResponder 的 FPAppDelegate 更改为 UIViewController 类从我的应用程序中的某个地方推送它,如下所示:
- (IBAction)loginFacebook:(id)sender
{
NSLog(@"Facebook");
delegateViewController *appDelegate = [[delegateViewController alloc] initWithNibName:nil bundle:NULL];
[self.navigationController pushViewController: appDelegate animated:YES];
}
其中 delegateViewController 是 FPAppDelegate 示例我更改为:
#import "delegateViewController.h"
#import "AppDelegate.h"
#import "FPViewController.h"
@interface delegateViewController ()
@end
@implementation delegateViewController
@synthesize window2=_window2;
@synthesize rootViewController2=_rootViewController2;
- (BOOL)application:(UIApplication *)application
......
return [FBSession.activeSession handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[FBFriendPickerViewController class];
......
self.window2 = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window2.rootViewController = navigationController;
[self.window2 makeKeyAndVisible];
return YES;
}
- (void)applicationWillTerminate:(UIApplication *)application {
........
[FBSession.activeSession close];
}
但它不起作用,所以,如果我还需要更改 xib 文件?或者更改我的项目的 appDelegate 文件?还是在我的应用程序中使用此示例的另一种方式?我想让你向我解释一下。