ios - 如何使用 HTTPS 主机修复 IOS 应用程序中的 SSL 错误

标签 ios iphone xcode cordova ssl

我们在开发环境中有一个使用我们的 HTTPS 服务器的 ios 应用程序(使用 cordova 构建) 我们收到 SSL 错误,因此我们尝试了下面的步骤 1),它起作用了。

解决方法

1) 添加了在 iOS 中绕过 SSLError 的逻辑:~ AppDelegate.m

@implementation NSURLRequest(DataController)
+(BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host{
    return YES;
}
@end

2) 现在我们想在应用商店中提交应用,我们在各种论坛上看到我们需要删除 在提交应用程序之前高于步骤 1),否则将被拒绝。

我们通过从代码中删除步骤 1) 来尝试在我们的开发环境中的 MYAPP-Info.plist 中使用以下代码 - A 和 B,但它没有用。

代码 A)

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

代码 B)

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>OUR_HTTPS_URL</key>
    <dict>
      <key>NSIncludesSubdomains</key>
      <true/>
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>

现在的问题是~

A) 如果我们只删除第 1) 步,应用程序提交会成功还是会失败。?

B) 如果通过删除步骤 1) 应用提交失败,解决此问题的解决方案是什么,以便应用成功提交到应用商店。

谢谢,

最佳答案

我有 2 个应用程序使用 info.plist 绕过了这个。让他们获得批准没有问题。我在我的开发设置中使用这些,在生产中我使用 HTTPS 连接。这是我的 info.plist 中的条目。请注意,我有 2 个有异常(exception)的域。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>YOUR FIRST DOMAIN GOES HERE</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
        <key>YOUR SECOND DOMAIN GOES HERE</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>

所以我可以肯定地说,您可以有域异常(exception)并仍然获得批准。

关于ios - 如何使用 HTTPS 主机修复 IOS 应用程序中的 SSL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35930358/

相关文章:

ios - 在 Xcode 6/iOS 8 Interface Builder 启动屏幕中使用自定义字体

c++ - 在swift代码中加载静态库

iphone - 如何为 coverflow 中的 UIimage 设置 Action ?

ios - NSData dataWithContentsOfFile 在设备上返回不同的结果

iphone - UIview 的快照不显示圆弧和圆角

iphone - 如何将委托(delegate)分配给第二个 View Controller

ios - 将自定义对象的 NSArray 转换为 Swift 数组

android - 来自 BigQuery 的 Data Studio 中的 Firebase 日内事件

ios - 使用 anchor 的自动布局没有按照我的预期方式布置我的 View ?

ios - 计算 scrollView 中的精确缩放