Tag: background fetch

如何在iOS上调试后台获取事件

注册您的应用以进行后台抓取,使您可以为用户做各种事情……例如更新图标的徽章计数! 但是您应该如何测试呢? 取回操作取决于操作系统…… 我将向您展示如何调试后台获取解决方案以及遇到的陷阱。 首先,在performFetchWithCompletionHandler设置一个断点,以便我们可以验证测试。 接下来,从Xcode的Debug菜单触发获取: 这应该可以正常工作,但这不是最有用的方案。 如果您想像这样进行调试,则可以直接直接调用performFetchWithCompletionHandler方法。 棘手的部分是重新创建完全不加载您的应用程序的情况,iOS将其唤醒以在后台执行。 这是我们遇到的#xcode问题。 编辑应用程序目标的方案,您将看到一个选项,用于模拟从后台提取事件启动。 在模拟器中尝试。 您将永远等待而不会出错。 显然,这曾经在模拟器中起作用。 但是不再。 精细。 让我们尝试使用该设备。 您可能会认为此错误是有意义的。 也许您需要进入手机上的“设备管理”设置,以验证您是否信任开发者证书。 我一般建议这样做,但是这里无济于事。 据我所知,这是一个通用的“超时”错误。 是什么赋予了? 好吧,这是一个错误。 在iOS 11.0.3之后,此功能就中断了。 如果您使设备保持最新状态(在撰写本文时为11.2.6),则将无法测试设备上的后台抓取。 那么现在怎么办? (编辑:自iOS 11.3和Xcode 9.3起,此功能现在可以使用!感谢Marco Mussini) 希望在Apple解决此问题之前,您可以使用较旧的测试设备。 如果您位于双子城,则可以在Livefront停留并使用运行11.0.3的iPhone 7 Plus(在FinalPass上注册-第一小时免费!)。 以此为警告-始终准备有备用测试设备,以及较旧版本的iOS! Sean在 Livefront 与Xcode有着严格的专业关系 。 ps如果您没有设备,但想验证启动顺序,我已经更新了AppLaunchSequence文档以包括后台获取。

iOS后台提取自定义时间间隔

我读了所有有关后台获取的Apple文档,目前我正在使用它: [[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:minimumBackgroundFetchInterval]; 我让OS决定何时执行后台获取,但如果我这样设置: [[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:21600]; 这是否意味着每6个小时会发生一次?