我有一个需要对 Facebook 帐户进行 OAuth 身份验证的 iOS 应用程序,但我必须使用自己的服务器进行 API 调用。所以我想在单击某个按钮时打开一个带有登录 URL 的 FBLogin 屏幕(UIWebView)。
我有以下代码:
FBWebViewController.h
#import <UIKit/UIKit.h>
@interface FBWebViewController : UIViewController <UIWebViewDelegate>
- (void)initFBWebView;
@end
FBWebViewController.m
- (void)initFBWebView {
NSLog(@"DetailViewController->initUIWebView {");
UIWebView *aWebView;
// init and create the UIWebView
aWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)];
aWebView.autoresizesSubviews = YES;
aWebView.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
//set the web view delegates for the web view to be itself
[aWebView setDelegate:self];
//Set the URL to go to for your UIWebView
NSString *urlAddress = @"http://www.google.com";
//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];
//URL Requst Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
//load the URL into the web view.
[aWebView loadRequest:requestObj];
//add the web view to the content view
[self.view addSubview:aWebView];
}
在我的 Authorize.m 文件中,该文件处理所有 API 调用等。
- (void)fbLogin:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options {
FBWebViewController *webview = [[FBWebViewController alloc] init];
[webview view];
[webview initFBWebView];
}
什么都没发生。没有打开 WebView。我在 initWithFbWebView 方法中放了一些调试语句,该方法被调用并运行到最后,但没有显示任何屏幕。
我究竟做错了什么?