是否可以在持久存储的iPhone应用程序中设置cookie,以便以后当用户在Mobile Safari中时,该cookie可以发送到网络服务器?
Shi*_*rin 16
**2017年更新**
自从首次回答以来,近年来对iOS引入了许多安全机制和跨应用程序通信的更改.
以下代码不再适用于当前的iOS版本,因为Safari不再接受javascript:...URL和框架,如NSURL捕获这些并返回nil.
另一个可行的方法是主持一个网站并让Safari打开它或在你的应用程序中集成这样一个HTML页面并运行一个小的http服务器来按需托管它.
**iOS高达6.x**
由于Apple已经强制所有应用程序商店应用程序上的沙盒,
目前还没有简单的方法来实现您的请求.
但是,您可以从包含javascript的应用程序中打开一个特殊的http:// - URL来放置cookie:
NSString jsURL = @"javascript:function someFunction(){ /* your javascript code here */ } someFunction();void(0)";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: jsURL]];
Run Code Online (Sandbox Code Playgroud)
在URL中使用javascript已被不同的iPhone应用程序用于
与MobileSafari 交叉通信(例如instapaper).
另一种选择是在您的应用程序或服务器上包含静态HTML页面,并指示MobileSafari打开它.
该页面可以依次设置永久cookie.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
19433 次 |
| 最近记录: |