2016-12-21 11 views
10

Kiedy próbuję zbudować i uruchomić mój rozszerzenia klawiatury, to czasami po prostu wywala z Thread 1: signal SIGQUIT.Swift rozszerzenie klawiatury SIGQUIT, wykonanie zostało przerwane, powód: EXC_BREAKPOINT

nie jestem w stanie odtworzyć błędu. Czasami mogę zbudować i uruchomić moją aplikację, ale przez większość czasu klawiatura się kończy. Dzieje się tak na rzeczywistym urządzeniu. W symulatorze nie otwiera mojej klawiatury i mówi Waiting to Attach.

Konsola nie emituje żadnych błędów na początku. Jednak, jeśli mogę zmienić rozwijaną do View UI hierarchię w nawigatorze Debug pojawia się następujący opis:

Details: No plist data for fetching view hierarchy: error evaluating expression “(id)[(Class)objc_getClass("DBGViewDebuggerSupport_iOS") fetchViewHierarchyWithOptions:(id)[(Class)objc_getClass("NSDictionary") dictionaryWithObjects:(id)[(id)[(id)[(Class)objc_getClass("NSArray") arrayWithObject:(id)[(Class)objc_getClass("NSNumber") numberWithBool:1]] arrayByAddingObject:(id)[(id)[(Class)objc_getClass("NSArray") arrayWithObject:@"_UIVisualEffectBackdropView"] arrayByAddingObject:@"_UIBackdropEffectView"]] arrayByAddingObject:(id)[(Class)objc_getClass("NSNumber") numberWithBool:0]] forKeys:(id)[(id)[(id)[(Class)objc_getClass("NSArray") arrayWithObject:@"DBGViewDebuggerUseLayersAsSnapshots"] arrayByAddingObject:@"DBGViewDebuggerEffectViewsToSnapshotAsImage"] arrayByAddingObject:@"DBGViewDebuggerAlwaysEncodeLayers"]]]”: error: Execution was interrupted, reason: EXC_BREAKPOINT (code=1, subcode=0x18daddc34). 
The process has been returned to the state before expression evaluation. 

Method: -[DBGAbstractViewDescriber handleFetchedViewInfo:fetchError:resultHandler:] 
Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide. 

Wziąłem też zrzut ekranu z procesów.

enter image description here

robię coś źle i jak mogę temu zapobiec moje rozszerzenie klawiatura przerywa cały czas po uruchomieniu go? Czy w rzeczywistości jest to błąd opisany w opisie?

+0

Mam to samo. I sądząc po Google - błąd ten pojawił się bardzo niedawno. Wydaje się być numerem XCode 8.2.1 – Vaiden

+0

To samo dzieje się mi niestety –

+0

Ja też cierpię z tego powodu. Ktoś jeszcze znalazł rozwiązanie? – Randy

Odpowiedz

2

ZASTRZEŻENIE

Wydaje się, że coś w Xcode 8.2.1 jest uszkodzony i debugger nie jest prawidłowo dołączając do prawidłowego procesu lub proces hosting nie jest prawidłowo ładuje nowy kod.

To nie jest trwałe rozwiązanie, ale tymczasowe rozwiązanie.

Obejście problemu

I udało się obejść ten problem, wykonując czynności opisane poniżej.

  1. zabić proces, który jest za pomocą klawiatury (ważne!)
  2. uruchomić aplikację za pomocą debuggera więc najnowszy kod jest wdrożony do urządzenia
  3. Przejdź do Ustawienia> Ogólne> Klawiatury> itp
  4. Usuń niestandardową klawiaturę
  5. ponownie dodać niestandardowe klawiatury
  6. debugowania aplikacji ponownie

Powodem tego jest to, że usunięcie klawiatury zabija proces, w którym znajduje się rozszerzenie, pozwalając Xcode dołączyć do nowego pliku binarnego.

+0

Kiedy mówisz "zabić" dowolny proces za pomocą klawiatury, jak to zrobić? –

+1

Zamknij aplikacje korzystające z klawiatury. – Randy

0

Jak rozumiem, jest to błąd w Xcode 8.2.1. ponieważ przed aktualizacją moja niestandardowa klawiatura działała bardzo dobrze. jest to rozwiązanie tymczasowe.

  1. Uruchom swój kod jak zawsze!
  2. Wyświetl klawiaturę, dopóki nie pojawi się błąd (SIGQUIT)!
  3. Goto Xcode> debugowania> odłączyć
  4. Goto ponownie Xcode> debugowania> Dołącz do procesu: dołączyć klawiaturę (powinien to być pierwszy proces)

Teraz swoje wartości graniczne będą działać. ale niestety nie ma danych wyjściowych dziennika! Mam nadzieję, że to tymczasowe rozwiązanie twojego problemu.