Salesforce iOS SDK - sqlite3符号的链接器问题

时间:2015-02-12 21:36:13

标签: ios xcode salesforce-ios-sdk

我使用的是SalesforceMobileSDK的第2版。我正在构建静态库目标的发布版本(SalesforceSDKCore)。

一旦构建成功,我将创建的Universal静态库(〜/ Library / Developer / Xcode / DerivedData / Build / Products / Release-iphoneos /)复制到我的项目中。

我已在构建阶段选项卡中将libSalesforceSDKCore.a库添加到Link Binary With Libraries。

我还将Build Settings中的Library Search Paths设置为我项目中libSalesforceSDKCore.a lib的路径。

然而,当我去构建我的项目时,我不断发现链接器错误:

"_sqlite3_key", referenced from:
  -[FMDatabase setKey:] in libSalesforceSDKCore.a(FMDatabase.o)
"_sqlite3_rekey", referenced from:
  -[FMDatabase rekey:] in libSalesforceSDKCore.a(FMDatabase.o)
"_deflate", referenced from:
  -[NSData(SFzlib) gzipDeflate] in libSalesforceCommonUtils.a(NSData+SFAdditions.o)
"_deflateInit2_", referenced from:
  -[NSData(SFzlib) gzipDeflate] in libSalesforceCommonUtils.a(NSData+SFAdditions.o)
"_deflateEnd", referenced from:
  -[NSData(SFzlib) gzipDeflate] in libSalesforceCommonUtils.a(NSData+SFAdditions.o)

我的问题是

  1. 如何构建libSalesforceSDKCore.a以使其包含sqlite3_key符号

  2. 如何找到libSalesforceCommonUtils.a中引用的缺失符号的“deflate”实现代码

  3. 如果我遗漏了相关信息,请问我。我可以提供很多但是为了提供有用的信息,我一直保持这个问题的稀疏性。

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,将libz.tbd添加到Build Phase-> Link Binaries to Libraries解决了我的问题。