2014-06-09 11 views
7

Mam niestandardowy framework, który zawiera kilka klas Objective-C. W ramach Framework chciałbym dodać więcej klas za pomocą Swift. Jednak podczas próby ujawnienia klas Swift kodowi Objective-C za pomocą: MyProduct-Swift.h, pojawia się komunikat "Nie znaleziono pliku" MyProduct-Swift.h ".Importowanie klas Swift w ramach Objective-C

Próbowałem tego w jednym widoku szablonu i działa dobrze. Czy nie można importować Swifta w ramach?

Sprawdziłem również, czy ustawiłem opcję Definiowanie modułu i nazwę modułu. Próbowałem już z tymi ustawieniami i bez nich.

+0

Czy to jest jedyny błąd kompilatora? Nagłówek nie zostanie wygenerowany, jeśli kod Swift nie zostanie skompilowany. –

+0

@SteveWaddicor Wszystko, co robię w kodzie Swift, deklaruje niestandardową klasę. I tak, to mój jedyny błąd kompilatora. – Oxcug

+0

Otrzymuję ten sam błąd .. = ( – Irina

Odpowiedz

8

Znalazłem kilka dodatkowych kroków, aby wszystko działało. Oprócz ustawiania „Definiowanie Module” YES i „moduł produktu Name” (zazwyczaj są one ustawione poprawne domyślnie jeśli tworzysz nowy Framework dotykowego w Xcode 6) trzeba również:

  1. Dodaj „publiczna” słów kluczowych, aby klasy wszystko Swift trzeba w Objective C
  2. trzeba dodać „publiczne” słowa kluczowego nawet do wszystkich metod i właściwości w obrębie klasy, które chcesz uzyskać dostęp z Objective C
  3. należy zaimportować Swift nagłówek w „długi "sposób w ten sposób:

#import <ProjectName/ModuleName-Swift.h>

+0

Dzięki! W końcu dla mnie też zadziałało. – AXE

4

Ok, znalazłem problem.

Upewnij się, że w Ustawieniach zabudowy -> Opakowanie masz Zdefiniuj moduł na TAK i ustawiono również Nazwę modułu produktu. Następnie w pliku storyboard nazwa modułu powinna być taka sama i odpowiadać ustawieniom budowania. Następnie w pliku Obj-C napisz "-Swift.h"

To mi się udało.

Powiązane problemy