스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
Xcode의 새로운 기능
Xcode 14의 최신 생산성 및 성능 개선 사항을 확인하세요. 완전히 새롭게 디자인된 SwiftUI 캔버스 경험을 소개하고 코드 완성 및 탐색의 향상된 기능을 알아보고, 전체 개발 과정에 걸쳐 이뤄낸 성능 개선 사항을 안내합니다. 또한 이제 Xcode를 종료하지 않고도 TestFlight 빌드에서 피드백을 읽고 응답할 수 있는 방법을 보여드립니다.
리소스
관련 비디오
WWDC22
-
다운로드
♪ 부드러운 힙합 반주 ♪ ♪ 안녕하세요, 여러분 Jonathon Mah예요 전 Lisa Xiao오죠 여러분께 Xcode 14의 새로운 점을 소개하니 기쁩니다 오늘은 Xcode의 새로운 특징과 향상된 면을 다루죠 그중엔 소스 편집과 SwiftUI 프리뷰가 있어요 멀티플랫폼 응용 프로그램과 TestFlight 피드백 개선된 성능도 있고요 살펴볼 게 많으니 시작해 볼게요 우선 얼마나 빨리 시작하나 알아채실 겁니다 Xcode 14는 30% 감량했거든요 다운로드와 설치 속도가 무척 빨라졌어요 주문형 추가 플랫폼과 시뮬레이터를 다운로드할 수 있죠 즉시 필요하면 여기서 구하시면 돼요 아니면 나중에 처음 써 볼 때나요
우리가 만드는 '푸드 트럭'은 음식 배달 응용 프로그램이죠
라이브 프리뷰가 있는 SwiftUI는 훌륭한 워크플로로 갈수록 더 나아집니다 프리뷰 캔버스는 디폴트로 상호 작용 하죠 그래서 변화가 생기는 즉시 실시간으로 반영돼요 캔버스의 새 컨트롤로 코드를 안 쓰고 각 프리뷰의 추가적인 변형작을 만들 수 있죠 배색과 텍스트 크기 기기 방향 설정을 다양화할 수 있고 곧바로 각 시나리오가 반영된 인터페이스가 보여요 다양한 Dynamic Type 크기에 따른 우리 뷰의 모습을 살펴보죠
이런 프리뷰를 나란히 보면 쉽게 인터페이스를 인증하고 올바로 보이는지 확인할 수 있어요 더 큰 사이즈를 살펴볼게요
첫 아이콘은 무척 넓어서 텍스트의 줄바꿈이 이상하게 나타납니다 다행히 제 디자이너가 바꾸라고 부탁했죠 헤더만 말입니다 우리 카드뷰는 아직 헤더의 다른 아이콘을 지원 안 하죠 그러니 그 기능부터 추가해 보겠습니다 제가 실행으로 전환해 볼게요
헤더와 콘텐츠 요소는 둘 다 같은 이미지를 씁니다 이 헤더의 고유한 다른 이미지 속성을 추가해 보죠
이런 카드는 대개 양쪽에 같은 이미지를 쓰는데 멋져 보여요 디폴트값을 지닌 지정 이니셜라이저를 추가해 기존 호출을 각각 업데이트하는 시간을 아낄 수 있죠
이니셜라이저를 입력하기 시작하면 이젠 Xcode 14가 모든 걸 완전하게 제공해요 디폴트값을 제 지정 작업의 시작점으로 삼으면 엄청난 시간을 아낍니다 코딩 가능 한 메서드에도 효과적인 방식이죠 헤더아이콘의 매개 변수를 디폴트값으로 정할게요
이젠 CardStack 뷰로 돌아가서 이 새로운 기능을 써 보죠
제 디자이너가 달력 기호를 여기 써 달랬어요 이젠 라이브러리에 SF Symbols가 다 포함되니 제가 올바른 걸 쓰는지 쉽게 확인할 수 있어요
Return을 누르면 이 기호를 쓰게 올바른 코드를 입력할 수 있죠
이 기호는 근사해 보이네요 프리뷰 변형으로 새롭게 나란히 비교해 보면 앱이 좋아 보이나 확인하기 쉽고 사용자가 선택하는 설정도 다양합니다 이니셜라이저와 코딩 가능 한 정의 외에도 Xcode 14가 더 많은 지능형 추천을 제공하니 여러분 아이디어를 더 빠르고 쉽게 쓸 수 있죠 제가 좀 더 보여 드릴게요
제가 또 다른 CardView를 추가하기 시작하면 이젠 이니셜라이저가 완성 목록에 바로 나타납니다 헤더아이콘 매개 변수는 이탤릭체죠 디폴트값을 가지기 때문입니다 완성됐다고 받아들이면 헤더아이콘 레이블을 포함하지 않고 우리가 막 추가한 디폴트값을 쓸 겁니다 다시 아이콘을 지정하고 싶으니 선택할 이름의 일부를 입력하면 됩니다
새로운 제 카드의 값을 정해 볼게요
새 카드에 앞서 다바이더를 쓰고 싶네요 VStack에 디바이더를 추가하면 전체 너비의 줄이 생깁니다
더 미세하게 손보게 프레임을 써서 최대폭을 정해 볼게요
프레임 수정자엔 선택 가능 한 인수가 많죠 새 완료 기능으로 스냅 처리 해 제가 필요한 인수를 얻습니다
이게 Xcode 14의 코드 완성입니다 첫 카드 제목은 메서드에서 나옵니다 수치를 다 정확하게 다루지 못한다니 어떻게 실행되나 살펴볼게요 Command-click으로 Jump to Definition을 선택하죠
재디자인한 정의 목록이 결과마다 다른 점을 강조하니 원하는 걸 빠르게 선택할 수 있어요 우리 텍스트(for:)가 프로토콜에서 나오니 여러 가지 옵션이 있습니다 메서드를 정의하는 특정한 유형을 보여 주는 목록이죠 프로토콜의 선언과 실행 작업이 두 개 있어요 서버가 지원하는 실행 작업을 둘러볼게요
정규 표현식 리터럴로 파싱을 실행하는 클래스로 Swift 5.7.의 새로운 기능입니다
제 동료 말로는 유닛 테스트에서 문제가 나왔다고 하니 지금 실행해 보겠습니다
네, 실패네요 그럼 어디 살펴보죠
이벤트 개수 추출이 뭔가 잘못된 듯하네요 이 기능이 어떻게 호출되나 살펴보죠 커맨드 클릭킹으로 이 메서드의 콜러를 열면 바로 볼 수 있습니다 정의 목록처럼 콜러 목록도 이 메서드 호출이 담긴 다른 파일과 기능을 보여 줍니다 콜 사이트 각각의 프리뷰와 함께요
실패하는 테스트 메서드의 호출입니다 프리뷰를 보면 태스트가 일련의 '0 records'를 지나니 문제에 대한 힌트를 주네요 이젠 버그를 포착할 수 있죠 정규 표현식이 1부터 9까지의 숫자와 일치하지만 제가 0을 넣는 걸 깜빡했습니다 0부터 9까지 쓰게 부호 범위를 업데이트하면 해결되죠 아니면 더 서술적인 숫자 부호 클래스로 바꾸거나요
아직 뭔가 안 맞는데 이젠 컴파일러가 그 이유를 말해 주죠 정규 표현식은 Swift 5.7.의 일급 특징입니다 제 정규 표현식을 다른 코드처럼 컴파일러가 확인하면 Xcode가 즉시 제 오타를 강조해 줘요 표현식을 고칠 때 생기는 두 가지 일을 알아 두세요 정규 표현식의 구문 강조로 제 수정을 확인해 에러가 딤 그레이로 표시돼요
이 새 디밍은 Xcode가 진단을 재평가한다는 걸 보여 주죠 제가 잠시 멈추면 파일이 다시 처리되며 에러가 해결된 걸 Xcode가 확인합니다 긴 빌드 때도 이런 디밍이 생기니까 어떤 최신 빌드에서 문제가 생기는지 쉽게 알죠 예전의 어떤 빌드에서 생기는지도요 그러면 테스트로 넘어가죠
바로 호출로 건너뛰는데 테스트 메서드 한가운데 있습니다 편집기 맨 위를 보세요 Xcode 14는 코드가 나타나는 정의를 보여 줍니다 스크롤해서 안 보일 때도요
맨 위의 테스트 다이아몬드로 다시 테스트할 수 있죠
잘됐네요, 고친 게 테스트를 다 통과합니다 Xcode 14에선 새 코드 완성 기능으로 코드를 더 빨리 쓰며 SwiftUI 프리뷰 변형으로 매끄럽게 디자인하고 개선된 에러 표시로 통보받는 게 늘며 jump to definition으로 자신 있게 둘러봅니다 더 많은 내용은 Lisa한테 부탁하죠 고마워요, Jonathon 그럼 빌드 성능 개선 부분을 살펴보도록 할게요 프레임워크나 응용 프로그램 같은 여러 대상을 Xcode가 만들 때는 우선 프레임워크 소스를 컴파일링합니다 그다음엔 모듈을 생성하고요 그럼 응용 프로그램 소스를 링크하고 컴파일링할 수 있죠 그리고 응용 프로그램과 링크해 빌드를 완료합니다 Xcode 14는 병렬성을 개선하려 빌드를 재조정해요 Swift 모듈을 열심히 생산해 Xcode는 빌드 작업을 정리하고 병렬성을 증대합니다 핵심적인 빌드 경로를 다 단축해요 여러분의 기기 동시 사용에 더 주의를 기울이면서요 하지만 거기서 그치지 않고 최대 두 배 빠른 링커도 만들었습니다 병렬성을 증대시켜서요 이런 모든 점 덕분에 Xcode 14는 최대 25% 더 빠르게 프로젝트를 만들죠 최대한의 코어로 가장 크게 개선된 장치를 이용해서요 심지어 빌드 스케줄링도 개선해서 장기 동시 작업 때 프로젝트에 내부 종속성이 생기기도 합니다 눈에 보이지 않으면 이렇게 되는지 파악하기 힘들 수도 있는데 좋은 소식은 Xcode 14에 그런 점을 포함한 거죠 어떤 빌드 로그나 결과 번들에서도 새로운 빌드 타임라인을 열 수 있어요 예기치 못한 장기 작업이나 병목 현상을 확인하는 데 유용할 거예요 이건 푸드 트럭의 빌드 타임라인이에요 스크립트 단계가 보이는데 빌드를 하나의 코어로 제한합니다 새 빌드 타임라인으로 중요한 통찰력을 얻고 빌드의 성능 기회를 확인할 수 있죠 병렬 빌드와 새 빌드 타임라인 링킹에 대해 배울 수 있는 모든 게 'Xcode 빌드의 병렬성 설명'에 나와요 '빠른 링크로 빌드와 개시 작업 개선하기'에도요 Xcode의 병렬성 검사는 더 빠르게 테스트하는 훌륭한 방식입니다 Xcode 14에선 그보다도 더 나아졌죠 제가 방금 보여 드린 것과 같은 기술로 빌드의 성능을 개선했어요 Xcode 14는 대상과 테스트 클래스의 스케줄링 종속성을 제거했죠 검사할 때 병렬성을 한층 더 증대시키게요 다른 테스트 클래스와 대상 테스트가 오래 걸리면 이 기능이 검사 실행 시간을 30%까지 개선할 수 있습니다 검사 속도와 신뢰도 개선법을 배우려면 다음 세션을 보세요 '빠르고 믿을 수 있는 Xcode Cloud 검사 만들기'죠 만들기와 검사가 더 빨라졌으니 macOS의 배포용 앱도 더 빨라지길 기대하세요 저희는 Xcode 14 공증 속도도 최대 네 배까지 더 가속했어요 Interface Builder를 쓰는 프로젝트에 더 좋은 소식을 전할게요 문서 로딩이 최대 다섯 배까지 빨라지고 기기 바에서 iPhones와 iPads 간의 전환도 최대 30% 빨라졌어요 캔버스 편집 작업이 늘어나고 여러분이 보는 장면을 우선시하니 큰 스토리보드에서도 즉각적으로 피드백을 받을 수 있답니다 Xcode 14는 더 빨라졌고 더 쓰기 쉬워지기도 했으니 어떻게 그런지 보여 드리죠 Xcode 14에선 앱에 다른 플랫폼을 가져오기가 더 쉽죠 단일 대상으로 여러분의 앱을 정의하고 지원하는 플랫폼 목록을 작성하세요 이러면 설정과 파일을 동기화할 필요가 없어서 각 플랫폼의 고유한 점만 설명하면 됩니다 'Xcode로 멀티플랫폼 앱 만들기'를 보고 여러분 프로젝트에서 이 기능을 활용하세요 Xcode엔 앱을 줄이는 훌륭한 도구도 있죠 메모리 디버거는 응용 프로그램의 유출을 탐색하는 데 늘 탁월했습니다 루드 객체부터 예기치 못한 라이브 객체까지 최단 경로로 조준해서 여러분이 유출된 이유를 조사할 수 있죠 Xcode 14가 이런 기능을 확장해서 여러분이 객체 안팎에서 참조 경로를 다 볼 수 있어요 보다 철저한 유출 설명과 더불어 이젠 여러분 객체의 총무게도 측정할 수 있습니다 Xcode 14에선 Swift Package 플러그인으로 Xcode 자체도 확장할 수 있죠 이젠 여러분의 코드를 처리하는 플러그인을 패키지가 통합할 수 있어요 린터나 포매터 같은 건데 프로젝트 탐색기로 그런 걸 곧바로 호출할 수 있답니다 만들기 중에 리소스를 처리하거나 코드를 생성하는 빌드 도구도 통합할 수 있죠 예를 들면 빌드 중에 원격 호출 절차 인터페이스의 고급 설명을 하급 글루 코드로 번역할 수 있어요 빌드 중에 리소스를 압축하거나 최적화할 수도 있고요 패키지 플러그인을 상세히 알아보려면 'Swift Package 플러그인 소개'를 보세요 'Swift Package 플러그인 만들기'도요 다른 응용 프로그램처럼 패키지 리소스를 국한시킬 수도 있어요 패키지의 디폴트 로컬라이제이션도 정할 수 있으니 로컬라이제이션 카탈로그를 내보내고 번역하며 재입수하죠 로컬라이제이션에 대해 더 배우려면 '글로벌 앱 만들기: 로컬라이제이션 예시'를 보세요 이제 런 데스티네이션 선택기로 넘어가 볼게요 기기 간의 전환은 제가 늘 하는 일인데 업데이트된 런 데스티네이션 선택기로 필요한 기기를 구하기가 더 쉬워졌어요 지금부터 살펴보시죠
런 데스티네이션 선택기를 열면 선택된 기기에 쓸 수 있는 런 데스티네이션이 다 나와요 전 종종 iPhone와 iPad 사이를 전환하죠 새 런 데스티네이션 선택기는 최근 선택을 우선시해서 이 작업이 정말 편리해졌어요 제가 최근에 쓰지 않은 다른 기기도 선택하기 쉽죠 이 목록을 필터링하고 'max'를 입력하면 Max 기기가 다 나와서 제가 원하는 걸 선택하기가 쉬워요 Scheme 선택기에서도 같은 기능을 다 쓸 수 있죠 이번엔 Organizer 창을 살펴보겠습니다 저희가 Organizer를 크게 개선해서 새로운 문제를 확인하고 앱을 향상하는 데 유용하죠 Organizer의 새로운 두 가지 리포트로 사용자 기기의 앱이 어떻게 작동하는지 이해하게 돕는데 그게 Feedback과 Hangs죠 지금부터 살펴볼게요
Feedback organizer는 Xcode의 TestFlight 피드백을 바로 다 보여 줘요 최근의 우리 빌드를 위해 TestFlight 사용자들이 좋은 코맨트와 스크린샷을 보내 주셨죠 인스펙터가 보여 주는 추가적인 세부 사항은 테스터 정보나 기기 환경 설정 같은 건데 기저 문제를 확인하는 데 유용하기도 해요 컨텍스트가 좀 더 필요하면 이 버튼으로 제 테스터를 바로 이메일로 보낼 수 있죠 TestFlight 피드백 출처는 베타 사용자지만 테스트에서 놓쳐 App Store로 들어가는 문제도 좀 있답니다 이런 버그의 가장 흔한 유형 중 하나가 정지 현상이죠 사용자 입력을 처리하고자 쉬지 않고 주 스레드를 사용할 때 앱이 정지됩니다 코드가 중요한 작업을 하더라도 사용자는 앱이 응답하지 않는 상황을 겪게 되죠 이 새로운 Hangs 리포트를 보면 App Store 사용자에게 가장 큰 영향을 주는 정지 현상이 나와요 그러니 영향력이 가장 커서 재조정할 코드가 뭔지 알 수 있어요 왼쪽을 보면 심각한 순서로 정지 현상 목록이 나와요 각각 문제가 있는 코드가 나타나는 편중된 백트레이스를 지니고 있죠 우리 앱이 지원하는 장치와 운영 체계 버전은 많은데 특정한 환경 설정에 더 큰 영향을 주는 정지 현상도 있죠 이런 정지 현상이 주로 iOS 15.3.에서 생긴다고 인스펙터에 나오니 유용한 정보죠 이 작업 준비가 되면 Open in Project 버튼으로 곧장 코드 속으로 뛰어들 수 있어요 새로운 Hangs와 Feedback 리포트는 이런 문제를 분류하고 사용자가 올바른 해결책을 빨리 찾게 돕죠 정지 현상 해결을 더 배우려면 'Xcode와 기기 탐지로 정지 현상 찾기'를 보세요 이번엔 아이콘을 살펴보도록 할게요 우리 앱 아이콘은 크기를 불문하고 멋져 보여요 우리가 픽셀 힌팅과 해상도마다 줄무늬 몇 개가 적절한지 선택하고자 시간을 들여서죠 그래서 언제나 산뜻하게 보여요 이런 픽셀 힌팅이 필수적인 아이콘과 불필요한 아이콘으로 나눌 수 있죠 이제 새 아이콘이 생겼으니 지금부터 살펴볼게요 이렇게 간단한 텍스처는 힌팅이 필요 없고 어떤 크기로 그려도 멋지게 보입니다 더블 클릭으로 새로운 이미지를 선택할 수 있어요 Xcode 14에선 여러분께 적절한 세밀도를 선택할 수 있답니다 이 아이콘은 단일 이미지가 근사해 보여요 새 Single Size feature를 써서 이거로 모든 크기의 이미지를 자동으로 생성하라고 Xcode에 알려 볼게요 그러려면 인스펙터에서 Single Size를 선택하면 되죠 이제 다 됐어요 지금까지 Xcode 14의 새로운 점을 간략하게 살폈죠 여러분이 더 빠르고 쉽게 개발하는 데 유용해요 시청해 주셔서 감사해요 다운로드해서 오늘부터 시작해 보세요 ♪
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.