私のiOSアプリは次の理由でアップルから拒否されました:-
アプリでは、近くのユーザーの場所を地図上に表示できますが、必要なプライバシー対策が講じられていません。
そして、彼らは私のアプリのこのスクリーンショットを拒否メッセージと共有しています。
私のアプリでは、ユーザーの場所を使用して、地図上の近くのイベントを表示しています。また、地図上にユーザーの場所を表示するオプションを有効にしました。
アプリに位置情報サービスを設定するために次のコードを使用しています。
//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);
}
また、適切なメッセージとともにプロパティ「プライバシー-使用中の場所使用法の説明」を追加しました。また、位置情報を取得したときに位置情報サービスを無効にしました。
わからない、なぜ彼らはアプリを拒否しているのか。私は何か見落としてますか。?
この問題を解決するにはどうすればよいですか。
どんな助けでもいただければ幸いです。
最後に、これに対する適切な解決策を得ました。この解決策を見つけるのを手伝ってくれた@ Anbu.kartikに感謝します。
MAPにユーザーの場所を表示するオプションを有効にしました。ただし、ユーザーの場所が見つからない場合に処理するための障害デリゲートメソッドは記述していません。
そこで、次のデリゲートメソッドを作成し、承認のためにアプリを再度送信します。そして、アプリはアップルによって承認されています。
- (void)mapView:(MKMapView *)mapView didFailToLocateUserWithError:(NSError *)error{
NSLog(@"didFailToLocateUserWithError %@", error.description);
}
- (void)mapViewDidFailLoadingMap:(MKMapView *)mapView withError:(NSError *)error{
NSLog(@"mapViewDidFailLoadingMap %@", error.description);
}
したがって、すべての機能のエラーを処理するための障害デリゲートを作成する必要があります。したがって、このタイプの問題に関連するアプリの拒否は決して起こりません。
願わくば、これがあなたが探しているものです。どんな懸念も私に戻ってきます。:)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加