【问题标题】:Google Map SDK on IOS Apple Mach-O Linker ErrorIOS Apple Mach-O链接器错误上的Google Map SDK
【发布时间】:2014-07-22 10:14:38
【问题描述】:

我正在开发一个需要地图的应用。我正在使用 parse sdk,因为谷歌放置了自动完成功能。我遵循了两次关于如何在我的应用程序上实现 sdk 的说明,但仍然出现 14 个错误“Apple Mach-O Linker Error”。以下是我得到的错误:

Undefined symbols for architecture x86_64:
  "_ACAccountTypeIdentifierTwitter", referenced from:
      -[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o)
  "_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_$_ACAccountStore", referenced from:
      objc-class-ref in Parse(PF_Twitter.o)
  "_OBJC_CLASS_$_FBAppCall", referenced from:
      objc-class-ref in Parse(PFFacebookAuthenticationProvider.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_CLASS_$_SLComposeViewController", referenced from:
      objc-class-ref in Parse(PF_Twitter.o)
  "_OBJC_CLASS_$_SLRequest", referenced from:
      objc-class-ref in Parse(PF_Twitter.o)
  "_OBJC_METACLASS_$_FBSessionTokenCachingStrategy", referenced from:
      _OBJC_METACLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)
  "_SLServiceTypeTwitter", referenced from:
      -[PF_Twitter getAccessTokenForReverseAuthAsync:localTwitterAccount:] in Parse(PF_Twitter.o)
      -[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我正在使用 xcode 5.1.1 和来自 google 的最后一个可用的 sdk。是不是 parse 和 google sdks 之间存在某种冲突?

【问题讨论】:

    标签: ios xcode parse-platform google-maps-sdk-ios


    【解决方案1】:

    我认为您需要将 Facebook SDK 添加到您的项目中。

    Parse SDK 有条件地引用 Facebook SDK,因此如果您使用 Parse SDK 中的 Facebook 功能,则需要包含 Facebook SDK,以便 Parse SDK 可以调用它们。通常,如果您不需要使用 Parse SDK 中的 Facebook 功能,则不需要包含 Facebook SDK。

    但是,您需要为 Google 地图包含的 -ObjC 标志会导致强制包含 Parse SDK 中对 Facebook SDK 的引用。因此链接失败,因为 Facebook SDK 不存在。

    【讨论】:

    • 我添加了 facebook sdk,但我仍然收到 EKEventEditView 的链接器错误
    【解决方案2】:

    新的Xcode 5.1 将架构armv7, armv7s, and arm64 设置为默认值。 因此,要在模拟器中测试您的代码,您需要设置

    进入你项目的"build settings" 并搜索"Build Active Architecture Only" 并设置它 到“不”

    并运行您的项目,希望它对您完美。

    【讨论】:

      猜你喜欢
      • 2013-07-21
      • 1970-01-01
      • 2014-04-06
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多