首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >后台IOS可达性通知

后台IOS可达性通知
EN

Stack Overflow用户
提问于 2014-03-05 12:21:45
回答 3查看 2.9K关注 0票数 4

我想做一些任务,一旦用户来网上,即使他是背景。我正在使用Reachability类来检查互联网。但这堂课不是在我有背景的时候通知我的。我知道早些时候有人问过这个问题,但没有得到任何解决办法。如果我使用beginBackgroundTaskWithExpirationHandler。它只给我3到4分钟,在那之后,如果网络改变,我没有收到任何通知。请给我一些建议,我认为这是可能的,因为本地邮件应用程序以这种方式工作,而我的应用程序只支持iOS7。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-05 12:26:58

--您无法从类中获得通知--当应用程序处于后台时,您可以使用新的iOS 7背景获取可能性。这里是一个教程http://www.objc.io/issue-5/multitasking.html

票数 2
EN

Stack Overflow用户

发布于 2014-03-05 12:25:52

做你想做的事是不可能的。你不能把你的假设建立在苹果提供的应用上,因为苹果可以访问你没有的进程/ app。邮件作为守护进程在设备上运行,你的应用程序永远不会这么做。

阅读关于iOS 7后台功能的文章。它以你的应用程序为基础,在用户想要运行应用程序之前获得处理时间,而不是在你选择的任意时间。

票数 3
EN

Stack Overflow用户

发布于 2017-05-29 06:58:19

从功能中使用后台获取模式。首先,您需要选中背景模式的复选框:

代码语言:javascript
复制
Project settings -> Capabilities -> BackgroundMode -> Background Fetch

然后,您需要尽可能频繁地要求时间间隔,越快越好,所以我建议您使用application:didFinishLaunchingWithOptions:,并将这一行放在下面:

代码语言:javascript
复制
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
    return YES;
}

UIApplicationBackgroundFetchIntervalMinimum -系统支持的最小获取间隔。

然后,当背景提取触发时,您可以使用方法签入AppDelegate

代码语言:javascript
复制
-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
    Reachability *reachability = [Reachability reachabilityForInternetConnection];
    [reachability startNotifier];
    NetworkStatus status = [reachability currentReachabilityStatus];

    switch (status) {
        case NotReachable: {
            NSLog(@"no internet connection");
            break;
        }
        case ReachableViaWiFi: {
            NSLog(@"WiFi");
            break;
        }
        case ReachableViaWWAN: {
            NSLog(@"cellular");
            break;
        }
    }
    completionHandler(YES);
}

支持iOS 7.0+

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22197630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档