먹고 기도하고 코딩하라

Xcode 15 App Extension 버전 조정하기 본문

Xcode 15 App Extension 버전 조정하기

사과먹는사람 2023. 11. 14. 22:10
728x90
728x90

 

올해 9월에 Xcode 15가 정식으로 배포되면서 집에서도 회사에서도 Xcode 버전을 올렸다.

메이저 업데이트를 한 뒤 마이너 업데이트를 앞두고 이슈를 처리하던 중.. 마스터 브랜치를 풀받았는데, 빌드는 성공하지만 Unable to Install 하면서 기기에 앱이 설치되지 않았다. 에러 메시지는 다음과 같았다.

the bundle info.plist does not contain a cfbundleversion key or its value is not a string.

 

버전이 없다니? Info.plist와 프로젝트 Identity 탭을 확인해봤지만 프로젝트 버전은 멀쩡했고 마케팅 버전까지도 잘 살아 있었다. 클린 빌드도 해보고 맥도 재시동해봤지만 문제는 여전했다.

 

마스터 브랜치에 뭔가 있었던 건 아닐지 하고 커밋 내역을 살펴봤다. NotificationServiceExtension과 WidgetExtension의 버전 정보가 삭제된 커밋이 있었다. extension에도 버전 정보가 필요한데 누락돼서 설치가 안 됐던 것으로 보인다.

 

결론적으로 이 에러가 나면

  • TARGETS > Extension > Build Settings > Versioning에서 Current Project Version을 제대로 수정해주거나,
  • PROJECT > Build Settings > Versioning에서 버전을 수정해주면 된다.

특히 PROJECT의 Versioning을 수정해주면 extension들의 버전이 한꺼번에 변경되기 때문에 이거 하나만 수정해주면 되긴 한다.

 

그런데 애초에 버전 정보가 누락되는 일이 왜 생겼을까 보면, Xcode 15로 올라가면서 extension의 General 섹션에는 Identity 탭이 사라졌다는 사실에 주목해야 한다.

예전에는 extension 버전을 바꿔주려면 그냥 TARGETS에서 탭만 하면 바로 나타나는 General 섹션에서 버전을 바꿔주면 됐는데, 지금은 Build Settings에서 Versioning을 검색해서 바꿔줘야 한다. 조금 귀찮아지긴 했다.

오죽하면 “제발 확장에 Identity 탭 좀 돌려놔달라”고 말하는 사람도 있다. 완전 이해한다.

 

728x90
반응형

'' 카테고리의 다른 글

Xcode 15에서 iOS 15 미만 기기 빌드 에러 이슈  (0) 2023.11.24
[Xcode] 14.3와 [weak self] 캡처  (0) 2023.06.15
Comments