Tytuły alternatywne (w celu ułatwienia przeszukiwania)
- Nie można debugować Swift 2.3 ram połączony z aplikacji Objective-C w Xcode 8
error in auto-import: failed to get module 'XYZ' from AST context
Xcode 8- Xcode 8 nie można debugować Swift ramowa
warning: Swift error in module <XYZ>
- obejście; Xcode Debugger nie może debugować aplikacji napisanych tylko w Objective-C, ale ten link do frameworków napisanych tylko w Swift. (28312362)
Mam app napisane w Objective-C, która łączy przeciwko niektórych modułów (ram) napisany w Swift 2.x.Nie można debugować Swift moduł/ramy osadzonej w Objective-C app
Pytanie
wszystkiego (debugowanie itd.) Działa poprawnie w xcode7, jednak po przeniesieniu do xcode8 oraz aktualizację modułów używać swift2.3 byłem niezdolny do debugowania modułów.
LLDB zgłaszane te błędy:
warning: Swift error in module XYZ.
Debug info from this module will be unavailable in the debugger.
error: in auto-import:
failed to get module 'ABC' from AST context
nie stanie, jeśli odwołują się do modułów aplikacji zbudowanej w Swift 2.3.
Xcode 8.0 spróbuje określić, której wersji Swift używasz i wybrać odpowiedni zestaw narzędzi. Coś w tym, jak projekt jest ustawiony, to pokonanie tego wykrycia. Na przykład Xcode wybierze najnowszy dostępny toolchain, który jest również Swift 3.0, dla czystego projektu ObjC. Może, na przykład, Xcode nie przegląda zależnych podprojektów lub celów czystych celów ObjC, aby sprawdzić, czy w nich jest jakiś Swift? Wydaje się, że warto zgłosić błąd. –
To nie działa dla nas, z jakiegoś powodu. Jawnie ustawienie 'swift_version' (oznaczonej jako 8A218a jako" Użyj starszej wersji językowej Swift ") nie ma wpływu na wyniki. –
@DavidLord "Use Legacy Swift Language Version" jest inny, służy do poinformowania Xcode'a, że chcesz używać Swift 2.x, a nie 3.x, w powyższym scenariuszu byłby ustawiony na obiekcie docelowym. 'SWIFT_VERSION' należy ustawić na celu aplikacji (Objective-C). Mam nadzieję że to pomoże! – rjstelling