iOS 8 - 当应用程序在后台时如何让LocalNotification播放声音?

时间:2014-09-18 14:10:08

标签: ios objective-c uilocalnotification avplayer

我需要在我的应用程序中使用一些闹钟功能。

其中一个应该是当LocalNotification触发并且应用程序在后台时让手机播放声音。

使用iOS 7.1一切正常,但在iOS8中没有Sound正在播放,直到App回到Foreground。

在片刻我正在使用AudioToolbox/AudioServices.h班级。

我该如何解决?

3 个答案:

答案 0 :(得分:2)

此代码可能对您有帮助......

注册通知设置

- 对于Objective c

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]]

        return YES;
    }

- 对于Swift

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool 
    {
        application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: UIUserNotificationType.Sound|UIUserNotificationType.Alert |UIUserNotificationType.Badge, categories: nil)   

        return true
    }

答案 1 :(得分:1)

这似乎是iOS8的Xcode Simulator中的一个错误。 使用Xcode Simulator for iOS7.1和/或iOS8" real"设备一切正常。

答案 2 :(得分:0)

.caf fine不会在真实设备上播放本地通知。如果您将.caf更改为.aiff,则会发出声音通知!