2012-10-20 3 views
1

사용자 국가에 따라 다르게 동작하는 응용 프로그램을 개발해야합니다. 예를 들어 사용자가 프랑스에있는 경우 일부 기능을 사용할 수 있습니다. 그러나 사용자가 인도인 일 경우 다른 기능 세트에 액세스 할 수 있습니다.사용자 국가에 따라 다른 기능을 가진 응용 프로그램

언어 기반 제한 만있는 경우 NSLocale 클래스 메서드를 사용하여 기능을 전환 할 수 있습니다. 하지만 라이센스 및 법적 이유 때문에 사용자의 국가에 따라 기능이 달라집니다.

이 상황을 처리하는 가장 좋은 방법은 무엇입니까?

+1

로캘에서 국가 코드를 검색하지 않는 이유는 무엇입니까? –

+0

안녕 핫 릭, 귀하의 제안에 감사드립니다. 로케일 사용시 나타나는 문제는 사용자가 장치의 설정 화면에서 로케일을 변경할 수 있다는 것입니다. 그리고 나는 그가 어느 나라에서 왔는지 확실히 알아야합니다. 더 나아가, 나는 IOS App Store 국가에서 그가 무엇인지 알 필요가있다. – daniloslv

+1

당신은 그 사람이 어떤 나라 출신인지 사용자에게 물어볼 수 있습니까? – pasawaya

답변

1

타사 앱은 기기 사용자 또는 iTunes 계정에 대한 액세스에 관한 어떠한 정보에도 액세스하지 않습니다. 사용자의 실제 국가를 알 수있는 방법은 없습니다. 주어진 시간에이 장치는 어느 한 사람과 관련되지 않을 수도 있습니다. 예를 들어, iPod touch에는 iTunes 계정에 로그인 한 사용자가 없을 수 있습니다. 동일한 장치가 여러 계정 중 하나에 궁극적으로 로그인 될 수 있습니다.

액세스 할 수있는 권한은 사용자의 현재 GPS 위치 (사용자가 앱에서 해당 정보에 액세스하도록 허용 한 경우) 또는 현재 로캘입니다.

기본적으로 필요한 것을 수행 할 방법이 없습니다. 물론 사용자에게 메시지를 표시 할 수는 있지만이 정보를 확인할 방법이 없다는 것은 분명합니다.

+0

네, 이론 상으로는 GPS를 사용할 수는 있지만 자세한 경계 데이터베이스가 필요합니다. –

+0

@HotLicks 당신은 SDK (MKReverseGeocoder)를 통해 실제로 GPS에서 국가를 얻을 수 있습니다. 진짜 문제는 사용자가 허용해야한다는 것입니다. – sosborn

0

시장 별 라이센스 또는 법적 문제로 인해 특정 요구 사항이있는 각 시장에 대해 iTunes Connect에서 별도의 응용 프로그램을 만들어 관련 시장에서만 다운로드 할 수 있습니다. 필요한 경우 시장 별 EULA를 제공 할 수도 있습니다. 이는 유지 관리에 큰 부담이지만 특정 시장의 사용자 만 앱에 액세스 할 수 있습니다.

다른 구성 (XCode는이 "대상"이라고 함)에서 빌드 된 여러 버전의 프로젝트를 쉽게 빌드, 배포 및 게시 할 수 있으므로 일부 전처리기만 추가하여 단일 코드베이스에서이 작업을 수행 할 수 있습니다 정의를 관련 대상 정의에 적용하고 코드에 #ifdef을 입력하면 차별화 된 논리가 필요합니다.

관련 문제