我有一个简单的Xcode项目,其中已经安装了一些Pods(与Google Firebase相关)。所有这些都工作得很好。但是,任何尝试安装 any 附加Pod的尝试都会导致Xcode项目无法编译。我在下面提供了两个示例。请注意,以下两个Pod均因相同的错误而失败
我正在尝试安装LBTAComponents吊舱。
我将pod "LBTAComponents"
添加到Podfile并运行Pod install
。然后,我构建项目,并且构建失败并出现错误 /Users/admin/testApp/Pods/leveldb-library/port/port_posix.h:77:35: Use of undeclared identifier '__BYTE_ORDER'
我尝试了标准的故障排除步骤,例如清理构建数据并删除“派生数据”文件夹。问题仍然存在
AFNetwoking吊舱也遇到类似的问题。
我将pod 'AFNetworking', '~> 3.0'"
添加到Podfile并运行Pod install
。然后,我构建项目,并再次构建失败并显示错误 /Users/admin/testApp/Pods/leveldb-library/port/port_posix.h:77:35: Use of undeclared identifier '__BYTE_ORDER'
。 与前面的示例相同。
同样,我之前提到的标准故障排除步骤不能解决问题。
我将再次强调,Google的Firebase吊舱的安装工作正常。但是,后续的pod安装会产生上述错误。
有什么想法可以解决这个问题吗?干杯!
好的,因此尝试安装与Firebase相关的任何其他Pod也会导致与上述相同的构建失败。因此,看来我无法安装任何新的Pod。
作为参考,这是我的Podfile:
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'App' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for App
pod 'Firebase'
pod 'Firebase/Analytics'
pod 'Firebase/Auth'
pod 'Firebase/Storage'
pod 'Firebase/Firestore'
pod 'Firebase/Database'
target 'AppTests' do
inherit! :search_paths
# Pods for testing
pod 'Firebase'
pod 'Firebase/Analytics'
pod 'Firebase/Auth'
pod 'Firebase/Storage'
pod 'Firebase/Firestore'
pod 'Firebase/Database'
end
target 'AppUITests' do
inherit! :search_paths
# Pods for testing
pod 'Firebase'
pod 'Firebase/Analytics'
pod 'Firebase/Auth'
pod 'Firebase/Storage'
pod 'Firebase/Firestore'
pod 'Firebase/Database'
end
end
和我的Podfile.lock:
PODS:
- BoringSSL-GRPC (0.0.3):
- BoringSSL-GRPC/Implementation (= 0.0.3)
- BoringSSL-GRPC/Interface (= 0.0.3)
- BoringSSL-GRPC/Implementation (0.0.3):
- BoringSSL-GRPC/Interface (= 0.0.3)
- BoringSSL-GRPC/Interface (0.0.3)
- Firebase (6.9.0):
- Firebase/Core (= 6.9.0)
- Firebase/Analytics (6.9.0):
- Firebase/Core
- Firebase/Auth (6.9.0):
- Firebase/CoreOnly
- FirebaseAuth (~> 6.2.3)
- Firebase/Core (6.9.0):
- Firebase/CoreOnly
- FirebaseAnalytics (= 6.1.2)
- Firebase/CoreOnly (6.9.0):
- FirebaseCore (= 6.3.0)
- Firebase/Database (6.9.0):
- Firebase/CoreOnly
- FirebaseDatabase (~> 6.1.0)
- Firebase/Firestore (6.9.0):
- Firebase/CoreOnly
- FirebaseFirestore (~> 1.5.1)
- Firebase/Storage (6.9.0):
- Firebase/CoreOnly
- FirebaseStorage (~> 3.4.1)
- FirebaseAnalytics (6.1.2):
- FirebaseCore (~> 6.3)
- FirebaseInstanceID (~> 4.2)
- GoogleAppMeasurement (= 6.1.2)
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (~> 0.3)
- FirebaseAuth (6.2.3):
- FirebaseAuthInterop (~> 1.0)
- FirebaseCore (~> 6.2)
- GoogleUtilities/AppDelegateSwizzler (~> 6.2)
- GoogleUtilities/Environment (~> 6.2)
- GTMSessionFetcher/Core (~> 1.1)
- FirebaseAuthInterop (1.0.0)
- FirebaseCore (6.3.0):
- FirebaseCoreDiagnostics (~> 1.0)
- FirebaseCoreDiagnosticsInterop (~> 1.0)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Logger (~> 6.2)
- FirebaseCoreDiagnostics (1.1.0):
- FirebaseCoreDiagnosticsInterop (~> 1.0)
- GoogleDataTransportCCTSupport (~> 1.0)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Logger (~> 6.2)
- FirebaseCoreDiagnosticsInterop (1.0.0)
- FirebaseDatabase (6.1.0):
- FirebaseAuthInterop (~> 1.0)
- FirebaseCore (~> 6.0)
- leveldb-library (~> 1.18)
- FirebaseFirestore (1.5.1):
- FirebaseAuthInterop (~> 1.0)
- FirebaseCore (~> 6.2)
- FirebaseFirestore/abseil-cpp (= 1.5.1)
- "gRPC-C++ (= 0.0.9)"
- leveldb-library (~> 1.22)
- nanopb (~> 0.3.901)
- Protobuf (~> 3.1)
- FirebaseFirestore/abseil-cpp (1.5.1):
- FirebaseAuthInterop (~> 1.0)
- FirebaseCore (~> 6.2)
- "gRPC-C++ (= 0.0.9)"
- leveldb-library (~> 1.22)
- nanopb (~> 0.3.901)
- Protobuf (~> 3.1)
- FirebaseInstanceID (4.2.5):
- FirebaseCore (~> 6.0)
- GoogleUtilities/Environment (~> 6.0)
- GoogleUtilities/UserDefaults (~> 6.0)
- FirebaseStorage (3.4.1):
- FirebaseAuthInterop (~> 1.0)
- FirebaseCore (~> 6.0)
- GTMSessionFetcher/Core (~> 1.1)
- GoogleAppMeasurement (6.1.2):
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (~> 0.3)
- GoogleDataTransport (2.0.0)
- GoogleDataTransportCCTSupport (1.1.0):
- GoogleDataTransport (~> 2.0)
- nanopb
- GoogleUtilities/AppDelegateSwizzler (6.3.1):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Environment (6.3.1)
- GoogleUtilities/Logger (6.3.1):
- GoogleUtilities/Environment
- GoogleUtilities/MethodSwizzler (6.3.1):
- GoogleUtilities/Logger
- GoogleUtilities/Network (6.3.1):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (6.3.1)"
- GoogleUtilities/Reachability (6.3.1):
- GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (6.3.1):
- GoogleUtilities/Logger
- "gRPC-C++ (0.0.9)":
- "gRPC-C++/Implementation (= 0.0.9)"
- "gRPC-C++/Interface (= 0.0.9)"
- "gRPC-C++/Implementation (0.0.9)":
- "gRPC-C++/Interface (= 0.0.9)"
- gRPC-Core (= 1.21.0)
- nanopb (~> 0.3)
- "gRPC-C++/Interface (0.0.9)"
- gRPC-Core (1.21.0):
- gRPC-Core/Implementation (= 1.21.0)
- gRPC-Core/Interface (= 1.21.0)
- gRPC-Core/Implementation (1.21.0):
- BoringSSL-GRPC (= 0.0.3)
- gRPC-Core/Interface (= 1.21.0)
- nanopb (~> 0.3)
- gRPC-Core/Interface (1.21.0)
- GTMSessionFetcher/Core (1.2.2)
- leveldb-library (1.22)
- nanopb (0.3.901):
- nanopb/decode (= 0.3.901)
- nanopb/encode (= 0.3.901)
- nanopb/decode (0.3.901)
- nanopb/encode (0.3.901)
- Protobuf (3.10.0)
DEPENDENCIES:
- Firebase
- Firebase/Analytics
- Firebase/Auth
- Firebase/Database
- Firebase/Firestore
- Firebase/Storage
SPEC REPOS:
https://github.com/cocoapods/specs.git:
- BoringSSL-GRPC
- Firebase
- FirebaseAnalytics
- FirebaseAuth
- FirebaseAuthInterop
- FirebaseCore
- FirebaseCoreDiagnostics
- FirebaseCoreDiagnosticsInterop
- FirebaseDatabase
- FirebaseFirestore
- FirebaseInstanceID
- FirebaseStorage
- GoogleAppMeasurement
- GoogleDataTransport
- GoogleDataTransportCCTSupport
- GoogleUtilities
- "gRPC-C++"
- gRPC-Core
- GTMSessionFetcher
- leveldb-library
- nanopb
- Protobuf
SPEC CHECKSUMS:
BoringSSL-GRPC: db8764df3204ccea016e1c8dd15d9a9ad63ff318
Firebase: 2d750c54cda57d5a6ae31212cfe5cc813c6be7e4
FirebaseAnalytics: 5d9ccbf46ed25d3ec9304d263f85bddf1e93e2d2
FirebaseAuth: e7f86c2dfc57281cd01f7da5e4b40e01e4510a4a
FirebaseAuthInterop: 0ffa57668be100582bb7643d4fcb7615496c41fc
FirebaseCore: 8b2765c445d40db7137989b7146a3aa3f91b5529
FirebaseCoreDiagnostics: be4f7a09d02ab305f18de59a470412caddb64c2a
FirebaseCoreDiagnosticsInterop: 6829da2b8d1fc795ff1bd99df751d3788035d2cb
FirebaseDatabase: 518cd94286de2ee999e19383a2a6ae04c81ce993
FirebaseFirestore: 5ee8bdb959541f0d55352f2d681efb03b9742a43
FirebaseInstanceID: 550df9be1f99f751d8fcde3ac342a1e21a0e6c42
FirebaseStorage: b7c6d00997bc21d4465453bdcc5cc65513110fed
GoogleAppMeasurement: 0ae90be1cc4dad40f4a27fc767ef59fa032ec87b
GoogleDataTransport: c8617c00e4f3eb9418e42ac0e8ac5241a9d555dd
GoogleDataTransportCCTSupport: 9f352523e8785a71f6754f51eeff09f49ec19268
GoogleUtilities: f895fde57977df4e0233edda0dbeac490e3703b6
"gRPC-C++": 9dfe7b44821e7b3e44aacad2af29d2c21f7cde83
gRPC-Core: c9aef9a261a1247e881b18059b84d597293c9947
GTMSessionFetcher: 61bb0f61a4cb560030f1222021178008a5727a23
leveldb-library: 55d93ee664b4007aac644a782d11da33fba316f7
nanopb: 2901f78ea1b7b4015c860c2fdd1ea2fee1a18d48
Protobuf: a4dc852ad69c027ca2166ed287b856697814375b
PODFILE CHECKSUM: a068de7f759e79161ece809834082ef4236e1f53
COCOAPODS: 1.7.5
答案 0 :(得分:1)
构建因错误而失败
/Users/admin/testApp/Pods/leveldb-library/port/port_posix.h:77:35: Use of undeclared identifier '__BYTE_ORDER'
。 与前面的示例相同。
如果您阅读错误,则会看到有问题的Pod是leveldb-library。快速的pod search leveldb-library
指向leveldb-library Github repo,在这里我们应该能够找到有问题的文件。查看Podfile.lock,您正在从Firebase继承对leveldb-library的依赖关系。该leveldb库库吊舱有点奇怪-回购中的大多数标签都带有'v',例如v1.20
,但有些标签缺少'v',例如1.22
。如果您查看port
directory in the 1.22
tag,将会看到没有文件名提到posix
,但是如果您查看v1.20
tag,则会找到port_posix.h
文件错误抱怨的地方。
因此,看来您的leveldb-library
窗格副本中有一些过时的文件,您可能应该将其清除并重新安装。您可以执行IIRC:
pod clean leveldb-library
其次:
pod install
,您应该得到一个全新的副本。如果那不能解决问题,请继续深入研究您所拥有的那个Pod的哪个副本,并确保它与Pod的仓库中的内容匹配。您也可以执行pod update
,因为您在Firebase上至少落后一个版本。
答案 1 :(得分:0)
在将macOS更新为catalina,升级了Cocoapod并将XCode从10.2升级到11.1之后,在leveldb-library上出现了相同的错误(与OP具有相同的版本和相同的校验和)。
通过文件菜单->工作区设置..->构建系统,将构建系统从“新建构建系统”更改为“ <旧版构建系统”后,我解决了问题。 (请参阅https://stackoverflow.com/a/53050109/3230406)