小编Gio*_*nni的帖子

如何在后台正确使用位置 - 应用程序被拒绝3次

我的应用程序被苹果公司三次拒绝,所有拒绝信都是相同的,即:

我们发现您的应用使用后台模式,但不包含要求该模式持续运行的功能.此行为不符合App Store审查指南.

我们注意到您的应用程序在Info.plist中的UIBackgroundModes键中声明了对位置的支持,但不包括需要持久位置的功能.

在应用程序处于后台时添加需要位置更新的功能或从UIBackgroundModes键中删除"location"设置是合适的.

如果您选择添加使用位置背景模式的功能,请在您的应用程序说明中包含以下电池使用免责声明:

"继续使用GPS在后台运行会大大降低电池寿命."

有关背景模式的信息,请参阅iOS参考库中的"在后台执行代码"部分.

现在,据我所知,我正在运行背景并"做某事"......在我的AppDelegate中,我在didFinishLaunchingWithOptions中有以下代码:

    if ([[launchOptions allKeys] containsObject:UIApplicationLaunchOptionsLocationKey] &&
    ([launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey]))
{
    id locationInBackground = [launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey];
    if ([locationInBackground isKindOfClass:[CLLocation class]]) 
    {
        [self updateMyLocationToServer:locationInBackground];
    }
    else
    {
        //Keep updating location if significant changes
        CLLocationManager *locationManager = [[CLLocationManager alloc] init];
        self.bgLocationManager = locationManager;
        self.bgLocationManager.delegate = self;
        self.bgLocationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
        [bgLocationManager startMonitoringSignificantLocationChanges];
    }
}
Run Code Online (Sandbox Code Playgroud)

AppDelegate还启动了一个位置管理器并使自己成为委托.然后,我有以下代码来处理后台的位置更新:

 - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    [self updateMyLocationToServer:newLocation];
}


-(void)updateMyLocationToServer:(CLLocation*)myNewLocation
{
    //    NSLog(@"Updating Location from the background");

    NSString *fbID = …
Run Code Online (Sandbox Code Playgroud)

geolocation app-store appstore-approval

7
推荐指数
2
解决办法
6819
查看次数

(null):在__TEXT部分,__ text reloc 3:部分地址(0x7C6C)地址不在任何部分中用于体系结构armv7

升级到Xcode 4.4后,我试图在iPhone或iPad上运行我的(通用)应用程序时遇到这个恼人的链接器错误.如果我在iOS模拟器上运行它,我没有问题...我尝试添加armv6,不包括armv7,但没有运气......任何想法?

xcode

4
推荐指数
1
解决办法
879
查看次数

标签 统计

app-store ×1

appstore-approval ×1

geolocation ×1

xcode ×1