从通知中删除声音

ozd*_*ozd 2 iphone notifications ios

我正在尝试创建一个UISwitch,以便用户可以选择不从应用程序内部获取推送声音。可能吗?我试图再次没有声音注册-

+ (void)registerToNotificationWithoutSound
{
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
    {
        [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
        [[UIApplication sharedApplication] registerForRemoteNotifications];
    }
    else
    {
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
         (UIUserNotificationTypeBadge | UIUserNotificationTypeAlert)];
    }
}
Run Code Online (Sandbox Code Playgroud)

所做的就是禁用用户在iPhone设置中打开/关闭声音之间切换的能力,但仍会记住当切换功能可用时用户选择了什么。

例如-如果用户从iphone设置中启用了推送声音,而不是从应用程序中禁用了推送声音-现在,他无法看到或使用iphone设置上的通知声音切换开关,但在接收到推送消息时仍然可以听到声音。

谢谢

6ro*_*od9 5

从客户端(iOS应用)无法实现。但是,您可以删除从服务器端(后端)发送的有效负载中的声音键,并且推送通知将保持静音。

带有默认声音:

{"aps":{"alert":"Hello","badge":1,"sound":"default","category":"your_category_key"}}

没有声音:

{"aps":{"alert":"Hello","badge":1,"category":"your_category_key"}}