ios - 将 Google map 添加到我的应用程序时出现问题

标签 ios objective-c google-maps linker-errors

我想在我的应用程序中使用 Google map 。我下载了 SDK 并阅读了入门指南并将其应用到我的应用程序中。我添加了所需的库(仔细检查它们,或者可能是十几个),创建了我的 API key 并将其添加到我的应用程序中,然后添加了代码以添加 map View 。当我运行该应用程序时,我收到错误:

Unknown class GMSMapView in Interface Builder file.

+[GMSCameraPosition cameraWithLatitude:longitude:zoom:]: unrecognized selector sent to class 0x32d670

因此,为了解决第一个错误:我检查了 Storyboard View 是否连接良好,并且我的 View 是否连接了正确的类。然而,这没有用。我在这里搜索类似的问题,其中大多数都是“尝试产品>清理应用程序然后重新运行”。我尝试过,但没有成功,甚至从模拟器中删除应用程序也没有帮助。

为了解决第二个问题,我也搜索了它,大多数解决方案都是在“目标”中的其他链接器标志处添加-ObjC,然后不在项目中。所以我这样做了,并将架构更改为armv7(谷歌也表示)。但是,我收到了一堆有关 Match-O Type

的错误
Undefined symbols for architecture i386:
  "_FBTokenInformationExpirationDateKey", referenced from:
      -[PFFacebookTokenCachingStrategy cacheTokenInformation:] in Parse(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy expirationDate] in Parse(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy setExpirationDate:] in Parse(PFFacebookTokenCachingStrategy.o)
  "_FBTokenInformationTokenKey", referenced from:
      -[PFFacebookTokenCachingStrategy accessToken] in Parse(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy setAccessToken:] in Parse(PFFacebookTokenCachingStrategy.o)
  "_FBTokenInformationUserFBIDKey", referenced from:
      -[PFFacebookTokenCachingStrategy facebookId] in Parse(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy setFacebookId:] in Parse(PFFacebookTokenCachingStrategy.o)
  "_OBJC_CLASS_$_FBRequest", referenced from:
      objc-class-ref in Parse(PFFacebookAuthenticationProvider.o)
  "_OBJC_CLASS_$_FBSession", referenced from:
      objc-class-ref in Parse(PFFacebookAuthenticationProvider.o)
  "_OBJC_CLASS_$_FBSessionTokenCachingStrategy", referenced from:
      _OBJC_CLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)
  "_OBJC_METACLASS_$_FBSessionTokenCachingStrategy", referenced from:
      _OBJC_METACLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我想指出,我还在我的应用程序中使用 Parse 数据备份,并且错误以某种方式指向它们,但我不知道为什么!所以之后我尝试将项目中的架构更改为armv7,将其他链接器标志更改为-ObjC,而不是目标(正如Google建议的那样)。 match-o 类型错误消失了,但我最初所说的错误仍然存​​在。

请有人帮我解决这个问题!我非常希望它能够正常工作,并且我已经尝试了所有解决方案的迭代。我还下载了谷歌上传的示例代码,演示如何使用 Storyboard添加谷歌地图(可行)。我也模仿了,没用。顺便说一句,他们在目标中添加了 -ObjC 并且它正在工作!所以它解析有问题吗?我无法将它从我的应用程序中排除,我大量使用它来备份用户数据。

最佳答案

您看到的是与 Facebook SDK 相关的问题,而不是与 Google map 相关的问题...可以通过以下方法解决:Parse for iOS: Errors when trying to run the app

关于ios - 将 Google map 添加到我的应用程序时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17761456/

相关文章:

javascript - 谷歌地图 API v3 : Labelling a circle

ios - 在ios中将字符串转换为 float

ios - 呈现的接口(interface) Controller 上没有显示时钟

ios - OneSignal 向所有分割市场推送通知

iphone - 以编程方式为 .xib 中的 UIScrollView 设置委托(delegate)

javascript - Google Maps API 仅出现一个标记图标

ios - 我的 iOS 应用程序卡住但没有出现错误

ios - 在 IOS 中将图像数组上传到服务器

ios - SpriteKit 中多个不同的碰撞问题(使用 Xcode 使用 Objective-C 编写的 iOS 应用程序)

java - 如何从数据库访问所有用户?