You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AppDelegate.m构建报错:使用未声明标识符'_trustKitConfig' 如何解决

问题原因

你出现报错的核心原因是没有在AppDelegate类中声明trustKit成员变量/属性,直接在didFinishLaunchingWithOptions方法内对未声明的trustKit变量赋值,编译器无法识别该标识符。
你代码中定义的trustKitConfig是方法内的局部变量,本身不存在声明问题,报错提示的_trustKitConfig是编译器对未声明属性自动生成下划线前缀的变量名时的误提示,根源还是在trustKit变量的声明缺失。

修复方案

分两种场景处理:

  • 如果你不需要在didFinishLaunchingWithOptions之外的其他方法调用TrustKit实例,直接删除代码中trustKit = [TrustKit sharedInstance];这一行即可。[TrustKit initSharedInstanceWithConfiguration:trustKitConfig];已经完成了全局SSL钉扎的配置,不需要额外保存实例。
  • 如果你确实需要在其他方法中使用TrustKit实例,按以下步骤修改:
    1. 打开AppDelegate.h文件,新增TrustKit属性声明:
    #import <UIKit/UIKit.h>
    #import <React/RCTBridgeDelegate.h>
    #import <TrustKit/TrustKit.h>
    
    @interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate>
    
    @property (nonatomic, strong) UIWindow *window;
    // 新增TrustKit属性
    @property (nonatomic, strong) TrustKit *trustKit;
    
    @end
    
    1. 回到AppDelegate.m的didFinishLaunchingWithOptions方法,将原有的赋值语句修改为通过self访问属性:
    // 原代码:trustKit = [TrustKit sharedInstance];
    self.trustKit = [TrustKit sharedInstance];
    

注意:你当前代码中kTSKPublicKeyHashes对应的哈希值是示例值,上线前需要替换为你自己业务域名对应的真实公钥哈希,否则会导致所有域名请求被拦截失败。

内容的提问来源于stack exchange,提问作者AlexUA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:15:08