ios – 如何在Swift中手动为UIWebView设置Cookie

前端之家收集整理的这篇文章主要介绍了ios – 如何在Swift中手动为UIWebView设置Cookie前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在 swift中为webview设置一个cookie.我找到了一个解决方案,但它是针对 objective-c的.如何在 Swift中做到这一点?

Is it possible to set a cookie manually using sharedHTTPCookieStorage for a UIWebView?

这是解决方案.

解决方法

您可以使用NSHTTPCookie和NSHTTPCookieStorage在swift中设置cookie,如下所示:
  1. let URL = "example.com"
  2. let ExpTime = NSTimeInterval(60 * 60 * 24 * 365)
  3.  
  4. func setCookie(key: String,value: AnyObject) {
  5. var cookieProps = [
  6. NSHTTPCookieDomain: URL,NSHTTPCookiePath: "/",NSHTTPCookieName: key,NSHTTPCookieValue: value,NSHTTPCookieSecure: "TRUE",NSHTTPCookieExpires: NSDate(timeIntervalSinceNow: ExpTime)
  7. ]
  8.  
  9. var cookie = NSHTTPCookie(properties: cookieProps)
  10.  
  11. NSHTTPCookieStorage.sharedHTTPCookieStorage().setCookie(cookie!)
  12. }

斯威夫特3:

  1. func setCookie(key: String,value: AnyObject) {
  2. let cookieProps: [HTTPCookiePropertyKey : Any] = [
  3. HTTPCookiePropertyKey.domain: URL,HTTPCookiePropertyKey.path: "/",HTTPCookiePropertyKey.name: key,HTTPCookiePropertyKey.value: value,HTTPCookiePropertyKey.secure: "TRUE",HTTPCookiePropertyKey.expires: NSDate(timeIntervalSinceNow: ExpTime)
  4. ]
  5.  
  6. if let cookie = NSHTTPCookie(properties: cookieProps) {
  7. NSHTTPCookieStorage.sharedHTTPCookieStorage().setCookie(cookie)
  8. }
  9. }

设置cookieAcceptPolicy如下:

  1. NSHTTPCookieStorage.sharedHTTPCookieStorage().cookieAcceptPolicy = NSHTTPCookieAcceptPolicy.Always

斯威夫特3

  1. HTTPCookieStorage.shared.cookieAcceptPolicy = HTTPCookie.AcceptPolicy.always

请注意,这是Objective-C和旧版Swift中的NSHTTPCookieAcceptPolicyAlways.

希望这可以帮助:)

猜你在找的iOS相关文章