我在 Swift 项目中使用 GeoFire (2.0.0),在今天的更新 pods 之后,当项目将要转到 Xcode 时显示 clang: error: linker command failed with exit code 1 (use -v to see invocation) 在 Geofire 框架中。告诉我,我该如何解决这个问题?

我通过 Cocaopods 安装 Geofire 如下
pod 'GeoFire', :git => 'https://github.com/firebase/geofire-objc.git'

更新:

ld: framework not found nanopb
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

更新 1 :当我安装 pod 时,我在终端中可以看到使用了这个组件
Using nanopb (0.3.8)

最佳答案

I was advised here to solve this problem.

我更换了我的 firebase pod,它解决了 geofire 问题。后续更新的有趣情况,事实证明,如果您使用 Geofire,则无法在高于 4.0.3 的版本上更新 Firebase

# Firebase
    pod 'Firebase', '4.0.3'
    pod 'Firebase/Core'
    pod 'Firebase/Auth'
    pod 'Firebase/Database'
    pod 'Firebase/Storage'
    # Push notification
    pod 'Firebase/Core'
    pod 'Firebase/Messaging'

更新: 第二种方法。需要在Podfile中写这个
post_install do |installer|
  installer.pods_project.targets.each do |target|
  if target.name == 'GeoFire' then
    target.build_configurations.each do |config|
      config.build_settings['FRAMEWORK_SEARCH_PATHS'] = "#{config.build_settings['FRAMEWORK_SEARCH_PATHS']} ${PODS_ROOT}/FirebaseDatabase/Frameworks/ $PODS_CONFIGURATION_BUILD_DIR/GoogleToolboxForMac $PODS_CONFIGURATION_BUILD_DIR/nanopb"
      config.build_settings['OTHER_LDFLAGS'] = "#{config.build_settings['OTHER_LDFLAGS']} -framework FirebaseDatabase"
    end
  end
end

关于ios - Geofire (iOS) clang : error: linker command failed with exit code 1 (use -v to see invocation),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45074026/

10-13 08:06