这是我在 AppDelegate.m 中的内容:
#import "AppDelegate.h"
#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#import <React/RCTLinkingManager.h>
#import <React/RCTConvert.h>
#import "RNSplashScreen.h" // here
#import <TrustKit/TrustKit.h>
#import <TrustKit/TSKPinningValidator.h>
#import <TrustKit/TSKPinningValidatorCallback.h>
#if defined(FB_SONARKIT_ENABLED) && __has_include(<FlipperKit/FlipperClient.h>)
#import <FlipperKit/FlipperClient.h>
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>
static void InitializeFlipper(UIApplication *application) {
FlipperClient *client = [FlipperClient sharedClient];
SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults];
[client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]];
[client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]];
[client addPlugin:[FlipperKitReactPlugin new]];
[client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]];
[client start];
}
#endif
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//....some configurations
[RNSplashScreen show];
NSDictionary *trustKitConfig =
@{
kTSKPinnedDomains : @{
@"www.google.com" : @{
kTSKEnforcePinning : @YES,
kTSKIncludeSubdomains: @YES,
kTSKPublicKeyHashes : @[
@"2wWi1236zqwqwqeqqeqeqeq0eAwgmNBg=",
],
},
}};
[TrustKit initSharedInstanceWithConfiguration:trustKitConfig];
trustKit = [TrustKit sharedInstance];
return YES;
}
我得到的错误
试图找到一种方法来解决我做错的事情。Pod 已安装,只需要修复 appdelagate.m 即可。需要使用 trustkit 在 react native 应用程序中添加 ssl pinning