ios background transfer service怎么用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios background transfer service怎么用相关的知识,希望对你有一定的参考价值。
参考技术A 关于Background Fetch的更多请参考:<ios 7四种后台机制> 中关于Background Fetch的解释,这里只说明怎么使用Background Fetch。 一,开启Background Fetch支持 在XCode->TARGETS->Capabilities->Background Modes打开并添加Background Fetch. 同时在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中添加: [[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum]; MinimumBackgroundFetchInterval参数值是两次Fetch时间间隔,不能保证每隔这个时间间隔都会调用。这里设置为UIApplicationBackgroundFetchIntervalMinimum,意思是尽可能频繁的调用我们的Fetch方法。 二,增加实现Fetch方法 - (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler; 每次系统Fetch时都会调用该方法,我们可以在该方法中做刷新数据等操作,操作执行完成以后要调用completionHandlerblock(),比如:completionHandler(UIBackgroundFetchResultNewData);文档中说系统会根据completionHandler(执行的时间)来估计此次Fetch的耗电等。如果耗时耗电比较多,可能会降低被调用的次数。但这个方法也不是不限时执行的,说是有30s的时间来执行操作。completionHandler有三个参数: UIBackgroundFetchResultNewData 成功拉取数据 UIBackgroundFetchResultNoData 没有新数据 UIBackgroundFetchResultFailed 拉取数据失败或者超时 三,模拟Fetch事件 在实际的IOS7环境中,Fetch事件是由系统管理的,app开发者无法预先知道Fetch事件达到的时机。但XCode也提供了Fetch事件的调试办法,在XCode上运行程序后,在Debug->Simulate Background Fetch. 还有一种情况是app没有运行(不在前台也不在后台),被Fetch事件唤醒执行.这种情况的测试方法如下: Product->Scheme->Edit scheme 在Debug模式选中Options,点选Launch due to a background fetch event,运行即可。 [特酷吧]可以观察到当Fetch事件到来时,app先进入后台,再执行- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler。 四,判断设备是否开启后台应用程序刷新功能 折叠C/C++ Code复制内容到剪贴板 if ([[UIApplication sharedApplication] backgroundRefreshStatus] != UIBackgroundRefreshStatusAvailable) UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:@"您没有开启后台刷新,请在 设置->通用->应用程序后台刷新 中开启." delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil]; [alertView show]; [alertView release];background intelligent transfer service怎么关闭
参考技术A 右键点击我的电脑,管理,服务和应用程序,服务,任选一个服务,按字母B,则会跳到B开始的服务项上,
仔细核对一下名称,就能找到
background
intelligent
transfer
service,找到后双击,接下来点停止。则达到你的要求
以上是关于ios background transfer service怎么用的主要内容,如果未能解决你的问题,请参考以下文章
background intelligent transfer service启动问题
background intelligent transfer service 关闭这项服务有啥弊端?
WIN7服务里的background intelligent transfer service启动不了
Background Intelligent Transfer Service为啥总是自动启用