React Native:关闭应用程序时在 iOS 上运行后台任务的最佳方法?

Posted

技术标签:

【中文标题】React Native:关闭应用程序时在 iOS 上运行后台任务的最佳方法?【英文标题】:React Native: Best approach to run a background task on iOS when the app is closed? 【发布时间】:2019-04-04 12:08:41 【问题描述】:

我需要定期将 HealthKit 数据发送到服务器。我正在使用 React Native 和 rn-apple-healthkit。我试过react-native-background-task,但在应用程序关闭时它不起作用(不是后台模式)。我在 Apple 开发者文档中读到,这是设计使然。

我在网上找到了一些解决方案,例如地理定位服务、运行套接字和“播放”静音、捎带推送通知,但它们似乎都是解决方法。

2019年有什么好的办法吗?

【问题讨论】:

【参考方案1】:

使用静默通知是实现此目的的正确方法。但是当手机被锁定时它不会工作:

For security, the HealthKit store is encrypted when the device is locked, and the HealthKit store can only be accessed by an authorized app. As a result, you may not be able to read data from the store when your app is launched in the background; however, apps can still write data to the store, even when the phone is locked.

取自https://developer.apple.com/documentation/healthkit/protecting_user_privacy

【讨论】:

感谢您的回答!您如何建议发送静默通知? developer.apple.com/documentation/usernotifications/… 值得一提的是,Apple 可能会在您从后台上传 HealthData 时遇到问题,因为它可以被视为恶意。

以上是关于React Native:关闭应用程序时在 iOS 上运行后台任务的最佳方法?的主要内容,如果未能解决你的问题,请参考以下文章

React-Native Spotify SDK iOS:关闭身份验证窗口

当用户手动关闭 react-native-ios 应用程序时如何运行一些代码?

React-Native-Image-Picker 对话框在 IOS 中启动后自动关闭

React-native 应用程序永远不会重新启动以处理 iOS 中的位置更新

如何在用户手动关闭react-native-ios应用程序时运行一些代码?

在获取新数据时在 react-native 应用程序上使用中继缓存数据