iOS 앱 Xcode 14 대응하기

Jacob·2023년 1월 4일
0

애플 개발자 사이트에 뉴스가 올라왔다.

구체적인 날짜는 아니지만 아무튼 2023년 4월부터는 앱 심사를 올리려면 Xcode 14.1 이상으로 빌드 해야 한다... 😤

아직 1월이라 급하지 않지만 바쁘지 않을 때 미리 대응해 보자.

Xcode 14.2 앱 빌드 확인

현재 Xcode 13.4.1 사용 중이며 최신 버전인 Xcode 14.2를 따로 설치하고 기존 버전은 아직 삭제하지 않는다.

회사에서 담당하고 있는 앱인 렌톡수퍼드라이버를 빌드/아카이브 해봤다.

렌톡수퍼드라이버
빌드실패: Error 1개성공: Warning 2개
아카이브성공: Warning 2개성공: Warning 2개

렌톡만 빌드 에러로 실패했으며, 아카이브는 성공했지만 전에는 안 보이던 Warning 2개가 발생했다.

혹시 모르니 시뮬레이터와 실기기 모두 테스트했고 결과는 동일했다.

생각보다 심각하진 않네 ㅎㅎ 에러부터 해결해 보자.

AWSMobileClient 에러

다행히?! 외부 라이브러리에서 발생한 에러다.

무슨 심볼이 정의되지 않았다는데... 구글에 물어보자.

Undefined symbol: _OBJC_CLASS$_AWSCognitoIdentityProviderASF

AWS iOS SDK 레포에서 비슷한 이슈를 발견했다.

쭉 살펴보니 맘에 드는 답변이 보인다.

AWSMobileClient 버전을 2.12.0에서 2.17.0로 업데이트하고 Deployment target을 iOS 13으로 올렸더니 해결됐단다.

음... 내 프로젝트를 확인해 보자.
Deployment target은 iOS 14라서 상관없고...
AWSMobileClient버전이 2.13.1이다.
나도 업데이트하면 해결될 것 같은 기분이 든다.

3일 전에 배포된 따끈따끈한 2.29.1로 업데이트해 보자.

podfile에서 버전을 지정한다.
왠지 AWSS3도 동일한 버전으로 맞추는 게 깔끔할 것 같다.

pod update 해주고 빌드 하니 에러 사라지고 빌드 성공. 🎉

아카이브 Warning

아카이브는 성공했지만 노란색 Wanring이 불편하다... 이슈 내용을 살펴보자.

rentalk - Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase.

PromisesObjC - Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase.

음...output 디펜던시를 추가하거나 script phases에서 Based on dependency analysis를 체크해제하란다.

뭔가 추가하기는 귀찮으니 체크해제부터 시도해 보자.

프로젝트 Target -> Build Phases -> Run Script에서 체크박스를 찾아 해제한다.

또, Pods -> PromisesObjC Target -> Build Phases -> Create Symlinks to Header Folders에서도 해제한다.

다시 클린 빌드 하니 거슬리던 Wanring도 모두 사라졌다! 😀
수퍼드라이버도 동일한 Warning이라서 같은 방법으로 해결.

앱 아이콘 싱글 이미지로 변경

추가로 Xcode 14의 새 기능인 앱 아이콘 싱글 이미지를 적용해 보자.
빌드에는 문제없지만 해보고 싶잖아?!

이제 앱 아이콘을 사이즈별로 만드느라 외부 앱을 사용할 필요가 없다!
1024 사이즈의 이미지 하나만 넣으면 된다!!

물론 이전처럼 다양한 이미지를 제공해도 되지만...
사실 앱 아이콘을 변경하는 경우는 드물지만...

다~양한 이미지를 볼 때마다 답답했었다. 😧

우측에서 All Size -> Single Size 변경해 주면,

편~안 😁

이제 사용하지 않게 된 이미지들은 자동으로 삭제도 해준다!

정리

Xcode 14 최신 버전으로 앱 빌드/아카이브가 문제없는지 확인하고 에러를 해결했다.
또, Xcode 14의 신기능인 앱 아이콘 싱글 이미지도 적용했다.

끝! 👋

profile
iOS Dev

0개의 댓글