2010-11-20 19 views
1

OK, dieser hat mich ratlos. Ich verwende die CLLocationManager Dienste (iOS 4.1) in meiner Anwendung. Der Delegat wird zuerst wie er sollte aufgerufen. Dann (einige willkürliche Zeitintervalle später) wird der Delegierte nicht mehr angerufen. Es sieht fast so aus, als ob RunLoop irgendwo blockiert wird.iOS 4.1 CLLocationManager-Delegat wird nicht mehr aufgerufen - RunLoop blockiert?

Ich habe sogar den Rückruf auf eine NSLog Anweisung reduziert, und ich sehe das gleiche Verhalten. Haben wir irgendwelche gdb Experten da draußen, die mir ein paar Tipps geben könnten, wie man alle laufenden Threads betrachtet und feststellt, welche wo blockiert ist?

Als Test habe ich auch eine Schaltfläche auf der GUI, die Haltestellen sowohl Heading-und Standortaktualisierungen startet - das scheint die Dinge für eine Weile zu entlasten.

Weitere Informationen: Dies ist auf einem iPhone 4, App wurde durch Instrumente (Lecks und Allokationen) durchlaufen, alles sieht gut aus. Irgendwelche Hinweise würden geschätzt werden, ich bin zurzeit von Ideen ...

Antwort

0

Mea culpa ... Ich hatte fehlerhafte Logik, die einen Timer abfeuerte und den Dienst abstellte. Auch hier ist Vorsicht geboten, wenn man "kleine" Änderungen vornimmt. Ich entschuldige mich, falls jemand Mühe damit verschwendet hat ....

Verwandte Themen