iOS 7 中 kSecTrustResultConfirm 的替代方案是啥?

Posted

技术标签:

【中文标题】iOS 7 中 kSecTrustResultConfirm 的替代方案是啥?【英文标题】:What's the alternative for kSecTrustResultConfirm in iOS 7?iOS 7 中 kSecTrustResultConfirm 的替代方案是什么? 【发布时间】:2013-10-12 11:41:39 【问题描述】:

我们的旧应用使用 MKNetworkKit 和 MKNetworkOperation。

现在在 ios 7 下 kSecTrustResultConfirm 已弃用。 在 MKNetworkOperation 中有这样的代码:

 else if(result == kSecTrustResultConfirm)  // DEPRECATED

          if(self.shouldContinueWithInvalidCertificate) 

            // Cert not trusted, but user is OK with that
            DLog(@"Certificate is not trusted, but self.shouldContinueWithInvalidCertificate is YES");
            [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
           else 

            DLog(@"Certificate is not trusted, continuing without credentials. Might result in 401 Unauthorized");
            [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
          
        

kSecTrustResultConfirm 有替代品吗?

【问题讨论】:

同样的问题,你解决了吗? 文档参考:developer.apple.com/library/ios/documentation/Security/… 我相信你不再需要在 iOS 7 中检查这种情况,因为这个值永远不会返回。简而言之,以此为条件的代码块可以是#ifdef'd并被忽略。不过不确定。仍在尝试围绕整个 API 进行思考。 【参考方案1】:

如果您因任何原因无法更新 MKNetworkKit,请查看此提交:https://github.com/MugunthKumar/MKNetworkKit/commit/c28959805991bb8f0e99ede9c822e985b41f6fc9。您会看到 kSecTrustResultConfirm 条件已被完全删除,您应该也可以这样做。

【讨论】:

以上是关于iOS 7 中 kSecTrustResultConfirm 的替代方案是啥?的主要内容,如果未能解决你的问题,请参考以下文章

ios 应用程序滞后并在 iOS 13 中冻结 iphone 6s/7/8

在 iOS 7.1 更新中自动释放的变量崩溃,但在 iOS 7.1 之前的操作系统版本中工作正常

iOS 6/7 Delta 不工作 iOS 7.1

约束常量在 iOS 7 中为零,但在 iOS 8 中没有

iOS 8.1 中核心数据绑定的自动布局问题,但 iOS 7 中没有

UIImageView 在 iOS 7 中消失,但在 iOS 6 中呈现良好