2014-03-13 1 views
0

내 응용 프로그램에서는 설정 페이지에서 일부 기능을 구현했습니다. 데이터베이스에서 지역화 된 제목을 가져 와서 설정 페이지의 제목 문자열 (키가 아님)을 변경할 수있는 방법이 있습니까? 가능하지 않으면 장치 언어와 상관없이 사용자 기본 설정을 기반으로 현지화 된 문자열 파일 (.lproj)을로드 할 수있는 방법이 있습니까?설정 번들에서 언어를 수동으로로드하는 방법 - ios

내 시나리오 :

사례 1 : 구현

:

사용자가 앱을 엽니 다 -> 구현하기 위해

를 앱 문자열

업데이트 장치 language->를 기반으로 서버에서 지역화 된 문자열을 가져 오기 :

설정 화면 - 서버에서 가져온 현지화 된 문자열 (장치 로캘)로 업데이트해야합니다.

사례 2 : 구현

:

사용자 로그 App에서 -> 사용자 선호도에 따라 서버에서 지역화 된 문자열을 가져 오기 -> 업데이트 앱 문자열

구현하기 :

설정 화면 -> 현지화 된 문자열로 업데이트해야 함 (사용자 기본 언어 별)

기타 시나리오 : 위의 두 가지 경우 "구현"할 수 없습니다. 수동으로 설정 번들에 문자열 (.lproj)을로드해야합니다. 예를 들면. 사용자가 로그인하고 자신의 언어가 프랑스어 인 경우 수동으로 설정 묶음에 fr.strings 파일을로드해야합니다. 이 경우 장치 언어가 변경되면 설정 번들이 해당 언어를로드합니다. 하지만 내 시나리오에서는 장치 언어와 상관없이 로그인 한 사용자의 설정 번들에 언어를로드해야합니다.

위의 시나리오에서 "구현하려면"섹션을 구현해야합니다. 이것을 달성 할 수있는 방법이 있습니까?

도움을 주시면 감사하겠습니다.

답변

0

설정 번들 인 경우 Xcode에 앱을 빌드 한 후에 수정할 수 없습니다. 설정 번들은 코드 서명되어 있기 때문에 변경할 수 없으며 새 문자열을로드 할 수 없습니다. 따라서 서버에서 다운로드 한 새 문자열을 복사 할 수 없습니다.

소스 코드를 제어하는 ​​응용 프로그램 내에서 설정을 이동해야하며, 응용 프로그램의 나머지 부분에 대해 이미 가지고있는 것처럼 들리도록 문자열을 바꿀 수 있습니다.

+0

마지막으로 언급 한 요점을 자세히 설명해 주시겠습니까? 응용 프로그램에서와 같이 설정 화면 (iPhone 설정)에서 문자열을 바꿀 수 있습니까? –

+0

아니요, 불가능합니다. 코드 서명 (애플사가 시행하는 보안)으로 인해 앱을 설치 한 후에 설정을 수정할 수 없습니다. 이 문제를 해결하는 유일한 방법은 런타임에 문자열을 제어하는 ​​응용 프로그램으로 설정을 이동하는 것입니다. –