0

我目前正在一个 React Native 项目上实现 TrustKit SSL Pinning。

由于我的 XCode 项目中的另一个库已经安装了 TrustKit Cocoapod,我无法再直接引用它,这就是为什么我试图以“私人”方式调用它,就像这个例子一样:

  // Disable TrustKit if it is present 
  Class TrustKit = NSClassFromString(@"TrustKit"); //Private calling
  if (TrustKit != nil)
  {
    // Override TrustKit's logger method, useful for local debugging
    void (^loggerBlock)(NSString *) = ^void(NSString *message)
    {
      NSLog(@"TrustKit log: %@", message);
    };

    SEL setLoggerBlock = sel_registerName("setLoggerBlock:");
    [TrustKit performSelector: setLoggerBlock withObject:loggerBlock];
    
    NSDictionary *trustKitConfig =
    @{
      kTSKSwizzleNetworkDelegates: @YES,// How to private consume this property
      kTSKPinnedDomains: @{
          @"*.apps.atp.dev.jsafrasarasin.com" : @{
              kTSKIncludeSubdomains: @YES, // Pin all subdomains
              kTSKEnforcePinning: @YES, // Block connections if pinning validation failed
              kTSKDisableDefaultReportUri: @YES,
              kTSKPublicKeyHashes: @[
                @"dz0GbS1i4LnBsJwhRw3iuZmVcgqpn+AlxSBRxUbOz0k=",
                @"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=",
              ],
          },
      }
    };
    
    SEL setInitSharedInstanceWithConfiguration = sel_registerName("initSharedInstanceWithConfiguration:");
    [TrustKit performSelector: setInitSharedInstanceWithConfiguration withObject:trustKitConfig];
  }

我能够正确执行 TrustKit 方法。但是,我不知道如何通过私人调用处理字典中的 trustKitConfig 属性

错误屏幕:使用未声明的标识符“kTSK....”

4

1 回答 1

1

感谢您的帮助,我能够通过使用字符串值 @"" 来解决此问题

我不得不k从一开始就删除这封信

NSDictionary *trustKitConfig =
    @{
      @"TSKSwizzleNetworkDelegates": @YES,// How to private consume this property
      @"TSKPinnedDomains": @{
          @"*.apps.atp.dev.jsafrasarasin.com" : @{
              @"TSKIncludeSubdomains": @YES, // Pin all subdomains
              @"TSKEnforcePinning": @YES, // Block connections if pinning validation failed
              @"TSKDisableDefaultReportUri": @YES,
              @"TSKPublicKeyHashes": @[
                @"dz0GbS1i4LnBsJwhRw3iuZmVcgqpn+AlxSBRxUbOz0k=",
                @"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=",
              ],
          },
      }
    };
于 2021-10-11T20:22:24.500 回答