【问题标题】:Release iOS build error - Use of undeclared identifier 'Twitter'发布 iOS 构建错误 - 使用未声明的标识符“Twitter”
【发布时间】:2020-08-15 07:53:21
【问题描述】:
我正在使用 react-native-twitter 登录,并按照官方文档中的所有步骤进行操作,但是得到
在 AppDelegate.m 文件中使用未声明的标识符“Twitter”
存档IOS应用时出现此错误,但在模拟器上运行时可以正常工作,应该是什么问题?
【问题讨论】:
标签:
react-native
react-native-ios
react-native-twitter-signin
【解决方案1】:
我遇到了类似的问题。在 iOS 模拟器上运行开发版可以正常工作,但是当我尝试在 XCode 中存档应用程序时,我收到了 Use of undeclared identifier 错误。
解决方案
在AppDelegate.m文件中,找到你包含的头文件:
AppDelegate.m
#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#ifdef FB_SONARKIT_ENABLED
#import <FlipperKit/FlipperClient.h>
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>
#import <Some/Dependency.h> <--- ❌ this might be the problem
如果您在此行下导入了依赖项:
#ifdef FB_SONARKIT_ENABLED
请把它们移到它前面。
例如:
#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#import <Some/Dependency.h> <--- ✅ Right here
#ifdef FB_SONARKIT_ENABLED
#import <FlipperKit/FlipperClient.h>
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>
原因
FB Sonar Kit 或 Flipper 是一个调试工具。存档时可能会被禁用。