Question

i am able to distribute and test my app using adhoc, but when i validate it for app store submission in organizer(xcode 4.3.2 - Product > Archive > Validate) i get the following error

  • your app contains non public api usage
  • the app references non public symbols in payload/appname.app/ libsqlite3.dylib: _dispatch_source_type_vm

my app uses sqlite3 for storing data got from youtube i.e video title and corresponding image url (max 10 records)

i have removed and added lib file, set deployment target to 4.0, please help

Was it helpful?

Solution

Got solution from Apple team

  • Response from Apple(DTS - Developer Technical Support):

"You should only link to the libsqlite3.dylib library. You don't need to copy it into your app, because iOS ships with an SQLite3 library".

  • Solution:

Remove libsqlite3.dylib from xcode and add '-libsqlite3' to "Other Linker Flags" under Project > Build Settings and Target > Build Settings.


The validation was successful and submitted the app to app store for review ... Just updating FYI The app got approved

OTHER TIPS

The correct flag should be '-lsqlite3' as the ls syntax is (see $man ld):

-lx This option tells the linker to search for libx.dylib or libx.a in the library search path. If string x is of the form y.o, then that file is searched for in the same places, but without prepending lib' or appending.a' or `.dylib' to the filename.

If you use '-libsqlite3' for the flag you get the "Library not found" linker error.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top