在我们的内部网络上,我们使用自签名CA证书.这在Safari和我们的iOS产品中一直运行良好,一直到iOS 10.我们只需在任何新设备或模拟器上安装CA证书,即使使用ATS,一切都可以正常工作.这允许访问我们所有的内部测试服务器,而无需单独信任每个服务器.
从iOS 11开始,已安装的CA证书不再允许Safari或我们的应用程序信任任何服务器的证书.我们CFNETWORK_DIAGNOSTICS的应用已启用以下相关详细信息:
错误域= kCFErrorDomainCFNetwork代码= -1200
_kCFNetworkCFStreamSSLErrorOriginalValue = -9802
_kCFStreamErrorDomainKey = 3
_kCFStreamErrorCodeKey = -9802
NSLocalizedDescription =发生SSL错误,无法建立与服务器的安全连接.
NSLocalizedRecoverySuggestion =你想要连接到服务器吗?
我花了相当多的时间来解决这个问题,搜索StackOverflow和网络的其余部分.虽然我们在我们的应用程序中使用AFNetworking,但这似乎无关紧要,因为Safari不再通过CA信任这些服务器.禁用ATS NSAllowsArbitraryLoads允许访问服务器,但显然不是解决方案.
我们的-URLSession:didReceiveChallenge:completionHandler代码没有任何变化,我们有一个适当的(多年工作)实施挑战响应challenge.protectionSpace.serverTrust.
我已经按照我能想到的方式对CA和服务器证书进行了重新评估和测试,除了iOS 11之外,它们可以在任何地方工作.在iOS 11的ATS中可能会发生哪些变化可能导致此问题?
我正在使用Tab bar +基于导航的应用程序,我有4个标签栏.当我从一个视图控制器导航到另一个视图控制器时,该viewWillAppear:方法似乎没有响应,我被迫通过创建下一个视图控制器的对象手动调用它.所以我的问题是,viewWillAppear:每当我从一个视图控制器导航到另一个视图控制器时,如何避免手动调用该方法?相反,它应该自动触发,就像viewdidLoad:从一个视图控制器导航到另一个视图控制器时触发方法一样.请指导我如何做到这一点.
希望尽可能最好的答案提前谢谢
iphone xcode objective-c uitabbarcontroller uinavigationcontroller
我将FMDB添加到我的项目然后添加了框架libsqlite3.dylib和libsqlite3.0.dylib,但我仍然得到构建错误.如果我从我的项目中删除FMDB类,那么它构建就好了.我还应该检查其他什么?
有关错误的详细信息:
LD /Users/gmi/Library/Developer/Xcode/DerivedData/iNROMockUp5->gjmgpakyszrgwbbxnkdxehexacxm/Build/Products/Debug->iphonesimulator/iNROMockUp5.app/iNROMockUp5正常I386坎德拉/ iOSDev /测试/ iNROMockUp5 SETENV MACOSX_DEPLOYMENT_TARGET 10.6 SETENV PATH>"/ Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/ Developer/usr/bin:/ usr/bi> n:/ bin:/ usr/sbin:/ sbin"/Developer/Platforms/iPhoneSimulator.platform/Developer/ usr/bin/llvm-gcc-4.2 -arch i386> -isysroot> /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk - > L/Users/gmi/Library/Developer/Xcode/DerivedData/iNROMockUp5-> gjmgpakyszrgwbbxnkdxehexacxm /建设/产品/调试-iphonesimulator - > F /用户/ GMI /库/开发商/ Xcode中/ DerivedData/iNROMockUp5-> gjmgpakyszrgwbbxnkdxehexacxm /编译/产品/调试-iphonesimulator -filelist> /用户/ GMI /库/开发商/ Xcode中/ DerivedData/iNROMockUp5-> gjmgpakyszrgwbbxnkdxehexacxm /编译/中间体/ iNROMockUp5.build /调试 - > iphonesimulator/iNROMockUp5.build /目标规范 al/i386/iNROMockUp5.LinkFileList -mmacosx-> version-min = 10.6 -Xlinker -objc_abi_version -Xlinker 2 -lsqlite3 -lsqlite3.0 -framework> MapKit -framework UIKit -framework Foundation -framework CoreGraphics -o>/Users/gmi /图书馆/开发商/ Xcode中/ DerivedData/iNROMockUp5-> gjmgpakyszrgwbbxnkdxehexacxm /编译/产品/调试 - > …