mal*_*yeb 6 cookies sharepoint uiwebview ios
我正在开发使用加载网页的iOS应用程序 UIWebView
该网页设置了四个cookie:
从Firefox中Storage Inspector我看到我所有的cookie都是预期的,见截图:
但是,我从iOS NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies内部打印,webViewDidFinishLoad只有四个预期的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)")
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我的iOS应用程序没有检测到我的自定义Cookie并且仅检测到我的Google Analytics(分析)?
注1:我还将此代码添加到我的应用程序:
func applicationDidBecomeActive(application: UIApplication) {
NSHTTPCookieStorage.sharedHTTPCookieStorage().cookieAcceptPolicy = NSHTTPCookieAcceptPolicy.Always
}
Run Code Online (Sandbox Code Playgroud)
注意2:我的后端是SharePoint Web应用程序
一些想法:
设备的 Safari“阻止 Cookie”设置会覆盖对cookieAcceptPolicy. 设备上此设置的默认策略是“允许我访问的网站”,这取决于您的 iOS 设备版本,允许第三方 cookie。使用 iOS 9.3.x 进行的测试表明,第三方 Cookie 会保留在UIWebView默认设置中,但不会保留在“仅允许当前网站”或“始终阻止”设置中。
检查设备是否使用不同的 Safari cookie 设置保留您的 cookie。
此外,您的 cookie 是否设置了过期日期?我发现没有设置过期日期的 cookie 被视为 中的会话 cookie UIWebView,它仅在接收它的 Web 视图的生命周期中持续存在。
| 归档时间: |
|
| 查看次数: |
1811 次 |
| 最近记录: |