草庐IT

iphone - 如何使用 GCD 在后台定期运行代码块?

如何使用GCD在后台定期运行代码块?我正在尝试编写一个包含多个子系统的游戏引擎,例如渲染、物理、游戏逻辑等。有些任务应该是事件驱动的,但有些任务(如物理系统)应该在后台以恒定时间(例如1/100秒后)定期调用。我创建了一段代码,但如何在后台定期运行该代码块?GCD是合适的工具吗? 最佳答案 您需要的是GCD调度源。有关示例代码,请参阅CreatingaTimerExample. 关于iphone-如何使用GCD在后台定期运行代码块?,我们在StackOverflow上找到一个类似的问题:

iphone - 如何使用 GCD 在后台定期运行代码块?

如何使用GCD在后台定期运行代码块?我正在尝试编写一个包含多个子系统的游戏引擎,例如渲染、物理、游戏逻辑等。有些任务应该是事件驱动的,但有些任务(如物理系统)应该在后台以恒定时间(例如1/100秒后)定期调用。我创建了一段代码,但如何在后台定期运行该代码块?GCD是合适的工具吗? 最佳答案 您需要的是GCD调度源。有关示例代码,请参阅CreatingaTimerExample. 关于iphone-如何使用GCD在后台定期运行代码块?,我们在StackOverflow上找到一个类似的问题:

ios - 在后台继续下载

我正在创建一个应用程序,其中我正在从服务器下载一些数据。在进入后台时,我希望该连接应该继续运行,以便可以下载数据。我知道appDelegate中有方法-(void)applicationDidEnterBackground:(UIApplication*)application当应用程序进入后台时调用。但是连接是在viewController中创建的,如何在appDelegate中管理呢?还有其他方法可以做到吗?我经历了this链接但是有什么简单的实现吗? 最佳答案 执行某些在后台继续的操作的一种方法是创建一个单独的线程来执行下载。

ios - 在后台继续下载

我正在创建一个应用程序,其中我正在从服务器下载一些数据。在进入后台时,我希望该连接应该继续运行,以便可以下载数据。我知道appDelegate中有方法-(void)applicationDidEnterBackground:(UIApplication*)application当应用程序进入后台时调用。但是连接是在viewController中创建的,如何在appDelegate中管理呢?还有其他方法可以做到吗?我经历了this链接但是有什么简单的实现吗? 最佳答案 执行某些在后台继续的操作的一种方法是创建一个单独的线程来执行下载。

ios - HTTP 数据任务 (NSURLSessionDataTask) 的 NSURLSession 是否在后台线程中运行,或者我们必须提供队列?

现在我开始使用NSURLSession避免使用NSURLConnection,因为它是Apple提供的一个新的优雅的API。以前,我曾经将调用NSURLRequest放在GCDblock中以在后台执行它。这是我过去的做法:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{NSURL*url=[NSURLURLWithString:@"www.stackoverflow.com"];NSURLRequest*request=[NSURLRequestrequestWithURL:ur

ios - HTTP 数据任务 (NSURLSessionDataTask) 的 NSURLSession 是否在后台线程中运行,或者我们必须提供队列?

现在我开始使用NSURLSession避免使用NSURLConnection,因为它是Apple提供的一个新的优雅的API。以前,我曾经将调用NSURLRequest放在GCDblock中以在后台执行它。这是我过去的做法:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{NSURL*url=[NSURLURLWithString:@"www.stackoverflow.com"];NSURLRequest*request=[NSURLRequestrequestWithURL:ur

ios - 我可以在后台观察来电和去电吗?

当我的应用程序在前台时,它需要轻松检测调用事件,如调用连接、调用断开,但当我的应用程序进入后台时,它不会检测到任何调用事件。那么如何在后台检测来电和去电等通话事件呢?我正在使用iOS10和XCode8开发CallKit框架。我发现核心电话框架已在iOS10中弃用。我正在使用CXCallObserverDelegate模式来观察调用。我想计算通话过程中来电和去电的通话时长。 最佳答案 在搜索了这个问题之后,我得到了这个我认为可能有帮助的答案是的,您可以检测到调用,但前提是您的应用程序在前台运行。为此,您可以使用CoreTelephon

ios - 我可以在后台观察来电和去电吗?

当我的应用程序在前台时,它需要轻松检测调用事件,如调用连接、调用断开,但当我的应用程序进入后台时,它不会检测到任何调用事件。那么如何在后台检测来电和去电等通话事件呢?我正在使用iOS10和XCode8开发CallKit框架。我发现核心电话框架已在iOS10中弃用。我正在使用CXCallObserverDelegate模式来观察调用。我想计算通话过程中来电和去电的通话时长。 最佳答案 在搜索了这个问题之后,我得到了这个我认为可能有帮助的答案是的,您可以检测到调用,但前提是您的应用程序在前台运行。为此,您可以使用CoreTelephon

ios - HealthKit (iOS) 不会在后台传递数据 (objC)

我们目前正在尝试让HealthKit在后台运行,以便在应用程序关闭时将步数数据传送到我们的服务器。出于实验目的,我们在XCode中创建了一个全新的iOS项目,在Compabilities中启用了HealhtKit和所有后台模式。之后,我们几乎可以运行代码(见下文)。那么首先发生的是应用程序当然会请求我们授予的权限。我们期望的是该应用程序应保持每小时向服务器传送步数数据。但它并没有那样做,似乎该应用程序在未处于事件状态时无法执行任何操作。应用程序仅在恢复或启动时才传输数据,但根本不会从后台(软关闭/硬关闭)appdelegate.m:-(BOOL)application:(UIAppli

ios - HealthKit (iOS) 不会在后台传递数据 (objC)

我们目前正在尝试让HealthKit在后台运行,以便在应用程序关闭时将步数数据传送到我们的服务器。出于实验目的,我们在XCode中创建了一个全新的iOS项目,在Compabilities中启用了HealhtKit和所有后台模式。之后,我们几乎可以运行代码(见下文)。那么首先发生的是应用程序当然会请求我们授予的权限。我们期望的是该应用程序应保持每小时向服务器传送步数数据。但它并没有那样做,似乎该应用程序在未处于事件状态时无法执行任何操作。应用程序仅在恢复或启动时才传输数据,但根本不会从后台(软关闭/硬关闭)appdelegate.m:-(BOOL)application:(UIAppli