2017-05-31 9 views
8

Nie mam żadnych wartości debugowania w mojej konsoli dla mojej aplikacji swift + obj-c i otrzymuję naprawdę niepomyślny komunikat wyjaśniający, dlaczego debugger nie działa: "warning: Błąd Swift w module XXX. ". XXX to nazwa mojego modułu, a nie trzecia strona, którą uwzględniam.ostrzeżenie: Błąd Swift w module. Informacje debugowania z tego modułu będą niedostępne w debugerze

Moja aplikacja była już wcześniej szybka. Użyłem nagłówka mostkowania, aby zacząć używać szybkiego, a ostatnio użyłem narzędzia xcode do migracji wszystkich szybkich plików 2 do szybkiego 3. (ale wciąż mam tam spuściznę obj-c). Używam kapsułek kakao, które mogą przyczyniać się do problemu.

no debugger information...

(lldb) po self warning: Swift error in module XXX. Debug info from this module will be unavailable in the debugger.

Próbowałem po drugiej odpowiedź na to post i kilka innych I odkryli, że sugerują to samo: usunąć duplikaty importu.

Próbowałem usunąć duplikaty importu z mojego projektu szybkiego. W rzeczywistości, jeśli uruchomię find . -name "*swift" | xargs grep "import" i nie otrzymam wyników. Tak więc zdecydowałem się na usunięcie wszystkich importów ze wszystkich moich szybkich plików (i skomentowanie kodu, aby go skompilować) tylko po to, aby sprawdzić, czy mogę przywrócić mój debugger.

Więc ...

  • Czy istnieje inne rozwiązanie tego problemu?
  • Czy istnieje sposób na uzyskanie bardziej szczegółowego komunikatu o błędzie?
  • Czy problem z duplikowaniem nagłówków w nagłówku pomostowym? Na przykład wiele moich plików obj-c importuje UIKit, a niektóre z tych plików umieszczam w nagłówku pomostowym.

Odpowiedz

2

Właśnie napotkałem ten problem. To jest moje rozwiązanie:

Jeśli importujesz 3rd repo przez Cocoapods i repo jest napisany przez Objective-C, trzeba importować je w ten sposób:

// System 
#import <Foundation/Foundation.h> 
#import <UIKit/UIKit.h> 

// Directly add - Objective-C 
#import "EaseUI.h" 

// Cocoapods - Objcetive-C 
@import MJRefresh; 

Można odwołać się do tego issue w Github i tym question.

+0

Nawet nie wiesz, jak ci podziękować! To jest rozwiązanie! –

+2

To nie jest kompletne rozwiązanie, ponieważ nie podaje sposobu rozwiązania problemu, jeśli moduł wykroczeń został napisany w języku Swift. – buildsucceeded

Powiązane problemy