Appleのドキュメントによると:
... Cookie はすべてのアプリケーション間で共有され、プロセスの境界を越えて同期されます。
しかし、このiOS Noteがあります:
Cookie は iOS のアプリケーション間で共有されません。
基本的に、アプリ内でSafariのCookieを使用できませんか?
Appleのドキュメントによると:
... Cookie はすべてのアプリケーション間で共有され、プロセスの境界を越えて同期されます。
しかし、このiOS Noteがあります:
Cookie は iOS のアプリケーション間で共有されません。
基本的に、アプリ内でSafariのCookieを使用できませんか?
WKWebView
iOS セキュリティ サンドボックスは、iOS ノートで発見したように、アプリ間での Cookie 共有を無効にします。これを回避する方法はありません。WKWebView
を利用することで、アプリ内で複数の Cookie を共有できますWKProcessPool
。
カスタム URL スキームと組み合わせてSFSafariViewController
(iOS 8 以下では Safari に切り替える必要があります)、Safari からアプリに Cookie データを渡す方法があります。
このアプローチの基本は次のとおりです。
SFSafariViewController
(または[[UIApplication sharedApplication] openURL:url]
iOS8以下のSafariを起動します)url
Cookie データを渡すカスタム URL スキームを読み込もうとします。my-custom-scheme:cookie=value
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
ただし、ユーザーには Safari View Controller がポップアップ表示されてから閉じます (または、iOS8 以下のアプリを切り替えます)。これを静かに行う方法はありません (補足: メイン ウィンドウを強制的に の上に表示する方法はありますが、SFSafariViewController
これは Apple ではサポートされていません)。