在ios上重复运行代码

我正在制作闹钟般的应用程序。 用户应该在30分钟左右的时间内每隔10-60秒用振动和声音通知用户。 什么是最好的办法呢? 在前台很容易,但是我怎样才能继续在后台运行预定的代码呢? 我可以使用本地通知,但用户在“请勿打扰”模式下不会收到它们。

您应该查看有关后台执行的文档: 后台执行和多任务处理 。 在后台运行代码的方式有很多,但是您的应用程序必须满足一定的使用准则 – 在您的情况下,我认为您的应用程序不会落入苹果在实施长时间运行中描述的任何类别背景任务 。 无论如何,提交评论总有可能批准您的应用。

为了避免潜在的应用拒绝,您应该使用本地通知来实现您的应用,并且在您的应用中包含一条警告,即用户应该禁用“请勿打扰”,以使其正常工作。 不幸的是,用户无法从DND中排除应用程序,也没有公开的API来操作DND。