【问题标题】:AWS SDK Linker Flags conflicting with imported projectAWS 开发工具包链接器标志与导入的项目冲突
【发布时间】:2015-06-03 23:38:16
【问题描述】:

我已经成功使用 AWS 开发工具包框架获得了一个应用程序,现在我正在尝试将一个静态库作为自制框架导入,并与我的其他几个项目共享代码。

问题是:为了导入我的静态库,我 need to add -ObjC 链接器标志以导入库,但是每当我添加该链接器标志时,AWS 吓坏了并给了我 40 多个红色编译错误。

我对链接器标志和库导入完全陌生,所以我真的不知道从哪里开始。我做了一些研究,但我能找到的最好的线索是我可以使用-force_load 而不是-ObjC 的建议,但这似乎需要在“构建阶段”部分手动添加每个“.m”文件,并且我的库包含数百个此类文件。

有没有比添加每个文件更简单的解决方案,以便我可以使用-force_load?我怎样才能让 AWK SDK 和导入我的库的需求一起很好地发挥作用?

编辑:根据 cmets 中的建议,这是我在添加 -ObjC 链接器标志时遇到的错误。如果没有该标志(并且没有添加静态库),应用程序将使用 AWSiOSSDKv2 框架成功编译。但是添加该链接器标志(据我了解,静态库需要它,但甚至在添加该库之前)会立即导致:

[删除代码以适应字符限制]

编辑 2: 根据 Yosuke Matsuda 的回答,我添加了 libsqlite3.dylib,这是我遗漏的。现在以前的错误已经消失了,但是我有几十个(几百个?)“重复符号”行,以一个红色的“链接器命令失败,退出代码 1”错误结束。 (我会把它们都包括在内,但有趣的是,他们把我的帖子放在了 73,111 个字符上,远远超过了 30,000 个字符的限制。)

有趣的是,它们似乎是由框架本身的要求引起的冲突(例如,AWS Framework 中的AWSCore 需要Bolts 框架,但它们似乎与一堆重复的符号冲突? )。

并且,和以前一样,只需从链接器标志中删除 -ObjC 即可让应用程序正常编译并成功。

