如何在ios objective c中设置推送通知的声音?

如何在ios objective c中设置推送通知的声音?,ios,objective-c,push-notification,Ios,Objective C,Push Notification,我正在开发一个应用程序,我在其中实现了苹果推送通知。当我的应用程序处于后台状态时,我可以在没有声音的情况下接收推送通知,但当我的应用程序处于活动状态时,我可以获取通知的声音,但不显示任何横幅 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { UIApplicationState state = [application appli

我正在开发一个应用程序,我在其中实现了苹果推送通知。当我的应用程序处于后台状态时,我可以在没有声音的情况下接收推送通知,但当我的应用程序处于活动状态时,我可以获取通知的声音,但不显示任何横幅

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    UIApplicationState state = [application applicationState];

    if (state == UIApplicationStateInactive)
    {
        AudioServicesPlaySystemSound(1007);
    }
    else {
        AudioServicesPlaySystemSound(1007);

        carPlateNo = [userInfo valueForKeyPath:@"aps.alert.loc-args"];
        if(![carPlateNo isEqualToString:@"Return Message"])
        {
            [self receiveServices];
        }
        // Push Notification received in the background
    }
}

有人能帮上忙吗?

您只需在APNS有效负载中设置声音,并在XCode bundle中添加声音片段

样本有效负载

{
    "aps" : {
        "alert" : "You got your emails.",
        "badge" : 9,
        "sound" : "bingbong.aiff"
    },
    "acme1" : "bar",
    "acme2" : 42
}

当应用程序被终止时,iOS负责向应用程序发送通知。iOS还负责根据用户设置显示横幅/警报,并播放通知音频

不过,您可以指定在通知负载中播放什么音频

{
    "aps" : {
        "alert" : "You got your emails.",
        "badge" : 9,
        "sound" : "bingbong.aiff"
    },
    "acme1" : "bar",
    "acme2" : 42
}
如果您不想要默认的通知声音,您可以捆绑自己的.aiff格式的音频文件,并将其与应用程序一起提供,并在通知负载中指定文件名,如上所示

参考:

至于

当我的应用程序处于活动状态时,我可以为其获取声音 通知,但不显示其任何横幅

值得注意的是,当你的应用程序在前台时,你的应用程序有责任显示任何自定义横幅/警报。系统默认横幅/警报将不显示。您可以使用相同的:)

尝试以下方法:

发送推送通知时,只需在JSON负载中添加声音的名称。例如:

{
   "aps" : {
    "alert" : "your alert message here.",
    "badge" : 1,
    "sound" : "samplemusic.aiff"
   }
}

就这样!您不必在应用程序代码中执行任何特殊操作。

-当我的应用程序处于后台状态时,我就可以接收推送 没有声音的通知

以下两个问题中必须有一个

1.声音键不存在或在有效负载中为其发送空值()

2.您的手机处于静音模式

-我的应用程序处于活动状态,然后我可以获得通知的声音,但不会显示任何横幅。


当应用程序处于活动状态时,应用程序负责处理推送通知接收时的操作。有关更多信息,请参阅此

请检查您的移动模式。它不应该处于静默模式:)不客气……:)根据stackoverflow指南,您应该接受正确答案,以便其他人在遇到相同问题时获得帮助!