我正在开发一个企业应用程序,它类似于联系人、日历。即使我的应用程序在后台,我也希望同步我的日历和联系人。我也很喜欢使用私有API,因为我不会提交给应用商店。这里需要注意的是,我想在不越狱的情况下让它工作。
here上已经有一个类似的问题了,我正在创建这个新的帖子,因为已经贴出的帖子有一个针对越狱设备的建议解决方案。
发布于 2012-08-17 21:50:37
如果这是一个企业应用程序,而你没有提交给Apple,那么我会尝试让你的应用程序识别自己为VOIP应用程序。然后,您可以设置一个keepAliveTimer,并在后台获取周期性的处理时间,以便执行所需的操作。
发布于 2012-08-27 17:11:03
我正在分享我自己的问题的答案,因为这可能会对其他人有所帮助
步骤:
1:在您的application-info.plist中添加"Required background modes“键,并赋值为"App provides over IP services”。
2:在appdelegate.m文件中,实现"applicationDidEnterBackground:“方法,如下代码片段所示。
static int counter;
- (void)applicationDidEnterBackground:(UIApplication *)application
{
//Minimun keepAliveTimeout is 600 seconds
[[UIApplication sharedApplication] setKeepAliveTimeout:605 handler:^{
//do your task
counter ++;
NSLog(@"Counter # %d", counter);
}];
}例如,我在给定的时间间隔内打印计数器变量,下面是输出日志消息:
2012-08-27 14:06:09.216 BackgroundApplicationForVOIP[1129:207] Counter # 1
2012-08-27 14:16:14.218 BackgroundApplicationForVOIP[1129:207] Counter # 2
2012-08-27 14:26:19.219 BackgroundApplicationForVOIP[1129:207] Counter # 3
2012-08-27 14:36:24.220 BackgroundApplicationForVOIP[1129:207] Counter # 4
2012-08-27 14:46:29.221 BackgroundApplicationForVOIP[1129:207] Counter # 5
2012-08-27 14:54:21.000 BackgroundApplicationForVOIP[1129:207] Counter # 6
2012-08-27 15:19:48.099 BackgroundApplicationForVOIP[1129:207] Counter # 7
2012-08-27 15:26:03.201 BackgroundApplicationForVOIP[1129:207] Counter # 8
2012-08-27 15:39:50.167 BackgroundApplicationForVOIP[1129:207] Counter # 9
2012-08-27 16:07:28.112 BackgroundApplicationForVOIP[1129:207] Counter # 10
2012-08-27 16:13:43.217 BackgroundApplicationForVOIP[1129:207] Counter # 11
2012-08-27 16:23:48.218 BackgroundApplicationForVOIP[1129:207] Counter # 12
2012-08-27 16:33:53.219 BackgroundApplicationForVOIP[1129:207] Counter # 13
2012-08-27 16:43:58.220 BackgroundApplicationForVOIP[1129:207] Counter # 14
2012-08-27 16:54:03.221 BackgroundApplicationForVOIP[1129:207] Counter # 15发布于 2012-11-26 02:55:50
如果你想连续运行,另一个想法是在Info.plist中启用所需的后台模式下的“音频”,并继续循环一个静默的mp3,直到你想继续运行。
https://stackoverflow.com/questions/12004150
复制相似问题