duplicate symbol _OBJC_METACLASS_$_PodsDummy_Pods_Reachability in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Pods-Reachability-dummy.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/Reachability.framework/Reachability(Pods-Reachability-dummy.o)
duplicate symbol _OBJC_CLASS_$_PodsDummy_Pods_Reachability in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Pods-Reachability-dummy.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/Reachability.framework/Reachability(Pods-Reachability-dummy.o)
duplicate symbol _OBJC_IVAR_$_Reachability.reachabilityRef in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Reachability.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/Reachability.framework/Reachability(Reachability.o)
duplicate symbol _OBJC_IVAR_$_Reachability.reachableOnWWAN in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Reachability.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/Reachability.framework/Reachability(Reachability.o)
duplicate symbol _kReachabilityChangedNotification in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Reachability.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/Reachability.framework/Reachability(Reachability.o)
duplicate symbol _OBJC_IVAR_$_Reachability.reachabilitySerialQueue in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Reachability.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/Reachability.framework/Reachability(Reachability.o)
duplicate symbol _OBJC_IVAR_$_Reachability.reachableBlock in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Reachability.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/Reachability.framework/Reachability(Reachability.o)
duplicate symbol _OBJC_IVAR_$_Reachability.unreachableBlock in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Reachability.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/Reachability.framework/Reachability(Reachability.o)
duplicate symbol _OBJC_IVAR_$_Reachability.reachabilityObject in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Reachability.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/Reachability.framework/Reachability(Reachability.o)
duplicate symbol _OBJC_CLASS_$_Reachability in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Reachability.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/Reachability.framework/Reachability(Reachability.o)
duplicate symbol _OBJC_METACLASS_$_Reachability in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Reachability.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/Reachability.framework/Reachability(Reachability.o)
duplicate symbol _OBJC_METACLASS_$_PodsDummy_Pods_XMLDictionary in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Pods-XMLDictionary-dummy.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(Pods-XMLDictionary-dummy.o)
duplicate symbol _OBJC_CLASS_$_PodsDummy_Pods_XMLDictionary in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(Pods-XMLDictionary-dummy.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(Pods-XMLDictionary-dummy.o)
duplicate symbol _OBJC_IVAR_$_XMLDictionaryParser._collapseTextNodes in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_IVAR_$_XMLDictionaryParser._stripEmptyNodes in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_IVAR_$_XMLDictionaryParser._trimWhiteSpace in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_IVAR_$_XMLDictionaryParser._alwaysUseArrays in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_IVAR_$_XMLDictionaryParser._preserveComments in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_IVAR_$_XMLDictionaryParser._wrapRootNode in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_IVAR_$_XMLDictionaryParser._attributesMode in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_IVAR_$_XMLDictionaryParser._nodeNameMode in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_IVAR_$_XMLDictionaryParser._root in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_IVAR_$_XMLDictionaryParser._stack in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_IVAR_$_XMLDictionaryParser._text in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_CLASS_$_XMLDictionaryParser in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_METACLASS_$_XMLDictionaryParser in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(XMLDictionary.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/XMLDictionary.framework/XMLDictionary(XMLDictionary.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._databasePath in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._openResultSets in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._db in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._logsErrors in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._crashOnErrors in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._maxBusyRetryTimeInterval in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._startBusyRetryTime in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._cachedStatements in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._dateFormat in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._isExecutingStatement in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._traceExecution in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._shouldCacheStatements in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _FMDBExecuteBulkSQLCallback in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._inTransaction in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _FMDBBlockSQLiteCallBackFunction in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._openFunctions in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabase._checkedOut in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMStatement._statement in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMStatement._inUse in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMStatement._useCount in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMStatement._query in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_CLASS_$_FMDatabase in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_METACLASS_$_FMDatabase in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_CLASS_$_FMStatement in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_METACLASS_$_FMStatement in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabase.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabase.o)
duplicate symbol _OBJC_IVAR_$_FMDatabasePool._path in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabasePool.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabasePool.o)
duplicate symbol _OBJC_IVAR_$_FMDatabasePool._lockQueue in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabasePool.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabasePool.o)
duplicate symbol _OBJC_IVAR_$_FMDatabasePool._databaseInPool in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabasePool.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabasePool.o)
duplicate symbol _OBJC_IVAR_$_FMDatabasePool._databaseOutPool in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabasePool.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabasePool.o)
duplicate symbol _OBJC_IVAR_$_FMDatabasePool._openFlags in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabasePool.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabasePool.o)
duplicate symbol _OBJC_IVAR_$_FMDatabasePool._delegate in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabasePool.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabasePool.o)
duplicate symbol _OBJC_IVAR_$_FMDatabasePool._maximumNumberOfDatabasesToCreate in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabasePool.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabasePool.o)
duplicate symbol _OBJC_CLASS_$_FMDatabasePool in:
    /Users/kornferry/Documents/Repositories/kf4ddemo/AWSiOSSDKv2.framework/AWSiOSSDKv2(FMDatabasePool.o)
    /Users/kornferry/Documents/Repositories/kf4ddemo/FMDB.framework/FMDB(FMDatabasePool.o)
[And on and on and on, ending with...]
ld: 260 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

  • 您应该发布实际的编译器错误消息和所有依赖的框架。如果您看到重复符号错误,则您多次包含相同的目标文件。此外,- force_load 不需要您添加每个 .m 文件。您强制加载静态库,而不是源文件。
  • @YosukeMatsuda 添加。我没有遇到过这样的阅读错误,但它似乎是一大堆“未定义的符号”错误,而不是“重复的符号”。问题是,这是一个框架,所以我不能(或认为我不能)改变它的内部运作,可以吗?据我所知,我只能访问.h 文件。

标签: ios amazon-web-services import aws-sdk linker-flags


【解决方案1】:

适用于 iOS 的 AWS 移动开发工具包依赖于 libsqlite3.dyliblibz.dylibSystemConfiguration.framework,但您并未提供它们。这就是错误消息的原因。 AWS Mobile SDK for iOS Developer Guide 的这一部分列出了必要的依赖关系。

【讨论】:

  • 我错过了libsqlite3.dylib,谢谢!但是现在我遇到了您所说的那些“重复符号”错误。问题已编辑,有什么建议吗?
  • 您使用的是什么版本的 SDK?在 2.0.15 之前,SDK 存在嵌入第三方库的问题。您应该使用 2.0.15 或更高版本,看看它是否能解决问题。
猜你喜欢
  • 2013-07-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-21
  • 1970-01-01
相关资源
最近更新 更多