W Xcode 8, Kiedy zostanie uderzony dowolny punkt przełomowy i spróbuję wydrukować dowolny obiekt w debugerze Xcode, zawsze wypisze "Nie można rozstrzygnąć typu". Przeszukałem wystarczająco w Internecie. Sprawdziłem, czy EditScheme-> Run-> Info-> BuildConfiguration jest ustawiony na "Debugowanie". Ustawienia kompilacji-> Poziom optymalizacji jest ustawiony na "Brak". Ale nie ma wskazówek, dlaczego tak się dzieje. Czy ktoś mógłby mi pomóc? Z góry dziękuję.xcode 8 Debugger "Nie można rozwiązać typu"
Odpowiedz
Miałem podobny problem z Swift projektu, który obejmował ramy Obj-C. Miałem importowane ramy w moim Swift projektu przy użyciu
import Obj-C-Framework
Dodatkowo, miałem również utworzony plik Bridging-header w projekcie Swift i zawiera nagłówek Obj-C-ramową korzystając
#include <Obj-C-Framework/Obj-C-Framework.h>
ten powodował, że debuger Xcode zawsze wyświetlał "nie mógł rozwiązać typu" podczas drukowania obiektów w punktach przerwania. Usunięcie #include w Bridge-Header rozwiązało problem i obiekty były drukowane poprawnie w punktach przerwania.
TL; DR Jeśli twój szybki projekt korzysta z frameworka Obj-C, upewnij się, że nagłówki ramki są , a nie zawarte w nagłówku mostu Swift.
Po prostu miałem ten sam problem i został rozwiązany. Mój projekt to projekt mieszany z OC i Swift. Zauważyłem, że jakiś plik .h importował w moim pliku nagłówka Bridging, który spowodował problem. Zdecydowanie enum zadeklarowany w pliku .h powoduje problem, taki jak ten:
typedef NS_ENUM(NSInteger,BadgeAlignment) {
AlignmentCenter,
AlignmentLeft,
AlignmentRight,
};
Jeśli skomentuję kod, wszystko pójdzie dobrze.
Dodałem po prostu przedrostek do każdego elementu wyliczenia i problem został rozwiązany.
typedef NS_ENUM(NSInteger,BadgeAlignment) {
BadgeAlignmentCenter,
BadgeAlignmentLeft,
BadgeAlignmentRight,
};
Po prostu myślę, jeśli istnieje konflikt z pewną enum w Swift, kiedy konwertuje się .h na Swift.
Wciąż jestem zdezorientowany ...
Czy to stary projekt? – shallowThought
Nie. Ten projekt jest tworzony za pomocą Xcode8 – CrazyDeveloper
@ CrazyDeveloper czy rozwiązałeś ten problem? –