在iOS中应用程序处于后台时如何调用Method?

Cha*_*har 1 iphone accelerometer runloop

我有一个类名,因为myClassCalculate具有以下方法

- (void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {

NSLog(@"Accelerometer is called");

}
Run Code Online (Sandbox Code Playgroud)

我正在制作对象

    - (void)applicationDidFinishLaunching:(UIApplication *)application {    


    // Override point for customization after app launch
       myObject = [[myClassCalculate alloc] init];
Run Code Online (Sandbox Code Playgroud)

现在当应用程序进入后台时,我想要这个

    - (void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
Run Code Online (Sandbox Code Playgroud)

我该怎么做,以便在app后台调用此方法

谢谢

rck*_*nes 7

您不能,只允许VOIP,音频和导航应用程序在后台运行.因此,如果您的应用程序不属于其中一个,它将被暂停,并且不会收到任何事件.

有关后台的更多信息:应用程序状态和多任务处理

声明应用程序支持的后台任务

必须由使用它们的应用程序事先声明对某些类型的后台执行的支持.应用程序使用其Info.plist文件声明对服务的支持.将UIBackgroundModes键添加到Info.plist文件,并将其值设置为包含以下一个或多个字符串的数组:

audio - 应用程序在后台播放可听内容.(此内容包括使用AirPlay播放音频或视频内容.)

location - 该应用程序可让用户随时了解其位置,即使它在后台运行也是如此.

voip - 该应用程序使用户能够使用Internet连接拨打电话.

newsstand-content - 该应用程序是一个报亭应用程序,可在后台下载和处理杂志或报纸内容.

external-accessory - 该应用程序适用于需要定期提供更新的硬件配件.