我已经在Unity的Android版本中成功设置了Firebase,但我真的很想让它在我的iOS版本中运行。
我已按照以下所有步骤操作: 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只是创建了一个空白工作区而没有解决我的问题。
答案 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'。