iOS9 GoogleAnalytics和NSAppTransportSecurity

iOS9 GoogleAnalytics和NSAppTransportSecurity,ios,swift,ssl,google-analytics,ios9,Ios,Swift,Ssl,Google Analytics,Ios9,我遇到了麻烦,因为苹果iOS9提供了新的安全机会,将ssl请求限制在任何类型的服务器上 见参考资料: 实际上,我想使用默认值,不允许任何类型的连接 NSAllowsArbitraryLoads:false <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <false/> <

我遇到了麻烦,因为苹果iOS9提供了新的安全机会,将ssl请求限制在任何类型的服务器上

见参考资料:

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

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <false/>
    </dict>
因此,google analytics跟踪仍然无法满足以下请求:


是否有人提出了解决方案,或者在我的方法中发现了某种错误?

事实上,上述配置有点错误,我找到了一种可行的方法

--短篇小说开始--

基本上,上述方法基本上是正确的,但当我查看MacOS10.10和OS10.11中建立的网络连接时,我再次检查了配置

openssl s_client -connect ssl.google-analytics.com:443 -status
Mac OS 10.10使用了TLSv1.2,而Mac OS 10.11出于任何原因使用了TLSv1.0

--短篇小说结尾--

因此,在重新考虑属性后,我删除了证书透明度
NSRequiresCertificateTransparency
,因为默认值也设置为false而非true。以下配置现在适用于我:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <false/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>ssl.google-analytics.com</key>
            <dict>
                <key>NSThirdPartyExceptionMinimumTLSVersion</key>
                <string>TLSv1.2</string>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
                <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
    </dict>
NSAppTransportSecurity
NSAllowsArbitraryLoads
NSExceptionDomains
ssl.google-analytics.com
第三方例外最小版本
TLSv1.2
N第三方例外要求转发保密
N第三方异常低安全Http负载
补充说明:尽管谷歌使用了这一“实验性标准”(证书透明度): 它似乎没有在谷歌分析中使用它:-)

openssl s_client -connect ssl.google-analytics.com:443 -status
<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <false/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>ssl.google-analytics.com</key>
            <dict>
                <key>NSThirdPartyExceptionMinimumTLSVersion</key>
                <string>TLSv1.2</string>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
                <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
    </dict>