2013-05-27 36 views
5

Geliştiricim Uygulamam alarm tipi bir uygulama. Kullanıcı ana düğmeye bastığında, belirli aralıklarla ateş etmek için birkaç UILocalNotifications planlıyorum. Bildirimler, ev düğmesine bastığımda ve uygulamadan çıktığımda doğru zamanda ateşlenir, ancak Kilit düğmesine bastığımda hiç ateş etmezler. Etrafımı araştırdım ama bunun neden olduğunu henüz anlamadım.UILocalNotification cihaz kilitliyken tetiklenmiyor

Dediğim gibi, önce ana düğmeye bastığımda iyi çalışıyor. Doğru zamanlarda ateş ediyorlar, ama telefonun üstündeki "Kilitle" düğmesine basarsam bundan sonra ateş etmiyorlar. Bunun neden olduğuna dair bir fikri olan var mı?

Teşekkür

+0

Uygulamanın kilit ekranında bildirimlerin görüntülenmesine izin verilip verilmediğini kontrol ettiniz mi? Ayarları kontrol edin. –

+0

Sadece telefonumda kontrol edildi, izin var, ancak kilitlendiğinde hala ateş etmeyecek. Sadece simülatörde denedim ama herhangi bir bildirim ayarına sahip değil ve hala orada da ateş etmiyor. – ColaCube

+0

Hangi işletim sistemi sürümü ve aygıtları ile test ediyorsunuz? – J2theC

cevap

0

kilit düğmesi başvurunuzu çıkmazsa olmasıdır.

applicationWillTerminate: numaralı telefondan uygulama temsilcisine UILocalNotifications ayarlıyorsunuzdur. Bu yöntemde bir miktar kayıt eklerseniz, kilit düğmesini kullanırken bunun çağrılmadığını görürsünüz.

Bildirimlerinizi ayarlamak applicationWillResignActive: sorununuzu çözebilir.

1

Bunun çok geç olduğunu biliyorum, ama birine yardımcı olabilir. Bu sorun SO üzerinde çok fazla gözardı edildi ve internet üzerinden hiç bir eğitim verilmedi. Her neyse, yapmanız gereken UIUserNotificationActivationModeBackground ayarını UIUserNotificationSettings olarak ayarlıyor ve siz de gitmekte fayda var.

Kodu: Bu yardımcı olur

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
// Override point for customization after application launch. 
    if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) { 
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound | UIUserNotificationActivationModeBackground categories:nil]; 
    [application registerUserNotificationSettings:settings]; 
    } 
    return YES; 
} 

Umut.

+0

OP özellikle IOS6'yı ayarla –

+0

Bu yüzden gelecekte birisine yardımcı olabileceğini söyledim ve 3 yıl sonra bu soruya cevap verdiğimden belli oluyor çünkü OP için uygun değil –

+0

Çok iyi değildi ve iyi bir tavsiye olsa da ... Neden . –