Xcode 7 Tippen Sie unter Ziel> BuildPhases> Binär mit Bibliotheken verknüpfen> auf die Schaltfläche +
Wenn Sie Frameworks zum Hinzufügen auswählen, können Sie * .dylib nicht finden. Stattdessen wird * .tbd angezeigt.
Was ist der Grund dafür?
** Für Leute, die Dylib brauchen, folgen Sie diesem Beitrag
- Wählen Sie "Andere hinzufügen"
- Sobald Sie im Dateiauswahlfenster "CMD" + Umschalt + G (Gehe zu Ordner) und geben Sie / usr / lib / ein
- Unter / user / lib finden Sie die * .dylib-Dateien
Antworten:
Ich habe Google durchsucht, aber das einzige, was ich bisher finden kann, ist das folgende Zitat aus den Apple-Entwicklerforen :
Hoffentlich wird bald mehr Dokumentation kommen.
Aktualisieren
Hier ist als Beispiel der gesamte Inhalt von libsqlite3.tbd . Es ist nur eine Textdatei. Beachten Sie, dass der Installationsname libsqlite3.dylib lautet .
Ich habe diese und andere .tbd-Dateien in gefunden
Sie können auch eine .tbd-Datei anzeigen, wenn Sie zur Registerkarte Allgemein Ihres Xcode-Projekts gehen und dann unter Verknüpfte Frameworks und Bibliotheken eine Bibliothek hinzufügen. Die .tbd-Datei wird in Ihr Projekt kopiert.
Es scheint also, dass die .dylib-Datei die eigentliche Bibliothek von Binärcode ist, die Ihr Projekt verwendet, und sich im Verzeichnis / usr / lib / auf dem Gerät des Benutzers befindet. Die .tbd-Datei ist dagegen nur eine Textdatei, die in Ihrem Projekt enthalten ist und als Link zur erforderlichen .dylib-Binärdatei dient. Da diese Textdatei viel kleiner als die Binärbibliothek ist, wird die Downloadgröße des SDK kleiner.
An dieser Stelle vermute ich nur die angegebenen Informationen. Bitte korrigieren Sie mich, wenn ich falsch liege.
quelle
.dylib ist die kompilierte Binärdatei, die den Maschinencode enthält. .tbd ist eine kleinere Textdatei, ähnlich einer plattformübergreifenden Modulzuordnung.
quelle
.tbd
-Text Based dylib stubs
. Dies ist eine Art Optimierung, bei der Sie keine.dylib
Datei (die auf einem Ziel vorhanden ist) in Ihr Bundle (z. B. eine Anwendung) kopieren müssen . Diese Datei enthält keinen Binärcode, der einen großen Einfluss auf die Dateigröße hat.Es gilt nur für:
Dynamic libraries
weil sie zur Laufzeit verknüpft sindstandard system libraries
.Für die iOS-Entwicklung finden Sie .tbd-Dateien, die Sie hier verwenden können
Zum Beispiel
libiconv.tbd
sieht aus wieDiese Datei enthält einige Metainformationen wie:
.dylib
Ortquelle