iOS 应用被拒绝 - 您的应用可以在地图上显示附近用户的位置,但没有采取必要的隐私预防措施
iOS app rejected - Your app enables the display of nearby users' locations on a map, but does not have the required privacy precautions in place
我的 iOS 应用被苹果拒绝,原因如下:-
Your app enables the display of nearby users' locations on a map, but
does not have the required privacy precautions in place.
他们正在分享我的应用程序截图和拒绝消息。
在我的应用中,我使用用户的位置在地图上显示附近的事件。我还启用了在地图上显示用户位置的选项。
我正在使用以下代码在我的应用程序中设置定位服务。
//Declarting objects in .h file
CLGeocoder *geocoder;
CLPlacemark *placemark;
@property (nonatomic,retain) CLLocationManager *locationManager;
//Calling this method from viewDidLoad for setup location services..
-(void)getUserCurrentLocation
{
geocoder = [[CLGeocoder alloc] init];
self.locationManager=[[CLLocationManager alloc]init];
self.locationManager.delegate=self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
_locationManager.distanceFilter=kCLDistanceFilterNone;
if ([_locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)])
{
[_locationManager requestWhenInUseAuthorization];
}
[self.locationManager startUpdatingLocation];
}
-(void)StopUpdateLOcation
{
if([CLLocationManager locationServicesEnabled])
{
[self.locationManager stopUpdatingLocation];
}
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
CLLocation *currentLocation = newLocation;
if (currentLocation != nil)
{
//Saving location
[USERDEFAULT setValue:[NSNumber numberWithFloat:currentLocation.coordinate.latitude] forKey:@"CurrentLocationLatitude"];
[USERDEFAULT setValue:[NSNumber numberWithFloat:currentLocation.coordinate.longitude] forKey:@"CurrentLocationLongitude"];
//Here reverseGeocodeLocation method for fetching address from location
[self StopUpdateLOcation];
}
}
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
NSLog(@"didFailWithError: %@", error);
}
我还添加了 属性“隐私 - 使用时的位置使用说明”以及正确的消息。我在获取位置时也禁用了定位服务。
不确定,为什么他们拒绝应用程序。我错过了什么。?
如何解决这个问题?
如有任何帮助,我们将不胜感激。
您是否已将此消息添加到 iTunes 商店描述中:
Continued use of GPS running in the background can dramatically
decrease battery life.
例如:检查 Google 地图描述中的最后一行:
https://itunes.apple.com/us/app/google-maps-navigation-transit/id585027354?mt=8
终于找到了正确的解决方案。感谢@Anbu.kartik 帮助找到这个解决方案。
我启用了在地图上显示用户位置的选项。但没有编写失败委托方法来处理,如果找不到用户的位置。
所以我编写了以下委托方法并再次发送应用程序以供批准。并且app通过apple认证
- (void)mapView:(MKMapView *)mapView didFailToLocateUserWithError:(NSError *)error{
NSLog(@"didFailToLocateUserWithError %@", error.description);
}
- (void)mapViewDidFailLoadingMap:(MKMapView *)mapView withError:(NSError *)error{
NSLog(@"mapViewDidFailLoadingMap %@", error.description);
}
所以我们必须编写故障委托来处理所有功能的错误。所以绝不会发生与此类问题相关的拒绝应用程序。
希望,这就是您要找的。有任何疑虑,请回复我。 :)
我的 iOS 应用被苹果拒绝,原因如下:-
Your app enables the display of nearby users' locations on a map, but does not have the required privacy precautions in place.
他们正在分享我的应用程序截图和拒绝消息。
在我的应用中,我使用用户的位置在地图上显示附近的事件。我还启用了在地图上显示用户位置的选项。
我正在使用以下代码在我的应用程序中设置定位服务。
//Declarting objects in .h file
CLGeocoder *geocoder;
CLPlacemark *placemark;
@property (nonatomic,retain) CLLocationManager *locationManager;
//Calling this method from viewDidLoad for setup location services..
-(void)getUserCurrentLocation
{
geocoder = [[CLGeocoder alloc] init];
self.locationManager=[[CLLocationManager alloc]init];
self.locationManager.delegate=self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
_locationManager.distanceFilter=kCLDistanceFilterNone;
if ([_locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)])
{
[_locationManager requestWhenInUseAuthorization];
}
[self.locationManager startUpdatingLocation];
}
-(void)StopUpdateLOcation
{
if([CLLocationManager locationServicesEnabled])
{
[self.locationManager stopUpdatingLocation];
}
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
CLLocation *currentLocation = newLocation;
if (currentLocation != nil)
{
//Saving location
[USERDEFAULT setValue:[NSNumber numberWithFloat:currentLocation.coordinate.latitude] forKey:@"CurrentLocationLatitude"];
[USERDEFAULT setValue:[NSNumber numberWithFloat:currentLocation.coordinate.longitude] forKey:@"CurrentLocationLongitude"];
//Here reverseGeocodeLocation method for fetching address from location
[self StopUpdateLOcation];
}
}
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
NSLog(@"didFailWithError: %@", error);
}
我还添加了 属性“隐私 - 使用时的位置使用说明”以及正确的消息。我在获取位置时也禁用了定位服务。
不确定,为什么他们拒绝应用程序。我错过了什么。?
如何解决这个问题?
如有任何帮助,我们将不胜感激。
您是否已将此消息添加到 iTunes 商店描述中:
Continued use of GPS running in the background can dramatically decrease battery life.
例如:检查 Google 地图描述中的最后一行:
https://itunes.apple.com/us/app/google-maps-navigation-transit/id585027354?mt=8
终于找到了正确的解决方案。感谢@Anbu.kartik 帮助找到这个解决方案。
我启用了在地图上显示用户位置的选项。但没有编写失败委托方法来处理,如果找不到用户的位置。
所以我编写了以下委托方法并再次发送应用程序以供批准。并且app通过apple认证
- (void)mapView:(MKMapView *)mapView didFailToLocateUserWithError:(NSError *)error{
NSLog(@"didFailToLocateUserWithError %@", error.description);
}
- (void)mapViewDidFailLoadingMap:(MKMapView *)mapView withError:(NSError *)error{
NSLog(@"mapViewDidFailLoadingMap %@", error.description);
}
所以我们必须编写故障委托来处理所有功能的错误。所以绝不会发生与此类问题相关的拒绝应用程序。
希望,这就是您要找的。有任何疑虑,请回复我。 :)