iOS上的Google Play游戏服务出错

时间:2015-11-15 18:04:33

标签: ios objective-c xcode unity3d google-play-services

我收到此错误:

  

错误:GPGSAppController.mm GIDSignIn.h找不到文件错误

我正在使用Google Play Game Service plugin for Unity作为排行榜和成就,并且每个东西都在android中工作正常但是当我构建到IOS并尝试将我的项目运行到iOS设备时,我不断收到此错误,我无法&#39现在找几个小时的解决方案。

我尝试删除与Google Play服务相关的所有内容(当然,在创建备份后)并安装了该应用并且工作正常,除了它有点滞后,但这是另一个问题。所以我确定问题来自Google Play服务,但我不知道如何解决它。再一次,我是Xcode和iOS开发的新手,甚至是Mac。

我在Unity中构建项目后也收到此消息:

  

完成配置出口的XCODE项目

     
      
  1. 添加这些框架:

         

    AddressBook.framework
        AssetsLibrary.framework
        CoreData.framework
        CoreTelephony.framework
        CoreText.framework
        Security.framework
        的libc ++。dylib
        libz.dylib

  2.   
  3. 从Google Plus添加以下捆绑包和框架   和Google Play游戏C ++ SDK。这些可以从下载   https://developers.google.com/games/services

         

    GoogleOpenSource.framework
        GoogleSignId.bundle
        GoogleSignId.framework
        gpg.bundle
        gpg.framework

         

    注意:确保将捆绑包复制到应用程序。这可以   在Build Phases / Copy Bundle Resources下验证。

  4.   
  5. 添加' -ObjC'链接器标志。为此,请选择顶级项目   对象,选择' Unity-iPhone'建立目标,然后去   构建设置选项卡。搜索其他链接器标志并添加   ' -ObjC'标记到该列表。

  6.         

    **注意:要在模拟器中运行,请使用Unity 4.6.8或更高版本。

ios_instructions on plugin repository

但我不知道如何做以上任何事情,因为我不熟悉iOS开发。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

@aimozs回答是正确的,指示在哪里添加所需文件,一些谷歌搜索给了我答案;

根据说明(对我不起作用,向下滚动)

  

AddressBook.framework
  AssetsLibrary.framework
  CoreData.framework
  CoreTelephony.framework
  CoreText.framework
  Security.framework
  的libc ++。dylib
  libz.dylib

这些都可以在链接框架时直接定位。 (在我的情况下,libc++.dyliblibz.dylib已经链接,我无法以某种方式找到它们,但重新生成xcode项目应该再添加这两个。

  

GoogleOpenSource.framework

我在这里找到了它:
https://developers.google.com/+/mobile/ios/getting-started#step_1_creating_the_console_name_project

  

GoogleSignId.bundle
  GoogleSignId.framework

发现他们:
https://developers.google.com/identity/sign-in/ios/sdk/
(我抓住了最新版本Google Sign-In SDK 3.0.0

  

gpg.bundle
  gpg.framework

我在这里找到了他们:
https://developers.google.com/games/services/downloads/sdks
(抓住Play Games C++ SDK Version 2.1

此外,该消息的以下部分似乎很重要:

  

确保将捆绑包复制到应用程序

我尝试将捆绑文件复制到项目的根目录,但我仍然遇到同样的错误。

解决方案:CocoaPods和podfile

我在xcode项目目录中看到了PodFile 干得好;确保您遵循以下步骤: https://github.com/playgameservices/play-games-plugin-for-unity#ios-setup

然后查看https://cocoapods.org/

sudo gem install cocoapods
pod repo update
pod install
open Unity-iPhone.xcworkspace

比手动复制文件更好! ;)

注意:我还必须禁用bitecode,因为我遇到了与GoogleOpenSource有关的链接器错误:

  

必须在启用bitcode的情况下重建它(Xcode设置ENABLE_BITCODE)

似乎没有使用启用bitcode的解决方案进行编译,解决方案在此处:how to ENABLE_BITCODE in xcode 7?

建立,享受并专注于制作精彩的游戏!

相关问题

这里还有一个小小的讨论:
http://forum.unity3d.com/threads/googleplus-googleplus-h-file-not-found-gpgsappcontroller-mm-xcode.294398/

UnityAnswers上的类似问题:
http://answers.unity3d.com/questions/1098655/gpgsappcontrollermm-gidsigninh-file-not-found-erro.html

答案 1 :(得分:-1)

我正在经历这个问题,对于#1,它必须在xcode中完成,这里是如何添加libs

的屏幕截图

that用于#3

希望有帮助:)当我发现它时,我会回复你#2。