2017-10-27 3 views
2

Ich möchte in der Lage sein, die leveldb-library.framework verwenden, die Google mit ihrem Firebase iOS SDK liefert. Ich kann das Framework nicht importieren.Verwenden Sie leveldb-library.framework von Firebase für iOS mit Xcode9

Was ich tat: 1: Kopie LevelDB-library.framework dir 2 zu projizieren: in Xcode> Target> Linked Frameworks und Bibliotheken [+] fügen Sie den Rahmen screenshot1

3: Stellen Sie sicher, dass der Kopf Suchpfad es richtig eingestellt screenshot2

4: fügen sie ein Objective-C++ Wrapper-Klasse und importieren die LevelDB Header screeenshot3

Gettin g ein Linker-Fehler:

/Users/ronny/projects/clients/internal/TestCD/TestCD/LevelDB.mm:11:9: fatal error: 'leveldb/db.h' file not found 
#import "leveldb/db.h" 
     ^~~~~~~~~~~~~~ 
1 error generated. 

Die Header-Verzeichnis im Rahmen der alle Header bestimmt: db.h, options.h aber ohne die „LevelDB“ übergeordnete Verzeichnis.

Ändern der Einfuhren in die folgenden führt den gleichen Fehler:

#import <leveldb/db.h> 
#import <leveldb/options.h> 

Sobald ich die Importe dies zu ändern:

#import <leveldb-library/db.h> 
#import <leveldb-library/options.h> 

der Linker in der Lage, die enthält zu finden, aber wirft einen weiteren Fehler:

screenshot4

In file included from /Users/ronny/projects/clients/internal/TestCD/TestCD/LevelDB.mm:11: 
/Users/ronny/projects/clients/internal/TestCD/leveldb-library.framework/Headers/db.h:10:10: fatal error: 'leveldb/iterator.h' file not found 
#include "leveldb/iterator.h" 
     ^~~~~~~~~~~~~~~~~~~~ 
1 error generated. 

An diesem Punkt bin ich nicht mehr sicher, was getan werden kann, um dies zu beheben. Das Hinzufügen des Importpfads hilft auch nicht. Xcode vervollständigt den Import als solche:

screenshot5

Alle Zeiger auf diese Lösung sehr geschätzt werden würde. Das Projekt finden Sie hier: https://github.com/ronnyf/TestCD

+0

Ich habe auch dieses Problem konfrontiert. Sie sollten dieses Framework in eingebettete Binärdateien importieren. Folgen Sie diesem Schritt: Xcode> Ziel> Allgemein> Eingebettete Binärdateien und Bibliotheken [+] fügen Sie das Framework hinzu. Projekt säubern und ausführen –

+0

Danke für den Kommentar. Dies löst das Problem leider nicht. Der Compiler beschwert sich immer noch 'leveldb/db.h' Datei nicht gefunden – Ron

Antwort

0

Das Framework erwartet leveldb aufgerufen werden, aber Ihr Beispiel nennt es leveldb-library.

Aktualisieren Sie das Xcode-Projekt mit dem umbenannten Framework, und es wird erfolgreich erstellt.

+0

Vielen Dank Paul für die schnelle Antwort. Es funktioniert natürlich, wie Sie vorgeschlagen haben. Ich hatte gehofft, ich könnte die leveldb-library.framework, die ich bereits mit meinem Projekt über die Firebase iOS SDK verknüpft haben, wiederverwenden. – Ron

+0

Es sollte möglich sein - nur ein bisschen komplizierter mit Mung Xcode Optionen. Sie können sich ansehen, wie CocoaPods das Projekt eingerichtet hat, um den Zugriff auf die leveldb-Bibliothek zu ermöglichen - oder ein anderes Beispielprojekt, das Firebase enthält, an github senden und ich werde es mir ansehen. –

+0

Ich habe das Projekt auf GitHub aktualisiert: https: // github.com/ronnyf/TestCD – Ron

Verwandte Themen