在下面的代码中,我希望
print()
使用单个 cookie 记录一个数组,但它记录一个空数组。
let websiteDataStore = WKWebsiteDataStore.nonPersistent()
websiteDataStore.httpCookieStore.setCookie(
HTTPCookie(properties: [
.domain: "example.com",
.path: "/",
.name: "MyCookieName",
.value: "MyCookieValue",
.secure: "TRUE",
.expires: NSDate(timeIntervalSinceNow: 31_556_926),
])!,
completionHandler: { () in
websiteDataStore.httpCookieStore.getAllCookies({ (cookies) in
print(cookies)
})
}
)
此外:
websiteDataStore
与WKWebView
一起使用时,服务器不会收到我设置的cookieWKHTTPCookieStoreObserver
时,cookiesDidChange
函数永远不会被触发我正在 iOS 17.2 模拟器中进行测试。
为什么不
setCookie()
添加cookie?
结果我启用了
limitsNavigationsToAppBoundDomains
,并且我试图在本地主机上设置 cookie,但我的 <string>localhost</string>
文件中的 <key>WKAppBoundDomains</key>
中没有 Info.plist
。
像这样添加它修复了问题:
<key>WKAppBoundDomains</key>
<array>
<string>localhost</string>
</array>
我不清楚
localhost
域是否有例外,因为我本希望受到限制的其他操作(例如添加脚本)工作得很好。