ios — PHP cookie не установлен в uiwebview

У меня есть UIWebView, который имеет логин. Логин представляет собой скрипт PHP и имеет функцию setcookie (). Файлы cookie устанавливаются при входе в систему (в веб-просмотре), но когда я закрываю приложение (в веб-просмотре) и снова открываю его. Файлы cookie PHP отключаются, и я должен снова войти в систему.

Вот код PHP

setcookie($_SESSION['id'], $_SESSION['user_name'], time() + (86400 * 3), "/");
setcookie($_SESSION['pro_pic'], $_SESSION['status'], time() + (86400 * 3), "/");
setcookie($_SESSION['pro_pic'], $_SESSION['email'], time() + (86400 * 3), "/");

Код для UIWebivew

- (void)viewDidLoad
{
[super viewDidLoad];

UIWebView *webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)];

NSString *url=@"http://server.bithumor.co/bitpicks/index1.php";
NSURL *nsurl=[NSURL URLWithString:url];
NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];

[webview loadRequest:nsrequest];

webview.scrollView.bounces = NO;

[self.view addSubview:webview];
[self.view bringSubviewToFront:webview];
}

В обычном браузере Safari файлы cookie остаются установленными и работают отлично. Но это не работает в UIWebView.

Какой целевой код (только) я использую, чтобы сохранить файлы cookie PHP, чтобы мне не приходилось входить снова?

0

Решение

как указано здесь Продолжайте терять cookie сессии php в UIWebView Я обновил ваш код:

- (void)viewDidLoad
{
[super viewDidLoad];

UIWebView *webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)];

NSString *url=@"http://server.bithumor.co/bitpicks/index1.php";
NSURL *nsurl=[NSURL URLWithString:url];
NSMutableURLRequest *nsrequest=[NSMutableURLRequest requestWithURL:nsurl];

NSString *cookiesSaved = [[NSUserDefaults standardUserDefaults] objectForKey:@"cookies"];

NSMutableString *cookieStringToSet = (cookiesSaved ? [NSMutableString stringWithString:cookiesSaved] : [NSMutableString new]);

NSArray *cookiesToSet = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:nsurl];
for (NSHTTPCookie *cookie in cookiesToSet) {

if ([cookieStringToSet rangeOfString:cookie.name].location == NSNotFound)
{
[cookieStringToSet appendFormat:@"%@=%@;", cookie.name, cookie.value];
}
}

[[NSUserDefaults standardUserDefaults] setObject:cookieStringToSet forKey:@"cookies"];
[[NSUserDefaults standardUserDefaults] synchronize];

[webview loadRequest:nsrequest];

webview.scrollView.bounces = NO;

[self.view addSubview:webview];
[self.view bringSubviewToFront:webview];
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]