找不到Firebase框架

时间:2016-07-07 12:45:53

标签: ios swift firebase cocoapods

我一直试图将我的项目迁移到cocoapods。

我觉得我几乎就在那里,但我陷入了困境:

  

ld:找不到框架x86_64的Firebase       错误:链接器命令失败,退出代码为1(使用-v查看调用)

我尝试使用我的" app.xcworkspace"进行编译。该项目看起来像这样:

project navigator

此外:

libraries

我已尝试启动其他项目和firebase工作,因此这个项目设置存在问题......有什么想法吗?

我的podfile如下所示:

# Uncomment this line to define a global platform for your project
# platform :ios, ‘8.0’

target 'Parti' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
    use_frameworks!

  # Pods for Parti

    pod 'Firebase'
    pod 'Firebase/Storage'
    pod 'Firebase/Auth'
    pod 'Firebase/Database'

  target 'PartiTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'PartiUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

可能有必要补充说,当xcode尝试"链接/Users/myname/Library/Developer/Xcode/DerivedData/Parti-gsdsljzobcnqjkgutfpjasgrsfck/Build/Products/Debug-iphonesimulator/Parti.app时会发生错误/杂色"

6 个答案:

答案 0 :(得分:5)

我知道这听起来很遥远,但是:

  1. 清理项目。产品 - >清洁
  2. 重启XCode(并非总是需要)
  3. 运行pod update&来自项目文件夹的pod install
  4. 更新: Podfile应该更像:

        use_frameworks!
    
        target 'Parti' do
          pod 'Firebase'
          pod 'Firebase/Storage'
          pod 'Firebase/Auth'
          pod 'Firebase/Database'
        end
    
        target 'PartiUITests' do
          pod 'Firebase'
          pod 'Firebase/Storage'
          pod 'Firebase/Auth'
          pod 'Firebase/Database'
        end
    

答案 1 :(得分:2)

添加$ PROJECT_DIR / Pods(使其递归)

到框架搜索路径

无论出于什么原因,只有这对我有帮助,也许你也是

答案 2 :(得分:1)

确保在项目目标的标题搜索路径,框架搜索路径和库搜索路径中添加了$(继承)。

还要确保在项目文件的frameworks文件夹中(不在你的Pod中,单击Project Navigator中的Project Name),“libPods-YourProjectName.a”不是红色。如果是,请将其删除并重新构建。

答案 3 :(得分:0)

一些提示:

  • 确保您的Podfile正确(您是否忘记取消注释use_frameworks!行?您是否正确添加了pod?)

  • 你忘了跑" pod install"

  • 您是否尝试过清理项目和构建文件夹?

答案 4 :(得分:0)

刚刚找到答案。好像我有一个旧的geofire版本,而新版本还没有作为Pod使用......

Github Issue link

谢谢你的答案。

答案 5 :(得分:0)

另一种可能是您的项目名称不是 ASCII。例如,名称中可能包含汉字。

在这种情况下,在“常规”->“框架、库和嵌入内容”中,删除“Pods___.framework”,并在“Pods/”下添加名称正确的那个会有所帮助。