Mac应用程序中命令行工具上的App传输策略

时间:2016-10-07 15:04:08

标签: ios xcode macos shell cocoa-touch

我正在构建一个可靠的触摸框架,里面有一个 mac app (命令行工具/ shell应用程序),所以我可以在构建阶段构建iOS应用程序时调用它并执行一些东西。

问题是我添加到iOS项目的命令行目标没有任何Info.plist文件,因此我创建了一个,但传输策略设置对它没有任何影响。

下面是我的iOS应用构建日志的屏幕截图,试图执行我的控制台应用: enter image description here

2 个答案:

答案 0 :(得分:0)

尝试Just Once将此词典配置为Appdelegate文件 这是NSAppTransportSecurity的基本结构。

NSAppTransportSecurity : Dictionary {

    NSAllowsArbitraryLoads : Boolean

    NSAllowsArbitraryLoadsInMedia : Boolean

    NSAllowsArbitraryLoadsInWebContent : Boolean

    NSAllowsLocalNetworking : Boolean

    NSExceptionDomains : Dictionary {

        <domain-name-string> : Dictionary {

            NSIncludesSubdomains : Boolean

            NSExceptionAllowsInsecureHTTPLoads : Boolean

            NSExceptionMinimumTLSVersion : String

            NSExceptionRequiresForwardSecrecy : Boolean   // Default value is YES

            NSRequiresCertificateTransparency : Boolean

        }

    }

}

我不知道它有效但我们试试这个。
您可以参考此Link 希望这件事有效

答案 1 :(得分:-1)

要改善应用和网络服务之间的security连接,连接必须遵循最佳做法(您的网络服务请求应:1)使用HTTPS和2)使用{{1}进行加密有前瞻性的。)。请查看App Transport Security Technote.

发布在屏幕截图(TLS v1.2自定义shell脚本)上,您正在使用非安全Web服务,因此您必须绕过App Transport Security行为。请按照以下步骤操作: -

  • 在Xcode中打开您的应用。
  • 在Project Navigator中找到LIVEUI文件,然后在#34;右键&#34;单击它并选择Info.plist菜单选项。
  • 将以下属性块放在主属性字典中(在第一个Open As > Source Code下)。
<dict>

enter image description here

  

NSAllowsArbitraryLoads用于禁用App Transport的布尔值   NSExceptionDomains中未列出的任何域的安全性   字典。列出的域使用为该域指定的设置。

     

默认值NO需要默认的App Transport Security   所有连接的行为。