添加Firebase库后,OSX应用程序无法编译

时间:2015-07-31 14:53:05

标签: macos firebase cocoapods

我正在构建一个带有弹出窗口的无窗口菜单栏应用程序(代理)。此应用程序需要与Firebase集成才能从此存储中检索某些数据。 XCode版本是6.3。

安装最新版本的cocoapods(0.38.2)并创建Podfile之后:

# Uncomment this line to define a global platform for your project
platform :osx, '10.10'
pod 'Firebase', '>= 2.3.3'

target 'dTrain-osx-agent' do

end

target 'dTrain-osx-agentTests' do

end

我收到以下构建失败错误:

    Ld /Users/user/Library/Developer/Xcode/DerivedData/dTrain-osx-agent-djvvfitvallgicbrsrwbnbhaxoqw/Build/Products/Debug/dTrain-osx-agent.app/Contents/MacOS/dTrain-osx-agent normal x86_64
    cd /Users/user/Projects/interop/dtrain_osx/dTrain-osx-agent
    export MACOSX_DEPLOYMENT_TARGET=10.10
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -L/Users/user/Library/Developer/Xcode/DerivedData/dTrain-osx-agent-djvvfitvallgicbrsrwbnbhaxoqw/Build/Products/Debug -F/Users/user/Library/Developer/Xcode/DerivedData/dTrain-osx-agent-djvvfitvallgicbrsrwbnbhaxoqw/Build/Products/Debug -F/Users/user/Projects/interop/dtrain_osx/dTrain-osx-agent/Pods/Firebase -filelist /Users/user/Library/Developer/Xcode/DerivedData/dTrain-osx-agent-djvvfitvallgicbrsrwbnbhaxoqw/Build/Intermediates/dTrain-osx-agent.build/Debug/dTrain-osx-agent.build/Objects-normal/x86_64/dTrain-osx-agent.LinkFileList -Xlinker -rpath -Xlinker @executable_path/../Frameworks -mmacosx-version-min=10.10 -ObjC -lc++ -licucore -framework CFNetwork -framework Firebase -framework Security -framework SystemConfiguration -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx -Xlinker -add_ast_path -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/dTrain-osx-agent-djvvfitvallgicbrsrwbnbhaxoqw/Build/Intermediates/dTrain-osx-agent.build/Debug/dTrain-osx-agent.build/Objects-normal/x86_64/dTrain_osx_agent.swiftmodule -lPods -Xlinker -dependency_info -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/dTrain-osx-agent-djvvfitvallgicbrsrwbnbhaxoqw/Build/Intermediates/dTrain-osx-agent.build/Debug/dTrain-osx-agent.build/Objects-normal/x86_64/dTrain-osx-agent_dependency_info.dat -o /Users/user/Library/Developer/Xcode/DerivedData/dTrain-osx-agent-djvvfitvallgicbrsrwbnbhaxoqw/Build/Products/Debug/dTrain-osx-agent.app/Contents/MacOS/dTrain-osx-agent

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

修改 XCode升级到6.4(6E35b)并仍然面临问题

2 个答案:

答案 0 :(得分:3)

看起来这个问题是我们在2.3.3中构建Firebase SDK的一些变化的结果。目前,您是否可以通过修改Podfile来使用2.3.2版本的SDK:

pod 'Firebase', '2.3.2'

与此同时,我们将调查并尝试在未来版本的SDK中修复此问题。我们会在做完后再更新这个答案。

请注意,如果您使用的是Swift和Firebase SDK 2.3.2,则需要使用桥接标头将Firebase导入swift应用程序。

为此,请在项目中创建一个新的Objective-C文件。当系统提示您是否要包含桥接标头时,请说“是”。然后,删除您创建的.m文件,仅保留为您创建的bridging-header.h文件。将以下行添加到该文件中:

#import <Firebase/Firebase.h>

答案 1 :(得分:0)

如果在完成安装并添加#import后仍然出现错误。

试试这个。打开终端,然后cd到你的项目并输入Pod Install,它会提示你,说你的项目是由另一个应用程序编辑的,如果你想恢复或保留XCode版本。选择还原。

这解决了我的错误。希望能帮助别人。