我在我的项目中遇到了一些通过Alamofire锁定SSL的问题。问题是,在另一个临时创建的项目中,一切都运行得很好:如果启用了Charles,则所有内容都会被阻止。
现在在这个项目中,它通过了每个调用,即使我的证书不正确。
我想可能是我的PodFile导入了一个库,但我不知道是哪一个。
我在这里问,因为可能已经有了同样的问题。
下面是PodFile:
pod 'SideMenuController'
pod 'ScrollingStackContainer', '~> 0.5'
pod 'SwiftLocation'
pod 'ObjectMapper'
pod 'ActionSheetPicker-3.0'
pod 'Stripe'
pod 'CocoaMQTT'
pod 'SwiftMessages', '5.0.1'
pod 'PusherSwift'
pod 'CryptoSwift', '~> 0.7.2'
pod 'TTSegmentedControl', '~> 0.3.1'
pod 'Fabric'
pod 'Crashlytics'
pod 'KMPlaceholderTextView', '~> 1.3.0'
pod 'FlowTables', '~> 0.8.2'
pod 'FBSDKLoginKit'
pod 'KeychainAccess', '~> 3.1.1'
pod 'ios-ntp', '~> 1.1.9'
pod 'MMMaterialDesignSpinner', '~> 0.2.5'
pod 'Alamofire', '4.7.2'
pod 'Kingfisher', :git => 'https://github.com/onevcat/Kingfisher.git', :tag => '4.9.0'发布于 2018-10-30 13:49:44
我找到了问题所在:
在我的PodFile中,还安装了CocoaDebug,这是一个帮助你调试网络呼叫的工具。不幸的是,它覆盖了我的自定义SessionManager,也覆盖了关于SSL证书锁定的方法。
它必须完全卸载,在构建中禁用它是不够的。
发布于 2018-10-29 09:04:04
当然,使用Charles时一切都被阻止了:这意味着证书锁定正在工作,应用程序不接受已被拦截的响应(在本例中是由Charles拦截的)。您有几个选项:
为调试版本禁用证书固定,以便您可以使用Charles.
https://stackoverflow.com/questions/52964270
复制相似问题