2014-06-08 12 views
20

Gdy kod X próbuje automatycznie utworzyć nagłówek mostkowania, to ulega awarii za każdym razem, więc postępowałem zgodnie z instrukcjami ręcznie utworzyć nagłówek pomostowy. (Utwórz plik .h, nazwij go < #PROJECT_NAME> -Bridging-header.h, importować wszystkie pliki .h potrzebne?)Plik Swift "Bridging-Header.h" nie pozwala mi na tworzenie instancji klasy object-c w plikach .swift

Problem jest, gdy próbuję wystąpienia klasy w pliku .swift który jest zawarty w nagłówku, nic się nie dzieje (mówi, że klasa nie istnieje) Również w nagłówku Bridging nie wydaje się automatycznie uzupełniać moich nazw plików, gdy próbuję je uwzględnić, co prowadzi mnie do przekonania, że ​​coś nie jest poprawnie linkowane.

Czy ktoś w tym uczestniczy? Czy ktoś wie jak to naprawić?

+0

Spróbuj Zamknij Xcode i ponownie otwórz. – vladof81

+0

Mam ten sam problem. : -/ – ZaBlanc

Odpowiedz

72

Musisz dodać go do ustawień budować swój podsystemu:

  1. w Xcode, jeśli przejdź do ustawień zbudować dla swojego celu, a następnie przewiń w dół znajdziesz „Swift Compiler - Generowanie kodu ".

  2. Set "-C Cel Bridging Header" do <#PROJECT_NAME>-Bridging-Header.h

  3. Nie jestem pewny poprawnej wartości dla "Install objective-c żniwna zgodności", ale jest to tak/nie, więc można przełączać że jeśli to nie zadziała na początku.

+3

"Tak" wydaje się być w porządku. –

+0

Pomogło mi to wiedzieć, gdzie usunąć nagłówek mostkujący, gdy FMDB nie działa. – tazboy

+0

nie działa dla mnie –

8

Próbowałem samodzielnie utworzyć nagłówek pomostowy, ale z jakiegoś powodu Xcode go nie polubiło. Usunąłem więc mój niestandardowy, zaimportowałem plik Obj C, który sprawił, że Xcode zapytał, czy chcę go utworzyć dla mnie.

Kliknąłem "tak" i zadziałało!

+0

W jaki sposób zaimportowałeś plik ObjC? Wewnątrz ustawień budowania lub gdzie? –

0

może pomóc ustawienie nazwę nagłówka pomostowego z jego korzenia Project jako "myproject/myproject-pomostowe header.h" do wartości string Swift Compiler Budowanie key 'objective-c Bridging Header'

4

1) utworzyć plik o nazwie "FMDB-Bridging-header.h"

wewnątrz tego pliku wpisz następujące: #import "FMDB.h"

3) przejdź do Zbuduj Ustawienia -> Swift Compiler - Generowanie kodu - dodanie do "Nagłówka mostkowego celu C": FMDB-Bridging-Header.h

lub jeśli został umieszczony wewnątrz folderu w projekcie:

nazwa_folderu/FMDB-pomostowe header.h

+1

nie trzeba robić: "wewnątrz tego pliku wpisz: #import" FMDB.h "" – Rxxxx

+1

Nie wiem, dlaczego to miało negatywny głos, to faktycznie mi pomogło. Stworzyłem zmostkowany nagłówek, ale później przeniosłem go do podkatalogu w moim projekcie. Ustawienia budowania projektu nie odzwierciedlały zmiany, ale ta odpowiedź pomogła mi zlokalizować problem. – CampbellGolf

2
  1. dodać plik nagłówka do projektu o nazwie „[Twoja-projektu -name] -Bridging-Header.h

  1. Go zbudować Ustawienia> Budowanie Opcje i ustaw "osadzonej zawartości Zawiera kod SWIFT" na "Tak" enter image description here

  2. Go tworzyć Ustawienia> Łączenie i dodawanie "@ ścieżka_programowalna/Frameworks" do ścieżek przeszukiwania ścieżek roboczych enter image description here

Zbuduj swój projekt już teraz!