小编Lep*_*ron的帖子

从WKWebView获取所有cookie

虽然UIWebView通过使用来获取cookie 似乎很简单NSHTTPCookieStorage.sharedHTTPCookieStorage(),但它似乎WKWebView将cookie存储在其他地方.

我做了一些研究,然后我从NSHTTPURLResponse对象中抓取了一些饼干.但是,这并不包含以下所用的所有Cookie WKWebView:

func webView(webView: WKWebView, decidePolicyForNavigationResponse navigationResponse: WKNavigationResponse, decisionHandler: (WKNavigationResponsePolicy) -> Void) {

  if let httpResponse = navigationResponse.response as? NSHTTPURLResponse {
    if let headers = httpResponse.allHeaderFields as? [String: String], url = httpResponse.URL {
      let cookies = NSHTTPCookie.cookiesWithResponseHeaderFields(headers, forURL: url)

      for cookie in cookies {
        logDebug(cookie.description)

        logDebug("found cookie " + cookie.name + " " + cookie.value)
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是WKWebsiteDataStore,ios 9中还有一个负责管理cookie WKWebView的类,但是,该类不包含检索cookie数据的公共方法:

let storage = WKWebsiteDataStore.defaultDataStore() …
Run Code Online (Sandbox Code Playgroud)

webkit uiwebview ios swift wkwebview

58
推荐指数
6
解决办法
5万
查看次数

iOS 11.0中不推荐使用'automatedAdjustsScrollViewInsets'

我刚刚开始编译到iOS 11,并注意到Apple现在宣布该属性

var automaticallyAdjustsScrollViewInsets: Bool { get set }
Run Code Online (Sandbox Code Playgroud)

被弃用:

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin

在此输入图像描述

是否有其他属性可以在iOS 11中修复此警​​告?

默认值是否保持正确或将来如何处理?

xcode deprecated ios swift

58
推荐指数
3
解决办法
3万
查看次数

如何用swift设置标签栏徽章?

如何用swift设置标签栏徽章?例如,当我收到消息图标上显示数字1的新消息时!我是否必须使用UITabBarItem.swift并在其中编写代码!我不确定我怎么做

谢谢 !

uitabbarcontroller ios swift

35
推荐指数
5
解决办法
2万
查看次数

iOS9 GoogleAnalytics和NSAppTransportSecurity

由于Apple iOS9的新安全机会将ssl请求限制在任何类型的服务器上,我遇到了麻烦.

参见参考:https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW33

实际上,我想利用默认值而不允许任何类型的连接NSAllowsArbitraryLoads:false

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <false/>
    </dict>
Run Code Online (Sandbox Code Playgroud)

当然有些连接是我们想要的,我从自己的服务器以及第三方服务器检索数据.

您现在可以嗅探应用程序的流量,这是由第三方工具生成的,或者您使用记录所有网络流量,在此处引用: 如何确定哪个URL被App Transport Security阻止?

很容易跟踪此日志中发生的所有错误(不太难以查找错误代码).通过这种方式,由于负载限制(当然,优秀的软件工程师心里明白;),我很容易看到正在建立的连接并且可能失败了.))

尽管来自Google Analytics,但任何类型的第三方跟踪器或自己的网络设置都运行良好.起初我下载了最后一个示例代码并查看了它们,当然你不能指望一个库已经支持最新的beta系统,不过,我试了一下.一旦NSAllowsArbitraryLoads设置为false/NO,它就会失败

即使限制尽可能少的第三方,我也无法让它运行:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <false/>
            <key>NSExceptionDomains</key>
            <dict>
        <key>ssl.google-analytics.com</key>
        <dict>
            <key>NSRequiresCertificateTransparency</key>
            <true/>
            <key>NSThirdPartyExceptionMinimumTLSVersion</key>
            <string>TLSv1.2</string>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
Run Code Online (Sandbox Code Playgroud)

还尝试了google-analytics.com并包含子域名NSIncludesSubdomains:true.而且,由于浏览器中的简单网站" https://google-analytics.com "重定向到" https://www.google.com/analytics/ ",我还尝试将google.com作为附加异常域,这也失败了.

即使看一下支持的ssl-ciphers,我认为这里没问题:

nmap --script ssl-enum-ciphers -p 443 ssl.google-analytics.com

|   TLSv1.2: 
|     ciphers: 
|       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (dh 256) - C
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (dh 256) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (dh 256) - A
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (dh 256) - A
| …
Run Code Online (Sandbox Code Playgroud)

ssl google-analytics ios swift ios9

20
推荐指数
1
解决办法
3800
查看次数

Xcode Build Server失败.找不到配置用于测试的设备

我们的Xcode Build Server失败了,不再执行任何测试了.版本8.3(8e162)

它只是失败了声明:

建立服务问题

错误找不到配置用于测试的设备.

在此输入图像描述

当我选择"修复它"时,可以简单地将其重定向到机器人设置中的"编辑机器人" - >"设备".有时iOS设备列表加载的时间比以前(立即)更长(~15秒).

因此,当设备最终显示(如果它们甚至显示)并被选中时,会出现以下错误提示: 内部错误更新机器人,请尝试再次配置机器人

这里提供的解决方案对我来说没有问题,因为我在机器人登录: xcode机器人编辑失败

有没有人找到

  1. 这是一个原因,为什么这个错误会突然发生
  2. 解决这个问题?不幸的是,降级到较旧的xCode版本对我来说没有选择:https://forums.developer.apple.com/thread/76453因为我已经获得了用户降级的版本.

共享方案或某些东西突然出错或者是否配置错误可能会导致问题?

在我再次创建机器人之前,我真的想修复机器人,保留构建历史等.

xcode xcode-bots xcode8

13
推荐指数
1
解决办法
827
查看次数