是否可以在iOS中创建一个后台服务应用程序,该应用程序对用户不可见并且隐藏在跳板之外?

问题描述 投票:-3回答:1

我想在iOS中创建一个后台服务应用程序,就像我们在android中没有Intent-filter(没有活动)一样,用户看不见但仍然在设备上退出。

我需要在此服务应用程序中保留一个数据库文件,该用户只需要安装在设备中,但不能为用户启用或显示。

我尝试在info.plist中使用SBAppTags,它成功地从跳板隐藏了应用程序图标,但仅用于模拟器而不是用于真正的iPhone设备。从iOS 8开始,Apple已经关闭了SBAppTags功能,因此无法使用它来隐藏跳板中的应用程序。还有其他可以在iOS中使用的类似于此的东西吗?

在android中,我为服务应用程序创建了Intent-filter,只需要从Play商店安装一次,然后对用户保持不可见。

如果有人在iOS上做过类似的事情,请在下面评论。

ios xamarin.ios hidden springboard service-application
1个回答
1
投票

后台服务是Android提供的功能。

iOS中,你能做的最好就是创造一个任务,例如。当应用程序进入后台时,下载任务并将其移交给OS

但是,这个后台任务最多只能运行30秒左右(你永远无法预测)。并且可以在没有任何通知的情况下随时被操作系统杀死。

    let session = URLSession(configuration: URLSessionConfiguration.default)

    if let downloadURL = URL(string: "YOUR FILE URL"){
        let downloadTask = session.dataTask(with: downloadURL)
        downloadTask.resume()
    }

此外,如果您要将后台服务用于特定任务(如VOIP),则需要将其添加到您的功能中

Configure background modes

Download task documentation

Background Modes documentation

© www.soinside.com 2019 - 2024. All rights reserved.