iOS AppDelegate.mm报错:String literal must be prefixed by '@' 如何修复?
修复Objective-C字符串字面量错误
- 问题原因:Objective-C中,NSString类型的字符串字面量必须以
@作为前缀,你代码里的"APPCENTER_SECRET"是C语言字符串格式,不符合OC语法要求,导致报错。 - 修复后的代码:
if (appCenterConfig[@"AppSecret"] != @"APPCENTER_SECRET") { [AppCenterReactNative register]; [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true]; [AppCenterReactNativeCrashes registerWithAutomaticProcessing]; }
补充说明:作为JS开发者可以这样理解——JS里直接用"字符串"创建字符串对象,但Objective-C中,"..."表示C语言的字符数组,@"..."才是OC的NSString对象,AppCenter相关API需要的是NSString类型,所以必须加@前缀。
内容的提问来源于stack exchange,提问作者lecham
相关产品推荐
相关产品推荐

