我正在阅读有关本地通知的许多内容以及他们可以帮助更新应用徽章编号的方式。
我想在午夜更新此徽章,并将其值设置为午夜之前我无法知道的数字。所以我希望,如果可能的话,在午夜启动一个功能,更新/加载一些数据,检查要显示的数字,并将其显示在徽章上。
当然,要显示的数字与显示的数字无关,可以更低或更高。
预计会有效: - 当应用程序在后台时 - 当应用程序在前台时 - 未启动应用时
你知道这样做的方法,甚至是部分吗?如果不可能,那就说我可以在午夜之前知道徽章编号......这会帮助你找到合适的答案吗?这不是通缉,但如果我没有选择让这项工作,我会计划编写大量无用的代码来做这件事......
答案 0 :(得分:3)
除非您的应用程序符合“官方”多任务案例(VOIP,位置和背景音频)之一,否则您在应用程序未运行时能够动态设置徽章编号的唯一方法是:使用推送通知...应用程序无法运行代码以响应本地通知(直到用户按下通知弹出窗口中的“查看”按钮为止)。
请参阅this文档,了解您可能想了解的有关iOS中本地和推送通知的所有信息。
答案 1 :(得分:0)
你很可能能够做到这一点。查看后台运行代码的Apple Guide。
答案 2 :(得分:0)
除非您将本地应用注册为VoIP应用或需要连续的位置监控,否则您无法可靠地确保本地应用在需要时运行;其中任何一个,在一个实际上不用于VoIP或导航的应用程序中,几乎肯定会导致App Store拒绝。
您最好的选择是将徽章作为推送通知发送。假设您控制的服务器可以知道徽章编号应该是什么,它可以向您的应用发送仅包含该徽章值的通知 - 不一定是警报弹出窗口或声音。 Urban Airship是一种发送推送通知的简单方法,无需进行大量配置和设置。