发布 iOS 构建错误 - 使用未声明的标识符“Twitter”

Posted

技术标签:

【中文标题】发布 iOS 构建错误 - 使用未声明的标识符“Twitter”【英文标题】:Release iOS build error - Use of undeclared identifier 'Twitter' 【发布时间】:2020-08-15 07:53:21 【问题描述】:

我正在使用 react-native-twitter 登录,并按照官方文档中的所有步骤进行操作,但是得到

在 AppDelegate.m 文件中使用未声明的标识符“Twitter”

存档ios应用时出现此错误,但在模拟器上运行时可以正常工作,应该是什么问题?

【问题讨论】:

请分享您的代码。 【参考方案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 是一个调试工具。存档时可能会被禁用。

【讨论】:

这正是我的错误。非常感谢,我不再重复了

以上是关于发布 iOS 构建错误 - 使用未声明的标识符“Twitter”的主要内容,如果未能解决你的问题,请参考以下文章

XCode5 错误:“使用未声明的标识符 uistatusbarstylelightcontent”iOS6 部署

接收构建失败错误“使用未声明的标识符‘ParseClientConfiguration’”

iOS:Objective-C 创建类属性错误:使用未声明的标识符

Twitter Digits 1.15.1 安装错误(无法构建模块 'DigitsKit' || 使用未声明的标识符 'Digits')

Android Studio 错误消息:使用未声明的标识符“accept4”

重命名项目/工作区后,出现多个“未声明的标识符”错误——但构建良好