您的位置:首页 > 其它

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

2016-03-08 22:47 351 查看
一、插件失效

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以后添加的应用,默认为不信任,需要到“[code]通用-> 描述文件 -> 信任应用
”中自行添加信任,才能运行[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: