安装任何新的Cocoapod都会导致构建失败

时间:2019-10-15 00:00:54

标签: ios xcode cocoapods

我有一个简单的Xcode项目,其中已经安装了一些Pods(与Google Firebase相关)。所有这些都工作得很好。但是,任何尝试安装 any 附加Pod的尝试都会导致Xcode项目无法编译。我在下面提供了两个示例。请注意,以下两个Pod均因相同的错误而失败

LBTAComponents

我正在尝试安装LBTAComponents吊舱。

我将pod "LBTAComponents"添加到Podfile并运行Pod install。然后,我构建项目,并且构建失败并出现错误 /Users/admin/testApp/Pods/leveldb-library/port/port_posix.h:77:35: Use of undeclared identifier '__BYTE_ORDER'

我尝试了标准的故障排除步骤,例如清理构建数据并删除“派生数据”文件夹。问题仍然存在

AFNetworking

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安装会产生上述错误。

有什么想法可以解决这个问题吗?干杯!

LBTAComponents

好的,因此尝试安装与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

2 个答案:

答案 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