如何设置已登录用户-iPhone加载的web视图

如何设置已登录用户-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

在我的应用程序中,iam使用URL为@的web视图http://www.gmail.com/“

  • 当我单击主页/主页中的按钮时,此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打开了登录页面。我们需要输入用户名和密码

我想要的是

  • 如果我们已经通过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提供了有用的答案!我在哪里叫保存饼干?