gpt4 book ai didi

ios - 后台应用程序如何检查互联网连接,IOS?

转载 作者:可可西里 更新时间:2023-11-01 03:54:47 24 4
gpt4 key购买 nike

我的 Iphone 应用程序有 2 种模式,在线模式和离线模式。如果用户在在线模式下使用应用程序,请求会立即提交给服务器。如果用户在离线模式下使用应用程序,我会将请求存储在本地,以便在互联网可用时上传。我正在使用可达性类来检查互联网可用性。可达性适用于应用程序。我无法实现以下场景。当用户在离线模式下工作时,我存储了请求,这意味着用户将通过单击 iPhone 中的主页按钮在后台推送应用程序。一段时间后,用户将激活其设备中的 wifi 或蜂窝连接。当用户启用互联网连接时,我在后台的应用程序应该会收到通知并开始向服务器提交请求。我怎样才能实现这个功能?许多 ios 应用程序可能具有相同的此要求。他们是怎么做到的?任何想法?

我尝试按照以下步骤来实现此目的,但没有成功。我在这里做错了什么,请帮助我。

1) 我在 applicationDidEnterBackground 委托(delegate)方法中为 kReachabilityChangedNotification 添加了观察者。但是我的应用无法通过这种方法收听 Kreachabilychaged 通知。

2) 如果我在 applicationdidbecomeActive 中添加 kReachabilityChangedNotification 的观察者,那么我的应用程序就能够监听 Kreachabiliychagednotification。

为什么 IOS 不允许在应用程序处于后台时监听 Kreachabiliychagednotification?

最佳答案

答案是你不能,除非你的应用程序将具有这些特定用途之一(引用 Apple 文档):

Support for some types of background execution must be declared in advance by the app that uses them. An app declares support for a service using its Info.plist file. Add the UIBackgroundModes key to your Info.plist file and set its value to an array containing one or more of the following strings:

*audio—The app plays audible content to the user while in the background. (This content includes streaming audio or video content using AirPlay.)
*location—The app keeps users informed of their location, even while it is running in the background.
*voip—The app provides the ability for the user to make phone calls using an Internet connection.
*newsstand-content—The app is a Newsstand app that downloads and processes magazine or newspaper content in the background.
*external-accessory—The app works with a hardware accessory that needs to deliver updates on a regular schedule through the External Accessory framework.
*bluetooth-central—The app works with a Bluetooth accessory that needs to deliver updates on a regular schedule through the Core Bluetooth framework.
*bluetooth-peripheral—The app supports Bluetooth communication in peripheral mode through the Core Bluetooth framework.

您只能重新进入前台再次检查可达性。

关于ios - 后台应用程序如何检查互联网连接,IOS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18096314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com