• 升级Xcode7之后的适配问题(插件、ATS等)


    一、插件失效
    1. 首先查看 Xcode 的 UUID,在终端执行
    defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID 
    会得到一串 UUID 码
    2. 找到 Xcode 插件所在的目录
    ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
    选择已安装的插件如:VVDocumenter-Xcode,右键显示包内容,找到 info.plist
    找到DVTPlugInCompatibilityUUIDs的项目,添加一个Item,Value的值为之前Xcode的UUID,保存.
    重启 Xcode 之后会提示"Load bundle"、 "Skip Bundle",这里必须选择"Load bundle",不然插件无法使用。
    3. 如果手误点击了"Skip Bundle"的解决办法
    找到该插件安装路径下,继续打开在 info.plist 删除与命令端里面同样的UUID号,一般都是会再最后一行,自己添加的那一行也要删除掉
    保存之后重启Xcode,再次添加之前xcodeUUID。在重启就再次出现了插件提示

    二、ATS适配

    ATS全称为App Transport Security,它是iOS9的一个新特性,旨在提高iOS设备与服务器交互的安全性。简单地说,ATS会阻止未注册的网络请求。你可以在info.plist文件中注册相应的host,这样该host的网络请求就不会被阻止。你也可以设置不阻止任何host的网络请求。

    参考文档地址:https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html

    添加名为NSAppTransportSecurity的Dictionary,其键值对有:

    NSAllowsArbitraryLoads:Boolean,设置为YES,则允许所有访问

    NSExceptionDomains:Dictionary 允许访问的域名

    NSIncludesSubdomains:Boolean 包含子域名

    NSTemporaryExceptionAllowsInsecureHTTPLoads:Boolean 临时允许不安全HTTP加载

    NSThirdPartyExceptionAllowsInsecureHTTPLoads:Boolean 类似上条

    NSTemporaryExceptionMinimumTLSVersion:String 最低的TLS版本号

    NSThirdPartyExceptionMinimumTLSVersion:String 类似上条

    NSTemporaryExceptionRequiresForwardSecrecy:Boolean 服务器支持前向保密时,临时允许例外

    NSThirdPartyExceptionRequiresForwardSecrecy:Boolean 类似上条

     

    <key>NSAppTransportSecurity</key>
    
    <dict>
    
        <key>NSAllowsArbitraryLoads</key>
    
        <true/>
    
    </dict>
    <key>NSAppTransportSecurity</key>
    
    <dict>
    
        <key>NSExceptionDomains</key>
    
        <dict>
    
            <key>YOURHOST.COM</key>
    
            <dict>
    
                <key>NSIncludesSubdomains</key>
    
                <true/>
    
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
    
                <true/>
    
                <key>NSTemporaryExceptionMinimumTLSVersion</key>
    
                <string>1.0</string>
    
                <key>NSTemporaryExceptionRequiresForwardSecrecy</key>
    
                <false/>
    
            </dict>
    
        </dict>
    
    </dict>
    三、process launch failed: Security
    这是因为iOS9以后添加的应用,默认为不信任,需要到“
    通用-> 描述文件 -> 信任应用
    ”中自行添加信任,才能运行
  • 相关阅读:
    内存对齐
    类和对象
    C++ 各种继承方式的类内存布局
    静态变量static
    程序内存布局
    String类
    C++与C的区别
    命名空间
    C
    D
  • 原文地址:https://www.cnblogs.com/xiayao/p/5260210.html
Copyright © 2020-2023  润新知