app因使用libsqlite3.dylib而被拒绝

时间:2012-09-13 16:57:12

标签: iphone app-store submission

我可以使用adhoc分发和测试我的应用,但是当我在管理器中验证应用商店提交时(xcode 4.3.2 - Product> Archive> Validate)我收到以下错误

  • 您的应用包含非公开API使用
  • 应用程序引用payload / appname.app / libsqlite3.dylib中的非公共符号: _dispatch_source_type_vm

我的应用程序使用sqlite3存储从youtube获取的数据,即视频标题和相应的图像网址(最多10条记录)

我删除并添加了lib文件, 将部署目标设置为4.0, 请帮忙

2 个答案:

答案 0 :(得分:13)

从Apple团队获得解决方案

  • Apple的回复(DTS - 开发者技术支持):

“你应该只链接到libsqlite3.dylib库。你不需要将它复制到你的应用程序中,因为iOS附带了一个SQLite3库”。

  • 解决方案:

从xcode中删除libsqlite3.dylib并将“-libsqlite3”添加到Project>下的“Other Linker Flags”中构建设置和目标>构建设置。


验证成功并将应用程序提交到应用商店进行审核 ... 只是更新FYI 该应用程序获得批准

答案 1 :(得分:3)

正确的标志应该是' -lsqlite3'因为ls语法是(参见$ man ld):

-lx此选项告诉链接器在库搜索路径中搜索libx.dylib或libx.a。如果字符串x的格式为y.o,则会在相同的位置搜索该文件,但不预先lib' or appending。'或`.dylib'到文件名

如果您使用' -libsqlite3'对于国旗你得到了#34;未找到图书馆"链接器错误。