【问题标题】:Adding GooglePlayGames API to Xcode results in multiple architecture i386 errors将 GooglePlayGames API 添加到 Xcode 会导致多个架构 i386 错误
【发布时间】:2016-03-19 10:10:53
【问题描述】:

所以我正在尝试将 Google Play 游戏添加到我的应用中,但我很难让他们的示例代码正常工作。我在堆栈溢出时看到过多次提到这个问题,但我还没有找到明确的答案。

我正在按照此处列出的手册说明进行操作: https://developers.google.com/games/services/ios/quickstart

并在此处将它们添加到 buttonclicker 代码中: https://github.com/playgameservices/ios-basic-samples

结果是 32 Undefined symbols for architecture i386 错误,如下所示。

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_GTLCollectionObject", referenced from:
      _OBJC_CLASS_$_GTLGamesEventDefinitionListResponse in gpg(GTLGamesEventDefinitionListResponse.o)
      _OBJC_CLASS_$_GTLGamesLeaderboardListResponse in gpg(GTLGamesLeaderboardListResponse.o)
      _OBJC_CLASS_$_GTLGamesPlayerAchievementListResponse in gpg(GTLGamesPlayerAchievementListResponse.o)
      _OBJC_CLASS_$_GTLGamesPlayerEventListResponse in gpg(GTLGamesPlayerEventListResponse.o)
      _OBJC_CLASS_$_GTLGamesPlayerLeaderboardScoreListResponse in gpg(GTLGamesPlayerLeaderboardScoreListResponse.o)
      _OBJC_CLASS_$_GTLGamesRoomList in gpg(GTLGamesRoomList.o)
      _OBJC_CLASS_$_GTLGamesTurnBasedMatchList in gpg(GTLGamesTurnBasedMatchList.o)
      ...
  "_OBJC_CLASS_$_GTLObject", referenced from:
      _OBJC_CLASS_$_GTLGamesManagementHiddenPlayer in gpg(GTLGamesManagementHiddenPlayer.o)
      _OBJC_CLASS_$_GTLGamesManagementPlayer in gpg(GTLGamesManagementPlayer.o)
      _OBJC_CLASS_$_GTLGamesAchievementDefinition in gpg(GTLGamesAchievementDefinition.o)
      _OBJC_CLASS_$_GTLGamesAchievementIncrementResponse in gpg(GTLGamesAchievementIncrementResponse.o)
      _OBJC_CLASS_$_GTLGamesAchievementSetStepsAtLeastResponse in gpg(GTLGamesAchievementSetStepsAtLeastResponse.o)
      _OBJC_CLASS_$_GTLGamesAchievementUpdateResponse in gpg(GTLGamesAchievementUpdateResponse.o)
      _OBJC_CLASS_$_GTLGamesCategory in gpg(GTLGamesCategory.o)

我已将 GoogleSignIn.framework、gpg.bunde 和 gbg.framework 添加到项目中。

我搜索了其中的一些(如 GTLCollectionObject),但找不到它在项目中的引用位置。

我已经在设备上尝试过,尝试删除 64 位架构以及许多其他内容,但我遇到了 32 个错误。这个设置我缺少什么?

【问题讨论】:

    标签: ios xcode google-play-games


    【解决方案1】:

    您还需要添加 GoogleOpenSource.framework

    https://developers.google.com/games/services/ios/quickstart#option_2_manual_installation 的第 3 步和第 4 步对此进行了介绍

    • Google+ Downloads page 下载并提取最新的 Google+ iOS SDK。
    • 将以下项目从 Google+ SDK 复制到您的项目中: GoogleOpenSource.framework

    只是出于好奇,为什么不用 Cocoapods?它在向项目中添加所需的框架方面做得很好,无需从多个站点下载然后将它们复制到项目中。

    【讨论】:

    • 确实是阻力最小的路径。以前从未使用过 pod,但我已经导入了很多次框架。在尝试另一个之前,我想我会得到一个简单的例子。谢谢你抓住这个!我本可以发誓该链接告诉我下载登录信息。我开始怀疑自己的理智了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    相关资源
    最近更新 更多