2012-10-01 2 views
2

내 응용 프로그램에는 사용자의 위치 나 위치에 따라 콘텐츠 (서비스에서 제공됨)를 표시해야하는 특정 시나리오가 있습니다.iOS 기기에 로그인 된 Apple ID와 관련된 국가를 결정하십시오.

내가 수행 할 수있는 방법은 두 가지/세 가지가 있지만 아래에서 언급 한 것과 같은 몇 가지 단점이 있습니다. NSLocale

사용

1)

NSLocale 로케일 * = [NSLocale currentLocale]; NSString * countryCode = [locale objectForKey : NSLocaleCountryCode];
단점 : 사용자가 변경할 수 있습니다,이> 설정 -에서 구성 할 일반 - 위도 & 경도를 결정

코어 위치

사용> 국제 -> 지역 포맷

2) (CLLocationManager & CLLocation). 위도에서 & 경도는 역방향 지오 코딩을 사용하는 국가를 결정합니다. 내 목적을 달성하는 가장 정확한 방법이라고 생각됩니다.

단점 : 사용자가 코어 위치 서비스를 허용하지 않으면 위도가 & 길어서 사용자가 다시 찾을 수 없습니다. 여기

가 질문에 대한 내 부부

1) 나는 내 응용 프로그램을 구입 한 국가에서 턴하고이를 통해 애플 ID를 알고하는 데 도움이 애플에서 사용할 수있는 API가 있는지 알고 싶습니다있는에 이 사과 ID는 속한거야?

2) Apple의 보안 환경을 고려해 볼 때이 방법은 매우 어려울 수 있지만 여전히 ... Apple ID와 관련하여 신용 카드 관련 국가를 등록 할 수 있습니까?

응답을 기다리는 중입니다.

감사합니다.

답변

2

두 가지 질문에 대한 답변은 '아니오'입니다 (이유가 있음). Apple은 장치 소유자의 Apple ID에 대한 프로그래밍 방식의 액세스를 제공하지 않습니다. 신용 카드와 관련된 정보가 없습니다. 사용자에게 위치 정보를 요청하고 앱에 필요한 이유를 설명하는 권한을 요청할 것입니다 (iOS 6에서는 위치가 요청 된 이유에 대한 컨텍스트를 제공 할 수 있음).

+0

사용자의 위치가 App Store 로캘을 보장하지 않습니다. 사용자는 국가 A에있을 수 있지만 B 국가의 경우 앱 스토어에 로그인 할 수 있습니다. 이는 사용 가능한 응용 프로그램이 적은 국가의 사용자에게 특히 유행합니다. –

0

CTTelephonyNetworkInfo를 사용하여 장치의 SIM 카드에 대한 데이터에 액세스 할 수 있습니다. 물론 이것은 사용자가 SIM 카드를 가지고있는 경우에만 작동합니다. 그리고 그것은 대부분의 사람들이 지구상의 대부분의 장소로 여행 할 수 있기 때문에 모호한 가치가 있습니다.

관련 문제