基于位置的应用程序无法在后台iPhone中工作

时间:2012-03-17 05:40:37

标签: iphone background core-location uiapplicationdelegate

我正在开发一个我正在使用位置服务的应用程序。

基本上该应用程序显示如果你在哪个地方得到任何未接来电。

为此,我使用核心位置和核心电话框架工作。但是,当我测试应用程序时,位置服务不在后台工作。 我已将此代码用于didfinishlaunching。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

    UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; 

    if (localNotif)
        application.applicationIconBadgeNumber = localNotif.applicationIconBadgeNumber-1; 
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
    locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
    [locationManager startUpdatingLocation];
    [self callinbackground];

    [self.window makeKeyAndVisible];
    return YES;
}

和应用程序进入后台,然后我从这个链接写下代码: - code

但是,当应用程序进入后台然后无法工作。我是如何修理的?

提前致谢...

1 个答案:

答案 0 :(得分:2)

试试这个: - 在info.plist中添加密钥

key>UIBackgroundModes</key>
    <array>
        <string>location</string>
    </array>