【问题标题】:Getting Sharekit to work让 Sharekit 工作
【发布时间】:2012-11-06 11:25:30
【问题描述】:

我按照以下步骤:https://github.com/ShareKit/ShareKit/wiki/Installing-sharekit 安装 Sharekit。但我仍然面临一些错误。我不确定如何解决这个问题。

错误:

Undefined symbols for architecture i386:
  "_ACAccountTypeIdentifierFacebook", referenced from:
      +[FBSession renewSystemAuthorization] in libShareKit.a(FBSession.o)
  "_ACFacebookAppIdKey", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
  "_ACFacebookAudienceEveryone", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
  "_ACFacebookAudienceFriends", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
  "_ACFacebookAudienceKey", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
  "_ACFacebookAudienceOnlyMe", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
  "_ACFacebookPermissionsKey", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
  "_OBJC_CLASS_$_ACAccountStore", referenced from:
      objc-class-ref in libShareKit.a(FBSession.o)
  "_OBJC_CLASS_$_ASIdentifierManager", referenced from:
      objc-class-ref in libShareKit.a(FBSettings.o)
  "_OBJC_CLASS_$_SLComposeViewController", referenced from:
      objc-class-ref in libShareKit.a(FBNativeDialogs.o)
  "_SLServiceTypeFacebook", referenced from:
      +[FBNativeDialogs composeViewControllerWithSession:handler:] in libShareKit.a(FBNativeDialogs.o)
  "_sqlite3_bind_double", referenced from:
      -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _writeEntryInDatabase:] in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_bind_int", referenced from:
      -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _writeEntryInDatabase:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _trimDatabase] in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_bind_text", referenced from:
      -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _writeEntryInDatabase:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _readEntryFromDatabase:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _readEntriesFromDatabase:excludingFragment:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _removeEntryFromDatabaseForKey:] in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_close", referenced from:
      ___23-[FBCacheIndex dealloc]_block_invoke_0 in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_column_double", referenced from:
      -[FBCacheIndex _createCacheEntityInfo:] in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_column_int", referenced from:
      -[FBCacheIndex _createCacheEntityInfo:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _fetchCurrentDiskUsage] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _trimDatabase] in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_column_text", referenced from:
      -[FBCacheIndex _createCacheEntityInfo:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _trimDatabase] in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_errmsg", referenced from:
      ___23-[FBCacheIndex dealloc]_block_invoke_0 in libShareKit.a(FBCacheIndex.o)
      _releaseStatement in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in libShareKit.a(FBCacheIndex.o)
      _initializeStatement in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _writeEntryInDatabase:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _readEntryFromDatabase:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _readEntriesFromDatabase:excludingFragment:] in libShareKit.a(FBCacheIndex.o)
      ...
  "_sqlite3_exec", referenced from:
      ___36-[FBCacheIndex initWithCacheFolder:]_block_invoke_0 in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_finalize", referenced from:
      _releaseStatement in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_open_v2", referenced from:
      ___36-[FBCacheIndex initWithCacheFolder:]_block_invoke_0 in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_prepare_v2", referenced from:
      _initializeStatement in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_reset", referenced from:
      _initializeStatement in libShareKit.a(FBCacheIndex.o)
  "_sqlite3_step", referenced from:
      -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _writeEntryInDatabase:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _createCacheEntityInfo:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _fetchCurrentDiskUsage] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _removeEntryFromDatabaseForKey:] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _dropTrimmingTable] in libShareKit.a(FBCacheIndex.o)
      -[FBCacheIndex _trimDatabase] in libShareKit.a(FBCacheIndex.o)
      ...
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

需要一些有关如何解决此问题的指导...不胜感激...

【问题讨论】:

  • 我遇到了类似的错误,但使用的是 armv7 架构。像你一样得到同样的 _OBJC_CLASS_$_ACAccountStore 错误 + 一堆其他 sqlite 错误。如果我找到解决方案,我会尝试在此处发布。希望我们能弄清楚这一点。
  • 我通过删除这篇文章建议的“-ObjC -all_load”修复了链接器错误:Sharekit Issue #408

标签: ios facebook ios6 sharekit


【解决方案1】:

我有同样的问题,切换到使用新的 Facebook SDK 3.0 的 ShareKit 库。

您需要添加这些框架和库来解决错误:

Social.framework
AdSupport.framework
Accounts.framework
libsqlite3.dylib

【讨论】:

  • 如果为 iOS 5.X 构建这些框架应该标记为可选正确吗?因为只有新的 Facebook SDK 才需要它们?
  • 是的,他们应该这样做。顺便说一句,这个答案有效,并且比公认的更好,因为它不会强迫您删除其他框架所需的宏。
【解决方案2】:

我认为删除其他链接器标志不是一个好主意。

linking objective-c categories in a static libraryhttp://www.cocoanetics.com/2011/12/sub-projects-in-xcode/

新的 facebook SDK 需要几个框架,不要忘记将它们添加到您的项目中:

  • social.framework
  • accounts.framework
  • adsupport.framework
  • libsqlite3.dylib

【讨论】:

    【解决方案3】:

    只需添加

    libsqlite3.dylib

    来自 Xcode 中项目的链接框架和库

    【讨论】:

      【解决方案4】:

      这最终对我有用:http://t2526.codeinpro.us/q/51501c3fe8432c042610dc68

      从 Xcode 的构建设置中的其他链接器标志中删除 -ObjC 和 -all_load。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-11
        • 2010-09-27
        • 2016-04-29
        • 2013-02-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多