我正在开发基于网络安全的Ios应用程序。我需要不断向设备(基于LINUX的服务器)发送UDP keepalive消息,并在该设备可用时获取动作。根据从服务器获取的操作,我们在应用程序中执行一些操作。无论app状态如前台,后台,暂停还是终止,都需要将此UDP keepalive发送到服务器。现在我面临的问题如下:
问题1: 问题是Apple不允许应用程序在后台连续运行,而无需在应用程序设置中使用以下背景模式之一:音频和AirPlay,位置更新,IP语音,报亭下载,外部附件通信,使用蓝牙LE配件,充当蓝牙LE配件,后台提取,远程通知。
根据我的应用程序的要求,我认为我可以使用Background fetch或外部附件通信。现在,问题是我们是否可以使用后台提取来从服务器发送UDP keealive和获取操作(不是背景提取doucmentation中写入的数据)并且即使应用程序终止,此背景提取是否也能正常工作?
问题2: 如果用户重新启动设备,我希望应用程序在后台自动启动,以便在没有用户干预的情况下发送UDP keepalive。我不想使用推送通知,因为它需要用户交互来启动应用程序。
您能否建议我解决上述两个问题的正确方法,以便我的应用程序不会在苹果商店被拒绝