Hallo,
ich habe folgende Konstellation:
* Swift-Framework mit Unit-Tests. Funktioniert soweit.
* Das Swift-Framework verwendet eine statische Library die in Objective-C geschrieben ist. Das war zwar etwas Gefummel bis das lief, aber immerhin ging es: Ich musste erstmal rausfinden, das bei Frameworks das Konstrukt mit den Bridging-Headern nicht funktioniert. Stattdessen muss man die Header der zu verwendenden Objective-C-Klassen in den Umbrella-Header des Frameworks packen. Logisch, hätte ich ja gleich draufkommen können.
* So, jetzt laufen aber die Unitests nicht mehr, weil das Unit-Test-Target die Objective-C Klassen nicht kennen mag. Egal was ich importiere, Header dem Projekt hinzufüge, es geht nicht Dabei werden die Objective-C-Klassen nur innerhalb des Frameworks verwendet, nicht explizit in den Tests.
Hat jemand einen Tipp, was ich da wo importieren/inkludieren/build-setten muss, damit das klappt? Ewiger Dank ist der Lohn...
Jetzt könnte man natürlich sagen: "Mensch, warum macht der Depp das Framework in Swift? Nimm doch Objective-C!" Ja, das habe ich mich auch schon gefragt, nach 1/2 Tag rumkaspern mit Buildsettings, Bridging-Headern & Co. Aber die Antwort ist, dass das Framework ein Refactoring nötig hatte und ich Swift abseits von sinnlosen "Hello-World"-Beispielen kennenlernen wollte. Die echten Probleme merkt man halt meistens in Real-Life-Beispielen. Insofern gilt, Ziel erreicht!
ciao
gandhi
ich habe folgende Konstellation:
* Swift-Framework mit Unit-Tests. Funktioniert soweit.
* Das Swift-Framework verwendet eine statische Library die in Objective-C geschrieben ist. Das war zwar etwas Gefummel bis das lief, aber immerhin ging es: Ich musste erstmal rausfinden, das bei Frameworks das Konstrukt mit den Bridging-Headern nicht funktioniert. Stattdessen muss man die Header der zu verwendenden Objective-C-Klassen in den Umbrella-Header des Frameworks packen. Logisch, hätte ich ja gleich draufkommen können.
* So, jetzt laufen aber die Unitests nicht mehr, weil das Unit-Test-Target die Objective-C Klassen nicht kennen mag. Egal was ich importiere, Header dem Projekt hinzufüge, es geht nicht Dabei werden die Objective-C-Klassen nur innerhalb des Frameworks verwendet, nicht explizit in den Tests.
Hat jemand einen Tipp, was ich da wo importieren/inkludieren/build-setten muss, damit das klappt? Ewiger Dank ist der Lohn...
Jetzt könnte man natürlich sagen: "Mensch, warum macht der Depp das Framework in Swift? Nimm doch Objective-C!" Ja, das habe ich mich auch schon gefragt, nach 1/2 Tag rumkaspern mit Buildsettings, Bridging-Headern & Co. Aber die Antwort ist, dass das Framework ein Refactoring nötig hatte und ich Swift abseits von sinnlosen "Hello-World"-Beispielen kennenlernen wollte. Die echten Probleme merkt man halt meistens in Real-Life-Beispielen. Insofern gilt, Ziel erreicht!
ciao
gandhi