菜鸟教程小白 发表于 2022-12-13 15:01:36

ios - 如何重置角标(Badge)应用程序图标编号?


                                            <p><p>我将推送通知集成到 CloudKit 中,以便 iCloud 中的每次更改都会在我的 iPhone 上弹出一个通知,并且角标(Badge)应用程序图标编号会相应添加一个。但是,当我使用代码时:</p>

<p><code>application.applicationIconBadgeNumber = 0</code></p>

<p>要在 <code>applicationDidBecomeActive(_ application: UIApplication)</code> 中重置该编号,我注意到角标(Badge)应用程序图标编号确实消失了,但是如果再次出现另一个新通知,该编号将不会从一个开始再次按预期进行,但只需在重置之前将原始总数加一即可。因此这个数字越来越大。我想知道如何解决这个问题?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>问题是你的<strong>apns payload</strong>,它包含<strong>超过1</strong>的角标(Badge)计数,你也需要重置payload。</p>

<p>当您设置 <code>application.applicationIconBadgeNumber = 0</code> 时,它只会在本地重置角标(Badge)计数,而不是在服务器中。</p>

<p>解决方案也将重置服务器中用户的角标(Badge)计数。</p>

<p><strong>更新:Apns 有效负载</strong></p>

<pre><code>{
    &#34;aps&#34; : {
      &#34;alert&#34; : {
            &#34;title&#34; : &#34;Push&#34;,
            &#34;body&#34; : &#34;Hello User&#34;
      },
      &#34;badge&#34; : 5
    }

}
</code></pre>

<p>应用程序显示的角标(Badge)计数与上面的 apns 有效负载中相同,您需要从服务器重置上面有效负载中的角标(Badge)值。 </p>

<p>希望对你有帮助。</p>

<p>干杯。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何重置角标(Badge)应用程序图标编号?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/42720259/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/42720259/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何重置角标(Badge)应用程序图标编号?