如何设置已登录用户-iPhone加载的web视图
在我的应用程序中,iam使用URL为@的web视图http://www.gmail.com/“如何设置已登录用户-iPhone加载的web视图,iphone,objective-c,xcode,uiwebview,ios-simulator,Iphone,Objective C,Xcode,Uiwebview,Ios Simulator,在我的应用程序中,iam使用URL为@的web视图http://www.gmail.com/“ 当我单击主页/主页中的按钮时,此web视图已加载 (IBAction)webClick:(id)sender { MailViewController *mail = [[MailViewController alloc]initWithNibName:@"MailViewController" bundle:nil]; [self.navigationController pushViewCon
- 当我单击主页/主页中的按钮时,此web视图已加载
(IBAction)webClick:(id)sender { MailViewController *mail = [[MailViewController alloc]initWithNibName:@"MailViewController" bundle:nil]; [self.navigationController pushViewController:mail animated:YES]; }
- 然后加载web视图,我在邮件视图中使用了如下代码:
-(void)viewDidLoad { [super viewDidLoad]; NSString *urlAddress = @"http://www.gmail.com/"; NSURL *url = [NSURL URLWithString:urlAddress]; NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; [webView loadRequest:requestObj]; }
- 如果我们已经通过gmail应用程序登录到我的帐户 加载的视图直接加载我的邮件,而不是登录页面
- 如果我还没有登录,那么显示一个警报,请登录
提前谢谢。首先,我认为您应该加载的URL是
http://mail.google.com/mail
除此之外,您无法获得正常的gmail行为,因为UIWebView不会在应用程序运行之间保存cookie,您应该尝试以下方法来保存cookie:
- (void)saveCookies
{
NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject: cookiesData forKey: @"cookies"];
[defaults synchronize];
}
并使用以下命令将其加载回:
- (void)loadCookies
{
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData: [[NSUserDefaults standardUserDefaults] objectForKey: @"cookies"]];
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in cookies)
{
[cookieStorage setCookie: cookie];
}
}
@sheetal尝试从应用程序delegate didFinishLoad加载,它的工作完美地为meSuper提供了有用的答案!我在哪里叫保存饼干?