XCode6에서의 언어 리소스 관리는 정말 많이 편해졌습니다.


1. 리소스에 추가할 언어를 선택합니다.



2. Export For Localization을 선택하면 .xliff 포맷의 파일이 생성됩니다.






3. XML파일 포맷이기 때문에 직접 열어서 수정을 해도 되지만 찾아보니 아주 편리한 온라인 툴이 있더군요.

http://xliff.brightec.co.uk/



4. 생성된 파일을 업로드 하면 편집 화면이 나옵니다. 화면에서 언어를 수정하면 수정된 .xliff 파일을 다운로드 받을 수 있습니다.


5. Import Localizations 메뉴를 통해 수정된 언어 리소스를 프로젝트로 불러옵니다.










지메일처럼 언제까지나 베타딱지를 붙이고 있을 줄 알았던 Android Studio가 1.0 정식으로 릴리즈되었습니다. 1.0으로 릴리즈 되면서 기존의 이클립스 환경 지원은 중단할 것이라는 내용도 보이더군요. (뉴스 링크)


안드로이드용 갈무리 앱은 Android Studio 환경에서 개발되었습니다. 0.8대의 베타 버전에서 1.0 정식 버전으로 껑충. 업데이트를 해서 빌드를 하려니 gradle에서 떡하니 처음 보는 에러 메시지를 밷어내더군요.





Gradle이 업데이트 되어서 발생하는 문제로 보입니다. 




정확히는 위의 내용으로 인한 오류입니다. 구글링을 해보니


http://tools.android.com/knownissues


이미 알려진 이슈로 등록이 되어 있습니다. Android Studio가 0.8대에서 1.0대로 변경되면서 gradle도 0.13대에서 0.14대로 업데이트 되었는데 문법이 변경되어서 발생하는 문제입니다. runProguard는 없어지고 minifyEnabled 로 수정해야 되는군요. 그 외에 바뀐 부분에 대해서도 이 곳 에서 안내를 하고 있습니다.


저의 경우는 runProguard 만 변경하니 다시 정상적으로 빌드됨을 확인하였습니다.


새로운 iTunes Connect에서 4.7 / 5.5 인치 대응 스크린샷을 올리려고 xcode6 iOS Simulator에서 cmd+s 로 스크린샷을 뜨고 올려봤는데 오류가 발생하면서 올라가지가 않았습니다.


아래 mix1009 님의 내용대로 jpg로 변경했지만 마찬가지였습니다.

열심히 구글링한 결과 


http://stackoverflow.com/questions/25821427/one-or-more-screenshots-have-the-wrong-aspect-ratio


내용을 보게되었고 반신반의하여... 파일명을 1.png 식으로 변경하였더니 정상적으로 업로드가 되었습니다. T_T


세 줄 정리)

1. 새로운 iTunes Connect에서 4.7 / 5.5 인치 대응 스크린샷을 올리기 위해 iOS Simulator에서 스크린샷을 뜸. 파일명은 ' iOS Simulator Screen Shot 2014. 9. 15. ㅇㅗㅎㅜ 1.14.37' 같은 식으로 생성됨

2. 해당 스크린샷 올릴 시 오류 (One or more screenshots have the wrong aspect ratio)

3. 파일 명을 1.png 같은 식으로 변경 후 다시 시도하면 올라감.

1.1.3 버전 업데이트를 1주일이 넘도록 기다렸는데도 안되디가 별안간 오늘 오전에 업데이트가 되었습니다.

그런데 심각도가 큰 문제가 발견되어 부랴부랴 1.1.4 버전을 준비하고 앱 업데이트를 신청하러 갔는데.. 며칠 전 itunes connect가 개편되면서 좀 많은 부분이 바뀌었습니다.


이전에는 앱 업데이트 준비를 하고 업데이트 내역을 정리하고 업데이트 할 바이너리를 올리기 전에 몇 가지 체크를 하는 부분이 있었습니다. 그 중에 IDFA관련한 내용을 체크하는 부분이 있는데 개편된 사이트에서는 이 부분이 보이지 않았습니다. T_T


이 상태에서 xcode의 Orgnizer 항목에서 준비된 바이너리를 Validate하면 IDFA와 관련된 부분이 들어가 있는 앱인 경우는 경고를 표시합니다. 멘붕에 빠져있다가 일단 경고가 뜬 채로 앱을 올리고 난 후 개편된 사이트에서 업데이트 될 버전의 내용이 표시되어 있는 부분 하단으로 내려가면 Build라는 항목이 있는데 이걸 클릭하면 방금 올린 바이너리 파일이 보입니다.


이 파일을 선택 후 그냥 submit for review를 클릭하게 되면 그제서야 이전에 앱을 올리기 전에 봤었던 IDFA 관련 부분을 체크하는 항목이 나옵니다. T_T


이전에 올리던 방식과 아직은 혼재되어 있는 듯 해서 IDFA와 관련한 경고 메일이 날아오기는 하지만 관련 쓰레드를 검색해 보니 무시해도 되는 모양입니다.


참조:


https://devforums.apple.com/message/1035526#1035526

https://devforums.apple.com/message/1035201#1035201


그나저나 이번 1.1.3 버전의 버그는 좀 치명적이라.. 긴급 업데이트 신청을 해 놨는데 잘 될지 모르겠네요. T_T

이런저런 이유로 미루고 있던 xcode6 beta6 기반에서 갈무리를 컴파일 해 봤습니다. 예전에 xcode6 beta1 나왔을 때 해 보긴 했었는데 문제가 있었습니다. 게시물 목록이 마구 깨져나오는 건데 아래처럼 나오는 것이었습니다.


그 당시엔 열심히 구글링도 해보고 stackoverflow 사이트에서 찾아봐도 저와 같은 증상을 호소한 질문은 있어도 답변은 아마도 xcode6의 버그같다.. 정도의 내용밖에는 없어서 정말 버그겠거니.. 하고 있었습니다.


그런데 이제 iOS8 베타도 거의 마무리 되어가는 과정에서 설마 아직도 이런 문제가 계속 발생할까? 싶어서.. 다시 한번 문제를 찾아보니 완벽한 해결책은 아니지만 저와 비슷한 문제를 제기하고 처리하신 분이 있더라구요.


크게 두 가지 방법이 있었는데 첫 번째는 storyboard에서 UITableCell을 선택 후 Interface Builder Document에서 Use Auto Layout 체크를 해제하는 방법이었습니다. 잘 되더라구요. 그런데 아래와 같은 warning을 띄웠습니다. 



Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0


찝찝해서 두 번째 방법을 썼습니다. (http://stackoverflow.com/questions/24110341/custom-uitableview-not-displaying-correctly-on-ios8)





tableview의 heightForRowAtIndexPath를 인위적으로 설정하는 방식이었는데 이 방법이 현재로서는 최선이겠다 싶네요.


과연 이 문제는 버그일까요 아니면 iOS8로 업데이트 되면서 spec이 변경되면서 어쩔 수 없이 발생하게 마이그레이션 이슈일까요?



  1. 1111 2015.03.31 16:31

    대부분 이런류는 버그가 아니더군요

    • 52 2015.04.01 11:09 신고

      네~ 이 글을 썼을 때가 iOS 8.0이 나오기 전이었는데 버그는 아니었습니다. :)

+ Recent posts