【发布时间】:2016-04-12 08:29:45
【问题描述】:
我正在开发使用 UIWebView 加载网页的 iOS 应用程序
网页设置了四个cookie:
- 两个用于 Google Analytics,_ga 和 _gat
- 一个用于我的 Web 应用程序的唯一访问者计数器
- 一个用于我的网页检测用户是否投票。
- 如果此 cookie 可用,则显示投票结果。
来自 Firefox 的 Storage Inspector,我看到了我所有的 cookie,见截图:
但是,在 iOS 中,我从内部 webViewDidFinishLoad 打印了 NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies,并且只有四个预期 cookie 中的两个,iOS 用户也可以根据需要投票多次,因为 cookie 未被检测到(或未存储在 iOS 设备中):
if let cookies = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies {
for c in cookies {
print("*******************")
print("name: \(c.name)")
print("domain: \(c.domain)")
print("value: \(c.value)")
print("path: \(c.path)")
print("expiresDate: \(c.expiresDate)")
}
}
为什么我的 iOS 应用没有检测到我的自定义 cookie,而只检测到我的 Google Analytics(分析)?
注意 1:我也将此代码添加到我的应用程序中:
func applicationDidBecomeActive(application: UIApplication) {
NSHTTPCookieStorage.sharedHTTPCookieStorage().cookieAcceptPolicy = NSHTTPCookieAcceptPolicy.Always
}
注意 2:我的后端是 SharePoint Web 应用程序
【问题讨论】:
标签: ios cookies sharepoint uiwebview