当前位置: 首页 > 知识库问答 >
问题:

Xcode 7.1 beta 2-禁用ATS

宗政燕七
2023-03-14

嘿,我已经花了一天左右的时间绞尽脑汁尝试和失败的ATS,我知道它被认为是不好的,但我目前只是在内部工作的应用程序。我在网上尝试了很多建议都没有用,最新的尝试如下info.plist。我不知道该怎么办?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>$(PRODUCT_NAME)</string>
    <key>CFBundlePackageType</key>
    <string>BNDL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>1</string>

    <key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>localhost</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow HTTP requests-->
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <!--Include to specify minimum TLS version-->
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>
</dict>
</plist>

调试控制台eror打印

Error=可选(Error Domain=nsurlErrorDomain Code=-1022“无法加载资源,因为应用程序传输安全策略要求使用安全连接.”UserInfo={nsUnderlyingError=0x7F9670E85620{Error Domain=KCFerrorDomainCFNetwork Code=-1022“(null)”},nserrorFailingURLStringKey=http://localhost/sfc/manualorder.php,nserrorFailingURLKey=http://localhost/sfc/manualorder.php,

共有1个答案

蓟安歌
2023-03-14

如果要禁用ATS,只需将其添加到info.plist中即可

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

当你完成了你的应用程序的工作,你可以重新启用它和去粒度白名单你的领域。

像这样,第一个包括所有子域,第二个不包括:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>maindomain.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
        <key>other.domain.net</key>
        <dict>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>

如果在模拟器上进行测试,您可能需要添加一个步骤,即清理项目并重置模拟器的内容和设置,然后重新构建并运行。

 类似资料:
  • 这是一个禁用的测试案例: import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @Disabled class DisabledClassDemo { @Test void testWillBeSkipped() { } } 这是一个带有禁用测试方法的测试案例: import

  • 问题内容: 单击后,我想在iOS上禁用按钮()。我是开发iOS的新手,但我认为目标上的等效代码-C是这样的: 但是我不能迅速做到这一点。 问题答案: Swift中的布尔值是。 应该做。 这是的属性的Swift文档。

  • 问题内容: 也许我完全丢失了一些东西,但是我有一个本地运行的服务器,并且 没有 将Angular配置为对$ http请求使用CORS。当我向localhost:发出HTTP请求时,我看到Chrome首先创建了OPTIONS请求。 因为我需要支持IE 8,并且AngularJS绝对不能在CORS中使用,所以我需要删除CORS。 我尝试直接设置 不 使用包装器的方法,但没有任何效果。也许这与https

  • Apache 2.4.37安装在Centos7上,没有安装lets加密应用程序,httpd.conf文件中没有虚拟主机。 下面是ssl设置的一部分。conf文件。 也尝试了下面的条目,但不起作用。SSLProtocol TLSv1。2. nmap仅显示tls1。2已启用,但ssllab和https://www.cdn77.com/tls-test两者都显示tls 1.0和1.1已启用。 有人能帮我

  • 我想执行maven目标,但checkstyle错误禁止执行。我现在没有时间纠正checkstyle错误(我的checkstyle规则最近已更新,我现在无法处理所有规则)。 有没有办法禁用检查样式操作并执行我的目标?

  • 我有一个资源服务器,当它启动时--它向身份验证服务器(“http://localhost:xxxx/auth/oauth/token_key”)发送请求,当它全部启动并运行时就可以了。 但当我测试我的服务时,我根本不需要这个。如何禁用资源服务器,或者我应该模拟一些东西,这样它就不会依赖于身份验证服务器(用于未来的控制器安全测试)? 我的弹簧靴主: application.yml