Хитрость заключается в том, чтобы сделать это:
// 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);
Я протестировал это для работы на iOS 4.2.1, 5.1.1, 6.0 и 6.1.Сеанс даже восстанавливается после выключения и перезапуска устройства.
Для более подробного обсуждения этой стратегии вы можете взглянуть на мой ответ на этот вопрос: Поддержка PHP-сессии в веб-приложении на iPhone