Firebase Unity iOS问题

时间:2017-02-08 09:06:46

标签: ios firebase admob unity3d-5

我已经在Unity的Android版本中成功设置了Firebase,但我真的很想让它在我的iOS版本中运行。

Unity Firebase项目已设置好了,看起来不错: enter image description here

我已按照以下所有步骤操作: https://firebase.google.com/docs/unity/setup

我安装了CocoaPods:

skywalker:sl leonard$ pod --version
1.2.0

这是顶级生成的iOS项目:

skywalker:sl leonard$ ls
Classes                    Libraries
Data                    MapFileParser
Info.plist                MapFileParser.sh
LaunchScreen-iPad.png            Unity-iPhone
LaunchScreen-iPad.xib            Unity-iPhone Tests
LaunchScreen-iPhone.xib            Unity-iPhone.xcodeproj
LaunchScreen-iPhoneLandscape.png    UnityData.xcassets
LaunchScreen-iPhonePortrait.png        build

我没有看到添加了GoogleService-Info.plist文件,也没有看到Podfile(但我猜它会生成一个)。

项目生成错误并尝试手动解决它们只会产生更多错误。

这是第一次构建后的项目: enter image description here

尝试解决此模块禁用错误: enter image description here

然后在构建之后这就是我所看到的: enter image description here

然后我尝试添加GoogleMobileAds.framework iOS框架: enter image description here

再次运行后,我收到以下错误: enter image description here

在网上阅读了有关这些错误之后,围绕CocoaPods提到了很多内容,但是运行pod init只是创建了一个空白工作区而没有解决我的问题。

2 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,并且能够通过访问App的Xcode目录并运行“pod init”来在XCode中构建我的应用程序。这创建了podfile。然后我用SublimeText编辑了该文件(显然有些编辑器会导致编辑此文件出现问题,我不清楚为什么会这样做)并添加我需要的pod。我的podfile最终看起来像这样:

platform :ios, '7.0'target 
'Unity-iPhone' do
pod 'Firebase/Analytics', '~> 3.10'
pod 'Firebase/Auth', '~> 3.10'
pod 'Firebase/Core', '~> 3.10'
pod 'Firebase/Messaging', '~> 3.10'
pod 'Firebase/RemoteConfig', '~> 3.10'
end

然后我在同一目录中运行“pod install”并创建了.xcworkspace文件(这需要一些时间,因为它安装了几个先决条件)。打开.xcworkspace文件,我就能够成功构建并运行我的应用程序。我遇到了额外的运行时问题(这就是我今天在StackOverflow上的原因),但这至少得到了项目的编译。

您需要将GoogleServices-info.plist文件的副本放入应用程序的xcode目录中。 Unity为我自动复制了它,但YMMV。

希望这有帮助。

答案 1 :(得分:0)

你可以链接podfile的内容吗?如果您刚刚添加

<head>

那可能还不够:https://firebase.google.com/docs/ios/setup#available_pods

pod 'Firebase/Core'

您可能必须为正在使用的功能添加所有广告连播。

免责声明:我目前正在努力让我的版本在ios上运行(就像android上的魅力一样)。我自己刚刚意识到这个问题,我之前也只包含了pod'Firebase / Core'。