将 GooglePlayGames API 添加到 Xcode 会导致多个架构 i386 错误

Adding GooglePlayGames API to Xcode results in multiple architecture i386 errors

所以我正在尝试将 Google Play Games 添加到我的应用程序中,但我很难让他们的示例代码正常工作。我在 stack overflow 上看到过几次提到这个问题,但我还没有找到明确的答案。

我遵循此处列出的手册说明: 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 个错误。我在这个设置中缺少什么?

您还需要添加 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?它可以很好地将所需的框架添加到项目中,而无需从多个站点下载然后将它们复制到项目中。