2012-09-13 48 views
2

我能够分发和使用即席测试我的应用程序,但是当我验证它的应用程序商店提交的组织者(Xcode中4.3.2 - 产品>归档>验证)我得到以下错误应用程序拒绝使用libsqlite3.dylib

  • 您的应用包含非公开的API使用
  • 应用程序引用非公共符号在有效载荷/ appname.app/libsqlite3.dylib: _dispatch_source_type_vm

我的应用程序使用sqlite3的用于存储数据的获得youtube ie video ti TLE和相应的图像网址(最多10条)

我已删除和添加库文件, 集部署目标至4.0, 请帮忙从苹果

回答

13
从苹果团队

得到解决

  • 响应(DTS - 开发者技术支持):

“您应该只链接到libsqlite3.dylib库。你不需要将它复制到你的应用程序,因为iOS版附带的SQLite3的图书馆“

  • 解决方法:在Xcode

删除libsqlite3.dylib,并添加‘-libsqlite3’到”其他链接器标记”项目下>构建设置和Target>构建设置。


验证是成功的,提交的应用的应用商店审核 ... 刚刚更新FYI 应用程序得到批准

+0

Thx man!我有一个应用程序在几周内出来,我有libsqlite3.dylib包括在内。知道这会使我无法接受。所以再次,thx! – Hrafn

+1

欢迎您@MrDresden和好运气,我觉得下面的链接有用提交应用AppStore的审核 参见[这](http://www.makayama.com/checklist.html) –

2

正确的标志应该是“-lsqlite3”作为LS语法(见$男人LD):

-lx这个选项告知链接搜索libx.dylib或libx中。一个在图书馆搜索路径中。如果串x的形式y.o的,那么该文件中搜索在同一个地方,但没有前面加上lib' or appending。一“或'名为.dylib”为文件名

如果使用“-libsqlite3”为标志你会得到链接错误“未找到库”。

+0

谢谢,这个固定的前我的问题。 –