[iOS] [Xcode] What’s new in Xcode 15.0 beta?

JB
7 min readJul 16, 2023

--

벌써 2023년 하반기가 되었다. 벌써 하반기라니 시간 참 빠르다. 하반기 맞이 블로그 게시를 해보려한다(?)

Swift 를 개발하기 위해서는 Xcode 를 반강제적으로 쓸 수 밖에없다. 현재 Xcode 15.0.0-Beta.4 가 나오면서 메이저 버전이 바뀌었는데 WWDC 2023 를참조하면서 바뀐것들을 알아보자

1. Bookmark

개발을 하다보면 특정파일의 x번째 line으로 바로 jump 하거나, 추후에 해야 할일들을 // Todo: aiden.k 추후개발 과 같이 주석처리 해놓을 경우가 있다. 이럴때 해놓으면 좋은 기능이다

먼저 북마크하고싶은 라인에서 우측클릭을 하면 아래와 같이 해당 라인이나 해당파일을 Bookmark할 수 있다.

해당 라인을 북마크 할 경우 우측에 아래와 같이 북마크 되었다는 표시가 나온다

더블 클릭하면 이렇게 Description 을 넣을 수가 있고

아래와 같이 우측에 Bookmark Description이 나온다.

스크롤 바ErrorWarning이 발생한 것 처럼 북마크 표시를 쉽게 알 수 있어 도움이 된다.

또한 왼쪽 상단 Navigator 에서 북마크 되어있는 라인/폴더들을 몰아볼 수 있는 기능도 제공이 되는데

그룹을 만들어서 관리를 할 수가 있어서 아래와 같이 해야할 일들을 관심사에 맞게 분리 하여 관리를 할 수 있는 완소기능도 제공해준다.

이대로 끝나면 아쉬울것같아 해당 파일에 커서를 가져대면, 왼쪽 동그라미가 보이는데, 클릭하여 bookmark 로 되어있는 Todo 에 대해 작업을 마무리하였는지 여부도 알 수 있기에 적극 활용할 수 있는 기능이다.

작업 마무리 전
작업 마무리 후

2. Parameter Permutations

Xcode 14.0에서는
함수를 사용할때 default value 로 되어있는 인자값에 대해서는 Alt 키를 통해 인자값을 전부다 initilize 하거나 하지않거나 와 같은 기능만 있었다.

ex) 아래는 default value 가 있는 인자값에 대해서는 initialize 하지 않고,

alt 를 누름으로써 전체 인자값을 initialize 할 수 있었다.

Xcode 15.0 부터는
우측 > 표시 되어있는 버튼을 클릭하면

아래와 같이 특정 인자값을 initialize 해야하는 부분에 대해 모든 케이스에 대해 초기화 할 수 있도록 제공을 해준다.

마우스 클릭을 해야한다는 점은 조금 귀찮긴 하다.. (_ _)

3. Multiline Parameters

드디어 제공해주는 refactor -> Multiline Parameters! 🚀🚀
개인적으로 함수를 call 하거나, initialize 해줄때 인자들이 다닥다닥 붙어있으면 가독성이 매우 떨어져, 불편해 하는 1인 이다.
이를 해결해줄 완소 기능 등장!

함수의 close parenthesis 까지 드래그 후에 Refactor -> Format to Multiple Lines 를 클릭해주면

짠… 너무 편하고 좋다..

응용으로는 structinit 해줄때 Refactor -> Generate Memberwise Initializer 를 해준 후

Format to Multiple Lines 을 사용해주면 매우 편해보인다.

4. File Names Completion

큰 기능보단 이런 기능도 추가되었다 하면서 보면 좋을 것 같다.

아래와 같이 Swift 파일을 생성 하고

파일이름과 같은 struct 를 선언하려고 하면 아래와 같이 code completion 기능이 나온다.

끝.. (너무간단한데?..)

4. Asset Catalog Symbols

Assets 에 있는 이미지 resource 들을 가져와 UIImageView 에 세팅해줄때 아래와 같이 image의 이름을 String 으로 가져와야했는데

이는 오타와 같은 부분에서 매우 취약하다. (이미지가 잘못세팅되거나 이미지를 아예 못 가져올 수 있는 문제도 있음)

Xcode 15.0 에서는 string 으로 이미지나 컬러 등을 가져올때 야기할 수 있는 문제점들을 아래와 같이 Built-in-Safety 를 지원해준다.

이 기능은 버그를 유발할 수 있는 코드를 줄여줌으로써 개발자의 실수를 줄이고, 사용자의 좋은 경험을 가져올 수 있다.

5. Swift-DocC Documentation Preview

Swift-DocC는 Built-in-Documentation 으로 문서화를 쉽게 할 수 있도록 도와준다. Xcode 15.0 에서는 Assistant -> Documentation Preview 로 들어가면 아래와 같이Real-Time 으로 Documentation이 수정되는것을 확인 할 수 있다.

Xcode 15.0 에는

  • Source Control — Change Review
  • Vision OS
  • Dimmed-Code: Compiler-Conditional
  • Quick-Actions
  • Previews- New Syntax & UIKit

등과 같은 New Feature 들을 지원해주지만, 개인적으로 자주쓸 것 같고 유용할 만한 기능을 추려보았다.

--

--