Użyłem:nie idleTimerDisabled działa od iPhone 3.0
[UIApplication sharedApplication].idleTimerDisabled = YES;
w szeregu Apps opracowany i uruchomiony w iPhone OS 2.x i nigdy nie miałem żadnych problemów z nim. Były to aplikacje z zegarem, potrzebne do ciągłego działania i ignorowania ustawienia bezczynności zegara iPhone'a.
Jednak próbując osiągnąć to samo z nową aplikacją z systemem operacyjnym 3.0 (która musi być wdrożona w wersji 3.0, ponieważ korzysta z niektórych interfejsów API 3.0), stwierdziłem, że bezczynny licznik czasu jest ignorowany lub niespójny.
Moja aplikacja odtwarza muzykę z biblioteki iPoda, a gdy odtwarzana jest muzyka, blokuje się automatycznie, bez względu na powyższe ustawienie. Jednak po odblokowaniu nie następuje automatyczne blokowanie, chyba że ponownie odtwarzasz muzykę, w takim przypadku blokuje się ponownie po ustawieniu czasu automatycznego blokowania iPhone'a.
Jestem zaskoczony, że nikt inny nie natknął się na to, ponieważ wyobrażam sobie, że wpłynie to na dużą liczbę aplikacji.
prostu do wyjaśnienia:
1. Powyższy kod jest ApplicationDidFinishLaunching
2. Wiem, że telefon nie będzie auto-lock podczas testowania z Xcode niezależnie od ustawień
Jeśli ktoś ma jakieś myślach "Byłbym bardzo wdzięczny ...
Czy korzystasz z sesji audio podczas grania muzyki? Myślę, że w jakiś sposób być może właściwość idleTimerDisabled jest resetowana w jakiś sposób, gdy zaczynasz odtwarzanie muzyki ... Być może twoja poprawka jest tak prosta, jak wstawienie innego idleTimerDisabled = YES w twoim kodzie zaraz po rozpoczęciu odtwarzania muzyki. –
Dzięki ... Tak - próbowałem tego, myśląc tak samo. Nie robiło to różnicy. Pozdrawiam. – Craig
"Wiem, że telefon nie będzie blokował się automatycznie podczas testowania z xCode, niezależnie od ustawień" - dziękuję! Nie zdawałem sobie z tego sprawy i nie mogłem zrozumieć, dlaczego moja aplikacja nie zezwala na automatyczne blokowanie telefonu. – filipe