2016-01-13 18 views
9

Ich verwende CommonCrypto in einem Swift-Framework - und es funktioniert seit über einem Jahr gut.Xcode 7.3 Beta 1 gegen CommonCrypto in Swift

I-Lösungen hier verwendet: Importing CommonCrypto in a Swift framework

Insbesondere CommonCrypto aus dem Swift Rahmen zu verweisen, musste ich:

erstellen module.map Datei in einem Ordner CommonCrypto neben meinen Rahmen des Xcode-Projekt benannt. module.map Inhalt:

module CommonCrypto [system] 
{ 
    header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/CommonCrypto/CommonCrypto.h" 
    link "CommonCrypto" 
    export * 
} 
  • In meinem Rahmen Projekt Swift Import Paths, füge ich CommonCrypto
  • In meinem Rahmenprojektes der Bibliothek Suchpfad, ich bin: $(SDKROOT)/usr/lib/system
  • In meiner Quelle, ich bin: import CommonCrypto

Dies funktionierte gut; ein wenig verschachtelt - aber es hat funktioniert.

In Xcode 7.3 Beta 1 (7D111g) funktioniert diese Technik jedoch nicht mehr.

Es scheint, dass libcommonCrypto.tbd entfernt wurde von: $(SDKROOT)/usr/lib/system innerhalb Xcode-beta.app. Und ich kann es nirgendwo unter der iPhoneOS SDK Ordnerstruktur finden.

So bekomme ich diese Fehler:

ld: warning: directory not found for option '-L/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/system' ld: library not found for -lCommonCrypto for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Es wäre toll, wenn das verrückt Modul Karte Geschäft mit etwas einfacher ersetzt wurde. Wie zum Beispiel, nur mit import CommonCrypto

In jedem Fall bin ich mir nicht sicher, wie dies zu lösen, so dass jede Hilfe geschätzt wird.

Ich frage hier als eine neue Frage für den Fall, dass die Lösung wesentlich von Lösungen in der vorherigen Frage gefunden, obwohl ich weiß, dass dies möglicherweise nicht angemessen ist.

Antwort

0

Es ist wie die Lösung aussieht, ist die Zeile zu entfernen:

link "CommonCrypto" 

aus der module.map Datei.