2015-05-11 2 views
6

Ich habe eine eigene Cocoa Touch Framework, und ich möchte es nur an einer Stelle im Code importieren. In Xcode/früher in Ziel C gab es eine zentrale Stelle unter Supporting Files. Wie funktioniert es für Swift-basierte Projekte?Importieren Sie Rahmen für das gesamte Projekt an einem Ort in Swift?

+0

haben Sie eine Lösung dafür gefunden? – Esqarrouth

+0

Nein, ich importiere in jeder Datei –

+0

Ich habe versucht, in eingebetteten Frameworks und verknüpften Frameworks hinzugefügt, hat nicht zu meiner Überraschung funktioniert. – Esqarrouth

Antwort

2

Erstellen Sie einen Frameworks-Ordner. Ziehen Sie Ihr Framework hinein und legen Sie es dort ab. Erstellen Sie dann eine Bridging-Header-Datei (die einfachste Möglichkeit, dies in Swift-Projekt zu tun, ist das Hinzufügen einer objektiven C-Klasse, und Sie werden aufgefordert, diese Bridging-Datei für Sie zu erstellen). Dann in Ihrer Bridging-Header-Datei einfach hinzufügen

#import <YourFramework/YourFramework.h> 

Dann sind Ihre Framework-Klassen von Swift zugänglich. Hoffe das hilft!

+0

ist dies für 'Cocoa Touch Framework' nicht statische Bibliothek und Swift? Da meine Datei/Klasse im Framework die .swift-Erweiterung –

+1

Apologies Janos hat, dachte ich, dass Ihr Framework auf Objective C basiert und Sie es in Ihr Swift-Projekt integrieren möchten. Ich denke Swift Frameworks werden derzeit nicht unterstützt, siehe http://stackoverflow.com/questions/24070726/building-pure-swift-cocoa-touch-framework, da Swift ziemlich neu ist und sich ändern muss. – Valentin

+0

es war aktiv vor 6 Monaten –

0

Wie ich hier beantwortet: https://stackoverflow.com/a/46878808/3203441

Ab Swift4:

  • in einem Swift Projekt Sein
  • Wollen Sie eine andere Swift Projekt global importiert haben (und mit cocoapods)

Ich habe es gerade geschafft, indem ich die folgende Zeile zu meinem Bridging-Header hinzufüge:

#import <PodName/PodName-Swift.h> 

Wie gut/schlecht ist diese Übung? Nicht sicher, aber ich wollte nur einige Erweiterungen, die in meinem Projekt verfügbar sind. Das hat den Trick gemacht.