【问题标题】:Flurry v 4.2.3 linking issuesFlurry v 4.2.3 链接问题
【发布时间】:2013-09-12 14:27:26
【问题描述】:

我正在尝试将 Flurry 更新到最新版本,从 4.2.2 到 4.2.3。我已经更新了文件,但现在出现了各种链接错误。

    Undefined symbols for architecture i386:
  "_SecItemAdd", referenced from:
      -[FlurryKeychainWrapper setData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_SecItemCopyMatching", referenced from:
      -[FlurryKeychainWrapper dataForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_SecItemDelete", referenced from:
      -[FlurryKeychainWrapper removeObjectForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_SecItemUpdate", referenced from:
      -[FlurryKeychainWrapper updateValueData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_kSecAttrAccessible", referenced from:
      -[FlurryKeychainWrapper setData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_kSecAttrAccessibleWhenUnlocked", referenced from:
      -[FlurryKeychainWrapper setData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_kSecAttrAccount", referenced from:
      -[FlurryKeychainWrapper setupSearchForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_kSecAttrGeneric", referenced from:
      -[FlurryKeychainWrapper setupSearchForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_kSecAttrService", referenced from:
      -[FlurryKeychainWrapper setupSearchForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_kSecClass", referenced from:
      -[FlurryKeychainWrapper setupSearchForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_kSecClassGenericPassword", referenced from:
      -[FlurryKeychainWrapper setupSearchForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_kSecMatchLimit", referenced from:
      -[FlurryKeychainWrapper dataForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_kSecMatchLimitOne", referenced from:
      -[FlurryKeychainWrapper dataForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_kSecReturnData", referenced from:
      -[FlurryKeychainWrapper dataForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
  "_kSecValueData", referenced from:
      -[FlurryKeychainWrapper setData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
      -[FlurryKeychainWrapper updateValueData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

至少可以说是相当令人沮丧。我已经包含了 SystemConfiguration 框架(如提到的here)。我正在运行 xCode 4.6.3。关于问题可能出在哪里的任何想法?

【问题讨论】:

    标签: ios flurry


    【解决方案1】:

    您需要添加Security.framework,因为链接器错误中提到的符号来自该框架。


    来自Flurry update page

    如何更新?

    在此处下载最新版本的 Flurry SDK(版本 4.2.3)。 在您的构建过程中包含 Apple 的安全框架。 (有关如何执行此操作的详细信息,请参阅下面的常见问题解答条目)

    “安全”框架是强制性的吗?

    为确保数据的完整性,Flurry 要求您在更新的应用中包含此框架。

    【讨论】:

    • @SD_Guru 这有帮助吗?如果是,您可以标记为已接受的答案,以便将您的问题从“未回答”列表中删除。
    • 我也添加了安全框架,不幸的是无济于事。
    • @SD_Guru 添加Security.framework 应该可以肯定地解决这些错误。您是在创建任何使用此 Flurry 库的库/框架,还是只是将 Flurry 库添加到应用程序中?我看到错误提到libSDLibrary.a
    • @SD_Guru 确保使用您的libSDLibrary.a 的应用程序还应该链接到您的库正在链接的所有框架,包括Security.framework
    • 做到了,阿马尔!是的,这是一个嵌套库问题,最终应用程序没有链接到安全框架。非常感谢!
    猜你喜欢
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多