본문 바로가기
iOS/Swift

[SwiftUI] Info.plist

by Callie_ 2023. 11. 20.

 

SwiftUI에는 Info.plist가 없다...!

 

SwiftUI를 다시 공부해보려고 UIKit에서 사용하던 것들을 이것저것 적용해보던 차, 무언가 이상한 걸 인지했다.
바로, info.plist가 폴더에 없다는 것. 
 
 
 
 

📌 Xcode 13 이후

 

프로젝트를 다시 만들어보고, 여기저기 눌러봐도 보이지 않아서 검색해보았는데 Xcode 13 이후 애플이 의도적으로 info.plist를 숨겼다는 걸 알게 되었다. 아래는 공식문서에 기재된 관련 내용이다.
 

  • Projects created from several templates no longer require configuration files such as entitlements and Info.plist files. Configure common fields in the target’s Info tab, and build settings in the project editor. These files are added to the project when additional fields are used. (68254857)
  • New projects created with Xcode 13 use a new project version. Using the new projects with an older version of Xcode requires changing the project version in the File inspector along with manual migration of the configuration settings for Info.plist and entitlements you can now specify in the target build settings. (77344653)

 
즉, Info.plist 파일은 target으로 위치가 변경 되었고, 사용자가 Info.plist에 새로 추가한 요소가 있으면 추가적인 파일이 생성되어 관리 된다는 것. 13 이전 버전으로 사용하려면, 수동으로 관리해주어야 한다는 것도 명시되어 있다.
 
그렇다면 사용자가 새로 추가한 요소가 있으면 추가적인 파일이 생성되어 관리된다는 건 무슨 의미일까?
 
 

 
Info.plist에서 내가 자신있게 할 수 있는 건, 아무래도 폰트를 추가해보는 거라서 폰트를 추가하는 작업을 예시로 들기로 했다. 애플이 문서로 알려준대로 프로젝트 네비게이터에서 [프로젝트] - [앱 타겟]으로 이동해서 [Info] 탭으로 들어오면 익숙한 key 이름들을 확인할 수 있다.
 
염두해두고 있어야할 부분은, 내가 새로 key를 "추가"하면 자동으로 내가 추가한 요소를 예외적으로 추가한다는 것. 근데 이렇게 정리만 해두면 이게 대체 무슨 말이지? 싶을 수 있다. 오른쪽 마우스를 클릭해서 [Fonts provided by application]를 추가해보았다.
 
 

자동으로 네비게이터 영역에 추가된 Info 파일

 
위 참고 이미지처럼 타겟 안 Info 탭에 있던 파일이 자동으로 생성되는 걸 확인할 수 있다.
 
 

덩그러니...

 
해당 파일을 클릭해보면, 엑스코드가 기본적으로 내장되어있는 key가 아닌 내가 새로 추가한 key만 따로 정리되어 있다. 참고로, 타겟의 인포 탭에선 내가 추가한 요소는 확인할 수 없다. 애플이 문서에서 설명한 "additional fields"는 이처럼 내가 별도로 추가한 key들을 의미하며, xcode13 이후부터 적용된다.
 
 
 
 
 

📌 정리

 
- Xcode 13 이후 SwiftUI 한정 Info.plist는 프로젝트 타겟의 인포 탭에서 관리해야한다.
 
- 인포 탭에서 유저가 별도로 field를 추가할 시,  자동으로 Info 파일이 생성되고 그 안에서 추가된 field가 관리된다.
 
- 커스텀으로 Info.plist를 만들수 있지만, 이론상 Info탭과 Info.plist는 동기화 되어 있어야하지만 찾아보니까 완전히 동기화가 되지 않으므로 커스텀보단 Info탭 이용을 권장함.
 
 
 
 
 
 
 
 

📁 Reference

 
https://developer.apple.com/documentation/xcode-release-notes/xcode-13-release-notes

Xcode 13 Release Notes | Apple Developer Documentation

Update your apps to use new features, and test your apps against API changes.

developer.apple.com

 
https://sarunw.com/posts/where-is-info-plist/

Where is Info.plist in Xcode 13 | Sarunw

If you create a new SwiftUI project, you will no longer see Info.plist file. Let's learn about this change.

sarunw.com

 
 
 
 
 
 


 
 
 

'iOS > Swift' 카테고리의 다른 글

[SwiftUI] NavigationView, NavigationStack, navigationTitle  (2) 2024.04.15
[UIKit] CustomView  (0) 2023.11.30
[SwiftUI] VStack vs LazyVStack  (5) 2023.11.06
[UIKit] Font 설정하기  (0) 2023.11.02
[iOS] 키보드 내리기  (0) 2023.07.30