【问题标题】:UILocalnotification for alarm application for more than 30secUILocalnotification 报警应用超过 30 秒
【发布时间】:2017-01-16 05:03:36
【问题描述】:

我正在开发 iOS 目标 c 中的警报基础项目。 当应用程序在后台时,我已经实现了UILocalnotification 用于警报。 但我面临的问题是声音只能播放 30 秒。

我怎样才能增加声音的时间间隔,或者有没有其他方法可以代替UILocalnotification

  - (IBAction)Alert:(id)sender{

        NSDateFormatter *format = [[NSDateFormatter alloc] init];
        [format setDateFormat:@"yyyy-MM-dd"];
        //NSDate *date = [NSDate date];


        UILocalNotification *localNotif = [[UILocalNotification alloc] init];
        localNotif.fireDate =[NSDate dateWithTimeIntervalSinceNow:15];
        localNotif.timeZone = [NSTimeZone localTimeZone];
        localNotif.alertBody = @"Emergency";

        localNotif.alertAction = @"View";
        localNotif.soundName = @"police.mp3";
        localNotif.applicationIconBadgeNumber = 1;
        localNotif.repeatInterval = NSYearCalendarUnit;


        [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];

    }


  Note : mp3 file i am using for UILocalnotification is of more that 60min duration.

请指教。 谢谢

【问题讨论】:

  • 您需要将该文件拆分为多个 30s 声音文件,并进行多个通知
  • @Tj3n 感谢您的回复。但我的 mp3 文件超过 30 秒。

标签: ios objective-c uilocalnotification repeatingalarm


【解决方案1】:

如果设备处于活动模式,通知声音仅播放 5 秒。如果设备处于睡眠模式,通知将播放 30 秒的声音。我猜,这是标准行为

根据 Apple 指南,您需要使用持续时间为 30 秒的 mp3 文件。请检查以下链接。

https://developer.apple.com/reference/usernotifications/unnotificationsound

注意:仅供参考,iOS10 已弃用 UILocalNotification。您需要开始使用 UNUserNotificationCenter。

【讨论】:

  • 除了通知之外,还有其他方法可以实现报警功能吗?因为通知只播放 5 或 30 秒。而预期的结果是它应该播放更多的 60 秒?
  • 这是不可能的,除非你设置两个本地通知。 iOS 的闹钟应用程序有特权播放超过 30 秒的声音。请检查可能对您有帮助的链接。stackoverflow.com/questions/9445090/alarm-clock-app-in-ios
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-06
  • 2012-04-09
相关资源
最近更新 更多