2016-09-21 16 views
22

Jestem na macOS Sierra, Xcode 8 i pojawia się awaria za każdym razem, gdy próbuję symulować pobieranie w tle na rzeczywistym urządzeniu z iOS 10. To NIE występuje podczas używania symulatora. Odbywa się to we wszystkich projektach, w tym także świeżo utworzonych.Dlaczego "Simulate Background Fetch" prowadzi do awarii (libsystem_kernel.dylib`mach_msg_trap) od Xcode 8?

libsystem_kernel.dylib`mach_msg_trap: 
    0x18cfec164 <+0>: movn x16, #0x1e 
    0x18cfec168 <+4>: svc #0x80 
-> 0x18cfec16c <+8>: ret (Thread 1: signal SIGSTOP) 

Nie mam żadnych innych urządzeń iOS do przetestowania; czy ktoś inny tego doświadcza?

+0

Nadal borken w kodzie Xcode 8.1 –

Odpowiedz

12

Nie jesteś sam - też to spotykam. Naprawdę denerwujące. Właśnie zgłosiłem błąd.

+10

W moim przypadku, xcode po prostu zatrzymuje wykonanie w tym miejscu. Zauważyłem, że jeśli powiesz mu, aby kontynuować wykonywanie, pobieranie w tle jest rzeczywiście symulowane. – DCToDaylight

+0

Dobrze to słyszeć. Przez radar został niedawno oznaczony jako duplikat, więc przynajmniej wiemy, że Apple jest świadomy problemu. – Matt

+2

@ user3034715 ma rację, wygląda na to, że nie jest to błąd, ale jabłko zmienia sposób, w jaki to robi xcode, po prostu naciśnij przycisk odtwarzania, aby rozwiązać ten problem na xcode 8.0 –

12

Używam Xcode 8.1 z urządzeniem - nie ulega awarii, ale trafia w punkt przerwania, którego nie można znaleźć/edytować/usunąć.

Idź do Debuguj> Kontynuuj i działa zgodnie z oczekiwaniami.

+0

Czy wiemy, że tak się nie stanie podczas produkcji? - czy to tylko kwestia debuggera? – Wez

+0

Nie ma to dla mnie znaczenia, co ma sens, jeśli jest punktem przerwania –

0

CELE - Tryby> Tło - -> Gapabilities> ON

i sprawdzić [Audio, AirPlay, a obraz w obrazie]

on pracował dla mnie.

0

Nie ulega awarii, coś rzuca sygnał, aby wstrzymać wykonanie aplikacji. Nie wiedząc, jak symulowane pobieranie się dzieje, mogę tylko zgadywać, dlaczego - może być częścią symulacji lub efektem ubocznym sposobu, w jaki aplikacja go obsługuje. Xcode służy do trwałego wyłączania przerw w sygnale (SIGPIPE zawsze było moją zmorą), ale to nie zadziałało w kilku wersjach.