Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I make "apple-mobile-web-app-capable" not lose its session?

I have a web app.

<meta name="apple-mobile-web-app-capable" content="yes">

I put this in there.

I add to home screen.

However, I realize that I always have to login again after I close the web app.

How do I make it keep the session?

like image 326
TIMEX Avatar asked Apr 07 '12 11:04

TIMEX


1 Answers

There is an easy answer, but as of yet I was unable to find any reference to it in Apple's official documentation.

The trick is to do this:

// Start or resume session
session_start(); 

// Extend cookie life time by an amount of your liking
$cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds
setcookie(session_name(),session_id(),time()+$cookieLifetime);

If you extend the lifetime of your session cookie like this, Safari will hold on to the session cookie and even allow sharing of the session between the 'home screen installed' version of your web app and normal visits through Safari itself.

For a more elaborate discussion, take a look at my answer to this question:

Maintain PHP Session in web app on iPhone

like image 95
Wilbo Baggins Avatar answered Oct 16 '22 07:10

Wilbo Baggins