1

当我的应用程序再次激活时,我收到错误消息。它从后台返回。

我猜它是我的陀螺仪,但还没有找到解决方案。

我的错误:

-[WebDataSource onGeomagneticModel:]: unrecognized selector sent to instance 0x37c430
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[WebDataSource onGeomagneticModel:]: unrecognized selector sent to instance 0x37c430'

我的应用程序DidEnterBackground:

- (void)applicationDidEnterBackground:(UIApplication *)application{
    NSLog(@"Application moving to background");
    LocationManagerDelegate *locationController = [[LocationManagerDelegate alloc] init];
    [locationController.locationManager stopUpdatingHeading];
    [locationController stopDeviceMotion];


}
4

1 回答 1

1

看起来您创建了另一个 LocationManagerDelegate 实例。所以..你没有打开的“旧”实例。

你应该在你的 .h 文件中添加

@property (nonatomic, retain) LocationManagerDelegate *locationController;

然后在.m文件中的@implementaion上面添加

@synthesize locationController=locationController_;

在您创建 LocationManagerDelegate 的地方,您需要以某种方式将其更改为(您没有发布那部分代码):

self.locationController = [[[LocationManagerDelegate alloc] init] autorelease];

然后将您的代码更改为:

- (void)applicationDidEnterBackground:(UIApplication *)application{
    NSLog(@"Application moving to background");
    [self.locationController.locationManager stopUpdatingHeading];
    [self.locationController stopDeviceMotion];
}
于 2012-04-13T10:11:12.793 回答