iOS*_*dev 7 iphone xcode objective-c uiwebview ios-simulator
在我的应用程序中使用带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];
}
Run Code Online (Sandbox Code Playgroud)然后加载了Web视图,我在邮件视图中使用了像thin这样的代码:
-(void)viewDidLoad
{
[super viewDidLoad];
NSString *urlAddress = @"http://www.gmail.com/";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
}
Run Code Online (Sandbox Code Playgroud)这里用登录页面打开了gmail.我们需要输入用户名和密码.
我想要的是,
如果我们已经通过Gmail应用程序登录我的帐户..
加载的视图直接挂载我的邮件,而不是登录页面.
如果我还没有进入,请在登录时显示提醒.
怎么做?
请帮我.提前致谢.
Jor*_*hen 22
首先,我认为你应该加载的URL是 http://mail.google.com/mail
除此之外,你没有获得正常的gmail行为,因为UIWebView不会在应用程序运行之间保存cookie,你应该尝试这样的东西来保存它们:
- (void)saveCookies
{
NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject: cookiesData forKey: @"cookies"];
[defaults synchronize];
}
Run Code Online (Sandbox Code Playgroud)
并使用以下方法加载它们:
- (void)loadCookies
{
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData: [[NSUserDefaults standardUserDefaults] objectForKey: @"cookies"]];
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in cookies)
{
[cookieStorage setCookie: cookie];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9197 次 |
| 最近记录: |