Ios 从通知中删除声音

Ios 从通知中删除声音,ios,iphone,notifications,Ios,Iphone,Notifications,我正在尝试创建一个UI开关,以便用户可以选择不从应用程序内部获取推送声音。 可能吗?我试着在没有声音的情况下再次注册- + (void)registerToNotificationWithoutSound { if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { [[UIApplication sharedApplication] registerUserNotificatio

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

+ (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)];
    }
}
所做的只是在iphone设置中禁用用户在声音开/关之间切换的功能,但仍然记得当切换功能可用时用户选择了什么

例如,如果用户从iphone设置中启用推送声音,然后从应用程序中禁用推送声音,则他现在无法看到或使用iphone设置中的通知声音切换开关,但在接收推送时仍会收到声音


谢谢

这在客户端(iOS应用程序)是不可能的。但是,您可以删除从服务器端(后端)发送的有效负载中的声音键,推送通知将保持沉默

使用默认声音:

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

没有声音:

{“aps”:{“警报”:“你好”,“徽章”:1,“类别”:“你的类别”}

这就是Settings.app的用途。想象一下,如果每个应用程序都在自己的设置屏幕中隐藏了推送设置,那么instagram和facebook等通知设置会如何?我可以想象。嘘。。。我们不想把它毁掉给5亿喜欢它的人。无论如何,这是客户想要的,所以我需要这样做,即使这是错误的。有人有答案吗?你找到方法了吗?没有。我最终找到了一个解决方案,在调用推送时,不向不需要声音的用户发送声音。(而不是关闭设备上的声音)。你们找到什么了吗?正确答案,我猜苹果公司并没有记录任何地方,但它是这样工作的:)