iphone - 如何在不越狱手机的情况下使用私有(private) API 在 iOS 上运行后台进程来同步电子邮件项目

标签 iphone ios background-process iphone-privateapi

我正在开发一个类似于联系人、日历的企业应用程序。即使我的应用程序处于后台,我也想同步我的日历和联系人。我也很乐意使用私有(private) API,因为我不会提交到应用商店。请注意,我想在不越狱设备的情况下完成这项工作。

已经发布了一个类似的问题 here我正在创建这个新线程,因为已经发布的线程有针对越狱设备的建议解决方案。

最佳答案

我正在分享我自己问题的答案,因为这可能对其他人有帮助

步骤:

1:在您的 application-info.plist 中添加“Required background modes”键并为其项分配值“App provides Voice 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

关于iphone - 如何在不越狱手机的情况下使用私有(private) API 在 iOS 上运行后台进程来同步电子邮件项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12004150/

相关文章:

iphone - 当uitextview使用google api加载当前位置时停止activityIndi​​cator

iphone - 将 iPhone 应用程序提交到 App Store,正确的配置文件

rake - 在后台运行rake任务与使用诸如Delayed Job,Resque或Sidekiq之类的gem有什么区别?

ios - AVPlayer 不在后台加载媒体

java - 使用 java.exe 的静默模式执行

iphone - UITextField - 在输入第一个字符后添加一个字符

ios - 用于 IOS 的 WebRTC native API

ios - 具有动态高度的 UIWebView 导致内存崩溃

ios - 迭代数组时,TableViewcells 不会出现在 tableView 中。 iOS 版

ios - 如何在swift中实现监听器模式