3

我已经在 Unity 中的 Android 版本下成功设置了 Firebase,但我真的在努力让它在我的 iOS 版本中工作。

Unity Firebase 项目已设置并且看起来不错: 在此处输入图像描述

我已按照以下所有步骤操作: 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(但我只是猜测它会生成一个)。

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

这是第一次构建后的项目: 在此处输入图像描述

尝试解决此模块禁用错误: 在此处输入图像描述

然后在构建这就是我所看到的之后: 在此处输入图像描述

然后我尝试添加 GoogleMobileAds.framework iOS 框架: 在此处输入图像描述

再次运行后,我收到以下错误: 在此处输入图像描述

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

4

2 回答 2

1

我遇到了类似的问题,并且能够通过转到应用程序的 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。

希望这可以帮助。

于 2017-02-14T00:46:52.730 回答
0

你能链接你的podfile的内容吗?如果你刚刚添加

pod 'Firebase/Core'

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

pod 'Firebase/Core' Prerequisite libraries and Analytics
pod 'Firebase/AdMob'    AdMob
pod 'Firebase/Messaging'    Cloud Messaging / Notifications
pod 'Firebase/Database' Realtime Database
pod 'Firebase/Invites'  Invites
pod 'Firebase/DynamicLinks' Dynamic Links
pod 'Firebase/Crash'    Crash Reporting
pod 'Firebase/RemoteConfig' Remote Config
pod 'Firebase/Auth' Authentication
pod 'Firebase/Storage'  Storage

您可能必须为您正在使用的功能添加所有 pod。

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

于 2017-02-10T12:32:10.503 回答