SORU
7 HAZİRAN 2014, CUMARTESİ


Kullanıcı İzin iOS 8'de UİLocalNotifications Almak için sor

App Temsilci bu Kullanarak yerel bildirimleri ayarlamak zorundayım:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    UILocalNotification *notification = [[UILocalNotification alloc]init];
    [notification setAlertBody:@"Watch the Latest Episode of CCA-TV"];
    [notification setFireDate:[NSDate dateWithTimeIntervalSinceNow:5]];
    [notification setTimeZone:[NSTimeZone defaultTimeZone]];
    [application setScheduledLocalNotifications:[NSArray arrayWithObject:notification]];
}

Uygulamayı çalıştırın ve sonra kapatın belirten bir hata alıyorum:

2014-06-07 11:14:16.663 CCA-TV[735:149070]Yerel bir bildirim planlamak için çalışıyor{yangın tarih = Haziran Cumartesi 11:14:21 Pasifik saatine 7, 2014, zaman bölge = America/Los_Angeles (PST) -25200 (gün ışığı), tekrar mahsup Aralık = 0, yineleme sayısı = UİLocalNotificationİnfiniteRepeatcount, bir sonraki ateş tarih = Haziran Cumartesi 11:14:21 Pasifik yaz 7, 2014 Zaman = (null) kullanıcı bilgisi}ama uyarı almadım bir ile uyarılar için Kullanıcı izni

Nasıl uyarıları görüntülemek için gerekli izni alabilir miyim?

CEVAP
11 HAZİRAN 2014, ÇARŞAMBA


Kullanıcının izni app bildirimleri göster sormak gerekir iOS 8 beri, bu/bildirimleri ve yerel bildirimler hem uzak için geçerlidir. Swift bu gibi yapabilirsin

Swıft 2.0 için Güncelleştirme

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
    // Override point for customization after application launch.
    if(UIApplication.instancesRespondToSelector(Selector("registerUserNotificationSettings:")))
    {
    let notificationCategory:UIMutableUserNotificationCategory = UIMutableUserNotificationCategory()
    notificationCategory.identifier = "INVITE_CATEGORY"
    notificationCategory .setActions([replyAction], forContext: UIUserNotificationActionContext.Default)

    //registerting for the notification.
    application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes:[ .Sound, .Alert,
        .Badge], categories: nil)
    }
    else
    {
       //do iOS 7 stuff, which is pretty much nothing for local notifications.
    }
    return true
}

Objective C sözdizimi de çok benzer.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]){
        [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
    }
    // Override point for customization after application launch.
    return YES;
}

UİApplications yöntemi kullanabilirsiniz şu anda kayıtlı bildirim türleri için kontrol etmek için

- (UIUserNotificationSettings *)currentUserNotificationSettings

Eğer kullanıcı hayır uygulamanıza dedi varsa o zaman bu işlev, herhangi bir tür olmadan bir ayar dönmelidir.

Bu konuda bir öğretici yazdım, o here görebiliyordu.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • calicoJake

    calicoJake

    29 EKİM 2007
  • Gali B

    Gali B

    1 EYLÜL 2006
  • Pituvision

    Pituvision

    11 Mart 2006

İLGİLİ SORU / CEVAPLAR