【问题标题】:cant get rid of app icons badge number无法摆脱应用程序图标徽章编号
【发布时间】:2014-04-09 06:43:29
【问题描述】:

由于某种原因,我的应用程序的图标标记为 7,但我没有编写这部分代码,似乎无法摆脱这个数字。我怎样才能摆脱它或者我可以在哪里使用这个对象?

【问题讨论】:

  • 不执行徽章,是不可能有的!!!检查它是否真的是一个徽章或只是一个应用程序的图像?
  • 绝对不是应用图片。我仍然不知道 7 是从哪里来的。我在下面 Z S 的回答中摆脱了它,但我认为这将始终将徽章图标设置为 0。
  • 您可以在UIApplication 上使用-enabledRemoteNotificationTypes 禁用徽章更新类型
  • @user3513175 您确定设置徽章编号的任何事情都没有发生七次吗?您可能会不小心发送重复的通知等。

标签: ios badge


【解决方案1】:

在您的代码中查找applicationIconBadgeNumber。要将其重置为零,请使用

[UIApplication sharedApplication].applicationIconBadgeNumber = 0

(您可以在 App Delegate 的 application: willFinishLaunchingWithOptions: method 中设置)

【讨论】:

  • 这样清除徽章图标没问题。但是,一旦我收到新的推送通知,徽章图标就会再次显示为 7。
【解决方案2】:

如果您要推送通知,请在有效负载中进行设置。在您的 json 有效负载中查找徽章属性并将其删除。确保您还从要注册的通知类型中删除该警报类型(徽章)。

【讨论】:

    【解决方案3】:

    您可以在UIApplication 中将启用的远程通知类型设置为仅声音和警报,省略徽章类型:

    - (UIRemoteNotificationType)enabledRemoteNotificationTypes {
        return UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert;
    } 
    

    从文档看来,用户可以从“设置”应用中进行更改:

    返回的位掩码中的值指示当前为应用启用的通知类型。当应用程序调用registerForRemoteNotificationTypes: 方法向Apple Push Notification Service 注册自己时,首先设置这些类型。此后,用户可以在“设置”应用的“通知”首选项中修改这些接受的通知类型。此方法返回那些初始值或修改后的值。 iOS 不会显示或播放通知负载中指定的不是启用类型之一的通知类型。例如,应用可能会接受图标标记作为通知形式,但可能会拒绝声音和警报消息,即使它们已在通知负载中指定。

    【讨论】:

    • 我已经在我的应用程序 delegate.m 文件中实现了您的代码。但是,我的徽章仍然出现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2013-07-31
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    相关资源
    最近更新 更多