Ich habe eine statische Bibliothek von einem Drittanbieter-SDK - es ist das FIT SDK, das codiert und entschlüsselt "Flexible & Interoperable Data Transfer Protocol", für verschiedene Sportarten und Fitness verwendet Ausrüstung. Es ist ein Binärformat, das im SDK gut beschrieben ist und das auch eine Reihe von CPP-, C-Sharp- und Objective-C-Beispielen enthält - sowie eine statische Bibliothek, die aus einer CPP-Quelle besteht.Building Swift, Objective-C und eine statische C++ - Bibliothek Together
Von dem, was alle zu sagen scheinen, sollte ich in der Lage sein, meine Swift-App mit der statischen Bibliothek, einschließlich der erforderlichen Bridging-Header zu bauen.
Ich machte einen Screenflow (https://vimeo.com/205082135) was zeigt, was passiert, weshalb ich hier bin.
Ich kann Xcode 8 (Beta 3) erhalten, um ein neues, frisches Projekt zu erstellen, das die Bibliothek und sogar irgendeinen Objective-C-Code enthält. Sobald ich den Überbrückungs-Header, selbst mit einem rudimentären Include, XCode-Krater mit einem Linker-Fehler hinzufüge, beschwere ich mich, dass er keine Klasse aus der Standard-C++ - Bibliothek wie oder finden kann. Riecht wie ein Konfigurationsmanagementproblem mit Xcode, das ich einfach nicht aussortieren kann.
Mein Beispielprojekt mit der Bibliothek ist hier: https://github.com/bleeckerj/Xcode-FIT-TEST
jemand so etwas schon einmal gesehen hat?
Ich bin mir nicht sicher, ob dies Ihr Problem vollständig lösen wird, aber Swift kann nicht direkt mit C++ zusammenarbeiten. Sie müssen die C++ - Bibliothek mit einer Objective-C-API umschließen und diese Objective-C-API nur für Swift verfügbar machen. –
Daves Kommentar ist korrekt. Sie könnten die C (nicht C++) API direkt von Swift oder eine Obj-C API verwenden, wenn es eine gibt (obwohl basierend auf der Tatsache, dass Ihr Projekt .mm Dateien hat, ich vermute, dass es keine bereits existierende gibt Verpackung). Andernfalls müssen Sie es selbst verpacken. – jtbandes
Siehe auch: https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html#//apple_ref/doc/uid/TP40014216-CH8-ID17 – jtbandes