Those warnings suggest that the target, SQLCipher
(the errors above are for the framework target, yeah?), does not have sqlite3.h
in its search paths for headers. That file declares the symbols in sqlite3.c
that Xcode is determining are implicitly declared.
If you switch to the project navigator view in Xcode (keyboard shortcut ⌘ 1), is there a sqlite3.h
file present? There is a search field you can use to check quickly. If not, you’ll want to select File > “Add Files to [target name]…” From there navigate to and select the sqlite3.h
file generated with your libsqlcipher.a
. There will be an Options button on that add dialog, select it and make sure no targets are set (as this is a header file, not a source file, we don’t want to add it to your targets Compile Sources, which is what that checkbox does).
Alternatively, or if that doesn’t work, have a look at the Header Search Paths setting under the Build Settings for your target and make sure that the path to your SQLCipher build’s sqlite3.h
is listed there.
Finally, take a look at our guidance for Xcode 9, which deals with this and similar problems.