2011-12-19 23 views
5

Kilitli ekran modundayken bir alarm tetikleyebilen bir alarm uygulaması oluşturmaya çalışıyorum (uygulama ön planda, ancak ekran kilitli). Alarmın, bir NSTimer tarafından uilocalnotification ile tetiklenmesi gerekir.iOS 5 derin uyku önleme

iOS 4'te, uygulamanın derin uykuya geçmesini önlemek için '10 saniyede bir çalma sesi' kullanıyorum ve zamanlayıcı olayları iyi çalıştı. Ancak, iOS 5'de bu işe yaramıyor.

Herhangi bir fikrin var mı? Ya da bu işe yaramalı ve yanlış bir şey yapıyorum?

+0

Peter adlı bir dize bir diziye UIBackgroundMode plist anahtarını belirlesin, sen 0.1'e ayarlanmış hacmi ile https://github.com/marcop/iPhoneInsomnia kullanıyorsunuz? –

+0

temel olarak - evet. Bununla birlikte, kodla ilgili bazı sorunlar vardı, bu yüzden birkaç şeyi değiştirdim. –

+0

Yaptığınız değişiklikleri hatırlıyor musunuz? –

cevap

4

Gerçekte 'sessiz ses çalmak' iOS 5'teki kesmek kullanabilirsiniz görünüyor, ancak ses size 0.0 ayarlı ses seviyesinde çalamaz anlam sesli olmak zorundadır.

+0

Gönderdiğinizde cilt 0,1 kabul edilebilir mi? – Gon

2

Muhtemelen kirli bir çözümdür, ancak geçmişte telefonu kilitlemek yerine ekranı kapatmak için yakınlık sensörünü kullandım. Sadece telefonu baş aşağı yerleştirin ve ekran kendini kapatacak.

[[UIDevice currentDevice] setProximityMonitoringEnabled:YES]; 

Bu, ekran kapanırken aygıt üzerinde tam denetimi korumanıza olanak tanır.

+0

Bu ilginç bir fikir. Ne aradığım değil, ama daha az yararlı. –

+0

Bunu beğendim! Uygulama bu tekniği kullanarak asla kilitli ekran moduna geçmeyecek mi? – jimmystormig

+0

Hayır, asla. Diğer bazı uygulamalar da kullanıyor. Pilin hala tükendiğini unutmayın, sonuçta telefon “kilitli” duruma geçecektir. ;-) –

4

github.com/marcop/iPhoneInsomnia'yı kullanabilir ve birimi 0'dan büyük bir değere ayarlayabilirsiniz, ancak ses dosyası o kadar kısa olduğu için sistem çalışmaz zamanlayıcı tetiklenmeden ve yeniden oynatmadan önce uygulamanızı öldürdüğü için hala çalışmıyor ses. Bunu, audioPlayer'ın numberOfLoops değerini -1 (sonsuz tekrar) olarak ayarlayarak çözdüm. O zaman işe yaramalı.

Ve ayrıca "ses"