Implizite Deklaration der Funktion 'sqlite3_key'?

7

Ich arbeite an SQLite File Encryption . Ich habe sqlCipher & amp; Krypto-Frameworks erfolgreich in meinem Projekt.

Wenn ich jetzt versuche, meine Anwendung in dieser Zeile zu kompilieren

%Vor%

es sagt Implizite Erklärung der Funktion 'sqlite3_key'

So über Zeile "implizite Deklaration" klingt für mich wie Funktion definiert aber nicht deklariert. Aber wo muss ich erklären?

Bei der Suche über das Internet unter diesem Artikel heißt es wie SQLite Encryption Extension (SEE) ist nicht öffentlich verfügbar. Ich muss es von Kosten um $ 2000 kaufen.

SEE - & gt; Ссылка

Das ist also der einzige Grund, warum ich eine implizite Deklaration erhalte. Falsche Antwort beim SQLite-Verschlüsselungsprozess?

    
Tariq 15.06.2011, 09:50
quelle

2 Antworten

6

Ja, das ist der Grund, warum Sie diese Compiler-Warnung erhalten. Die Funktion sqlite3_key () ist in der Version von libsqlite3, die in iOS enthalten ist, nicht definiert. Das Hinzufügen einer Funktionsdeklaration wird nicht helfen - es würde die Compilerwarnung beheben, aber es würde nur bedeuten, dass Sie einen Linkerfehler bekommen, da die Funktion nirgends definiert ist.

Wenn Sie SEE gekauft haben, könnten Sie wahrscheinlich Ihre eigene Kopie von SQLite erstellen, diese in Ihre App einbetten und einfach nicht die libsqlite3 des Systems verwenden. Das würde bedeuten, dass Sie "Ja" sagen müssen, wenn im Appstore-Übermittlungsprozess angegeben wird, ob Ihre App Verschlüsselung enthält, was zusätzlichen Papierkram und Zeit bedeutet, bevor Sie die App einreichen können. Ich bin mir nicht sicher, ob es einen klaren Hinweis darauf gibt, ob Apple es auch dann akzeptieren würde - wahrscheinlich würden sie es tun, aber sie sind dafür bekannt, die Leute zu überraschen.

    
Tom Harrington 23.06.2011, 16:32
quelle
20

Wenn Sie SQLCipher verwenden, müssen Sie SQLITE_HAS_CODEC in den C-Flags Ihrer Anwendung definieren. Das ist alles.

    
adiman 02.12.2012 02:32
quelle