티스토리 뷰

반응형

안녕하세요 :) Zedd입니다.

방금전에 < 왕초보를 위한 로컬라이징 > 글을 썼는데 이것도 알아두면 좋을 것 같아서 ㅎㅁㅎ

이번엔 Info.plist를 로컬라이징 해봅시다.

엥;;;뭔솔;;;



...우리 뭐 연락처에 접근하든 사진앨범에 접근하든 카메라에 접근하든  항상!!!항상 저 alert가 나오죠....

내가 어케어케 할건데 허용해주겠ㄴㅣ..?

저 한국어로된 안내문은 개발자가 지정해주는 거였죠?

어디에서?

Info.plist에서 ㅎ





앱안에 Label들을 다 로컬라이징 했다고하면...이 문구도 로컬라이징 해줘야겠죠? 

이번엔 그래서 Info.plist를 로컬라이징 하는 방법ㄱ


Info.plist 로컬라이징하기




어케하냐??

About Information Property List Files - Apple Developer에 하는 방법이 나와있는데.. 따라해봅시다. 


~~!@#$%^& 일단 간단하게 요약하자면 저번시간에 했던거와 굉장히 비슷합니다. 

1. InfoPlist라는 이름의 strings파일을 만들어 ㅎㅎ
2. 오른쪽 inspector의 Localize..버튼을 클릭해
3. Base를 체크해줘


4. PROJECT > Localizations에 가줘

5. +버튼을 클릭해서 로컬라이징해주고 싶은 언어를 선택해

(저는 한국어만 해볼게요.)



아까 만든 InfoPlist파일을 체크해주는거 잊지마세요.


6. Base파일로 가봐


  1. CFBundleDisplayName = "Zedd";

    NSPhotoLibraryUsageDescription = "This app requires access to the photo library.";



자..Base파일을 기본이 영어랬죠? 그러니까 영어로 해줍시다. 

근데 CFBundleDisplayName은 뭐고 NSPhotoLibraryUsageDescription은 뭐죠..?




CFBundleDisplayName은 저기 첫번째에 따옴표된 "  "안에 있는 표시될 제 앱 이름이고, 

(말그대로 내 앱 아이콘 밑에 나오는 앱 이름)


NSPhotoLibraryUsageDescription은 저기 두번째 박스안에 있는, 말그대로 Description입니다. CFBundleDisplayName을 지정해주지 않으면 제 프로젝트 이름으로 나와요

(위 alert는 CFBundleDisplayName = "Zedd";를 주석처리 한 결과에요.)


그럼 Base파일은 다 처리했으니 한국어파일로 가봅시다. 



  1. CFBundleDisplayName = "제드의 이미지 피커";

    NSPhotoLibraryUsageDescription = "사진앨범 접근을 허용해주세요..";



이렇게 똑같이 해주면 되겠죠? 

이렇게 하실 때 주의할 점이 있는데요 반드시!!! 반드시 
Info.plist에 저 Key가 추가된 상태여야합니다.




Info.plist에 추가해주지도 않았는데 로컬라이징을 해버리면 소용없겠죠? 주의하세요.

자..그럼 지금..아 ㅡㅡ 난  NSPhotoLibraryUsageDescription아닌데...이 이름 어케앎? 
내가 로컬라이징하고 싶은거 이름 어케알죠?? 예를들어 난 앨범이 아니라 카메라 접근을 로컬라이징 하고싶은데..


이걸 아는 방법은..


Info.plist를 소스코드로 열어주세요.

그러면..!




이렇게 Key이름이 나온답니다. 이 Key이름을 볼려면 반드시 먼저 plist에 접근 권한 Key추가를 해야겠죠?
그러니까 "카메라 접근권한"에 대한 로컬라이징을 하고싶으면,
먼저



이렇게 먼저 추가해주시고!!!! 그 다음에!!!!!!!!!소스코드로 Info.plist를 열면




이렇게 Key이름을 볼 수 있게 된답니다. 
그럼 이걸 복붙해서~~~


  1. NSCameraUsageDescription = "카메라 접근을 허용해주세요..";


이렇게 해주면 된다는 말 XD
아무튼 우리가 위에서 한 거 잘 되나 봅시다. 
저는 지금 


한국어Description을 해놓은 상태에요. 

제 시뮬레이터는 영어가 기본언어니까 영어로 나와야겠죠? 


  1. CFBundleDisplayName = "Zedd";

    NSPhotoLibraryUsageDescription = "This app requires access to the photo library.";



해봅시다.



내 원래 프로젝트이름은  imagePicker였지만 Zedd로 바뀌었고, Description도 영어로 잘 나오네요. 갸앙 XD
아무튼 이렇게 간단하게 Info.plist도 로컬라이징 가능합니다. 

근데 조금 삽질했는데.. Base가 영어가 아닌가?
Base에 영어로 추가하면 CFBundleDisplayName을 인식을 못하네요..모지 
만약 저와 같은 증상이시라면 English를 추가하셔서 거기에서 해보세요. 그러면 됩니당.
아니 NSPhotoLibraryUsageDescription도 같이 인식을 못하면 Base가 아닌가보다..할텐데 NSPhotoLibraryUsageDescription는 인식하고 CFBundleDisplayName은 인식을 못하니까 좀 헷갈리네요 ㅎㅎ......
아무튼!!! 다들 간단하게 로컬라이징 하셨으면 ~.~ 틀린점이 있거나 지적할 부분이 있다면 댓글이나 PC화면 오른쪽 하단에 있는 채널서비스를 이용해주세요!!!!!
도움이 되었길 바래요 XD

반응형