快速包中的后台获取

问题描述

我想做什么:- 我正在尝试构建一个自定义 SDK(通过 swift 包管理器),我的客户只需导入和利用这些功能。我的自定义 SDK 有助于连接设备,然后读取数据。我在我的 SDK 中融合了一些云上传功能,它基本上将数据上传到我们的服务器,因为我们也想要这些数据。

问题:- 现在,问题是确保数据上传发生。我计划创建一个后台服务,该服务将持续运行并确保上传任何未上传文件。问题是 IOS 没有像服务这样的选项(比如在 Android 中),我看到后台获取可以工作。

但真正的问题是我正在构建一个 SDK。

所以,我的问题是:- 是否有可能在 SDK/swift 包中提供后台获取功能

解决方法

是的,这是可能的!但是您需要向客户传递一些指令,因为后台获取需要直接在应用中配置,而不是在 SDK 中配置。

您可以创建自己的函数来实现后台提取

[% set list = ["macro_one","macro_two]%]

{% for macro in list%}

    {{ package_name[macro](params) }}

{% endfor %}

并且您的客户将在他们的应用程序中调用此函数。像这样

public func application(_ application: UIApplication,performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { ... }

另外,请记住该应用需要添加后台获取功能