From 8acefd2791dc61d6c519200f8c12c18af95ae0c8 Mon Sep 17 00:00:00 2001 From: uf200387 Date: Sun, 5 Mar 2023 00:50:42 +0800 Subject: [PATCH] for capacitor, we need to find the certificates from main bundle --- src/ios/SM_AFNetworking/SM_AFSecurityPolicy.m | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ios/SM_AFNetworking/SM_AFSecurityPolicy.m b/src/ios/SM_AFNetworking/SM_AFSecurityPolicy.m index 33872fc..7319e40 100644 --- a/src/ios/SM_AFNetworking/SM_AFSecurityPolicy.m +++ b/src/ios/SM_AFNetworking/SM_AFSecurityPolicy.m @@ -155,10 +155,13 @@ static NSArray * AFPublicKeyTrustChainForServerTrust(SecTrustRef serverTrust) { @implementation SM_AFSecurityPolicy ++(BOOL) isRunningOnCapacitor { + return NSClassFromString(@"CAPPlugin") != nil; +} + + (NSSet *)certificatesInBundle:(NSBundle *)bundle { NSString* assetDir = @"www"; - Class capacitorPluginClass = NSClassFromString(@"CAPPlugin"); - if(capacitorPluginClass != nil) { + if([self isRunningOnCapacitor]) { // we are running on capacitor and its assets dir is 'public' assetDir = @"public"; } @@ -178,7 +181,7 @@ static NSArray * AFPublicKeyTrustChainForServerTrust(SecTrustRef serverTrust) { static NSSet *_defaultPinnedCertificates = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - NSBundle *bundle = [NSBundle mainBundle]; + NSBundle *bundle = [self isRunningOnCapacitor] ? [NSBundle mainBundle] : [NSBundle bundleForClass:[self class]]; _defaultPinnedCertificates = [self certificatesInBundle:bundle]; });