Testuję kompatybilność aplikacji muzycznych na IOS7, uruchamiając go na symulatorze iPhone'a Xcode 5 (IOS7), ale zawiesza się przy pobieraniu wszystkich elementów muzycznych za pomocą następującego kodu.
MPMediaQuery *allSongs = [[MPMediaQuery alloc] init];
NSArray *itemsFromGenericQuery = [allSongs items]; // Here application crashes
Dziennik awarii:
[__NSCFNumber libraryCompletionHandler]: unrecognized selector sent to instance 0xdd66840
To jest migawka dla wątków uruchomionych w czasie awarii:
Podejrzewam, że jest jakiś błąd w Xcode5 ..!
EDYCJA: Mogłem uruchomić tę samą aplikację przy użyciu Xcode 4.6.3 na symulatorze / urządzeniu bez żadnego problemu / awarii.
Odpowiedzi:
0 dla odpowiedzi № 1[__NSCFNumber libraryCompletionHandler]: unrecognized selector sent to instance 0xdd66840
Ten błąd mówi o obiekcie typu NSNumber
została przekazana wiadomość -libraryCompletionHandler
. NSNumber
nie ma -libraryCompletionHandler
metoda, a więc katastrofa. Oczywiście dzieje się coś złego.
Zwykle jest to oznaką złej obsady lub zombie. W tym przypadku podejrzewam obiekt zombie.
Congratz, być może znalazłeś defekt w Symulatorze iOS 7. Woo Hoo!
0 dla odpowiedzi nr 2
Podejrzewam, że jest jakiś błąd w Xcode5 ..!
W programistach są wyraźnie błędypodgląd wersji Xcode 5, ale wygląda na to, że to Twoja aplikacja ulega awarii zamiast Xcode lub sam symulator. To może prowadzić do przekonania, że problem jest bardziej prawdopodobny albo w twojej aplikacji, albo w systemie operacyjnym.
[__NSCFNumber libraryCompletionHandler]: unrecognized selector sent to instance 0xdd66840
Złe wskaźniki są częstą przyczyną nierozpoznanych błędów selektora, zwłaszcza gdy dotyczą zajęć, które nie są związane z awarią kodu. Włącz NSZombieEnabled i ustaw punkt przerwania dla wszystkich wyjątków aby wyśledzić problem.
0 dla odpowiedzi № 3
Może to są ustawienia projektu Spróbuj dodać -ObjC