일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Reality Composer
- Xcode Cloud
- AppleEvent
- WWDC 2021
- App Clip
- swiftUI
- SF Symbols
- ProRAW
- CoreML
- detent
- actor
- DooC
- async
- SWiFT
- Physical Audio
- Hand Pose Detect
- SF Symbols 3.0
- NSUserActivity
- Mac
- concurrency
- Hand Action Detect
- AVFoundation
- User Enrollment
- profile
- DriverKit
- Xcode Organizer
- AR Quick Look
- Object Capture
- MDM
- METAL
- Today
- Total
목록2021/07 (30)
nyancoder
원본 영상: https://developer.apple.com/videos/play/wwdc2021/10258/ What are hangs 메인 루프에서는 사용자의 입력 - 처리 - 화면에 출력의 순서로 작업이 진행됩니다. 현재 작업이 느리게 처리되면 입력에 대한 화면의 갱신이 늦어지고, 사용자는 앱이 멈추는 현상을 느낄 것입니다. 하나의 작업이 처리되는 중에 들어오는 이벤트는 현재의 작업이 완료된 후 처리되기 시작합니다. 일반적으로 1초 이상 응답이 걸리는 경우 사용자는 앱이 멈춘 것처럼 느낍니다. 뷰에 진입할 때 발생하는 지연은 스크롤할 때 발생하는 지연보다 덜 민감하게 느껴집니다. What causes hangs hang의 원인은 메인 스레드에서 많은 작업을 수행하는 경우와, 메인 스레드가 블록 되..
원본 영상: https://developer.apple.com/videos/play/wwdc2021/10192/ Diversity 더 많은 개발자가 Swift 생태계 및 커뮤니티에 참여하도록 장려하고 있습니다. swift.org 블로그에서 다양한 개발자들의 기여를 인정하고 안내하는 게시물을 올렸습니다. 개발자들이 서로 연결될 수 있도록 Swift 포럼에 커뮤니티 그룹을 만들었습니다. swift.org/diversity에서 더 자세한 내용을 확인할 수 있습니다. 새로운 개발자가 기존의 개발자로부터 Swift전반에 걸쳐 지원을 받을 수 있는 멘토링 프로그램을 만들었습니다. Update on Swift packages 좋은 패키지 검색 도구였던 Swift Package Index가 Xcode도구에 통합되었..
원본 영상: https://developer.apple.com/videos/play/wwdc2021/10267/ Git에 변경사항을 올리면 빌드, 테스트 등의 정해진 작업 수행하고 결과물을 처리하거나 알림을 줄 수 있습니다. Xcode Cloud Xcode 내에 통합되어 상태를 한눈에 확인할 수 있습니다. 여러 개의 Workflow를 설정하고 수행한 뒤, 결과를 확인할 수 있습니다. 각 Workflow의 수행 결과를 Build라고 부르며 각각의 결과를 Workflow별로 확인할 수 있습니다. 실행 결과를 자신만의 원하는 필터를 저장하여 필터링하여 볼 수 있습니다. Build결과를 브랜치 별로도 그룹화하여 볼 수 있어 전체 팀의 작업을 한눈에 확인할 수 있습니다. 각 Workflow는 어떠한 작업을 수행할..
문제 상황 Swift의 Actor에서 다른 Actor의 함수를 접근할 때 발생하는 오류 중 하나로 아래와 같이 발생한다. 해결 방안 해당 함수를 async로 선언하면 발생하지 않는다. actor TestActor { func foo(testActor: TestActor) async { await testActor.bar() } func bar() { } } 또는 아래와 같이 async 블럭으로 감싸도 된다. actor TestActor { func foo(testActor: TestActor) { async { await testActor.bar() } } func bar() { } } 연관 자료: WWDC 2021 - Protect mutable state with Swift actors WWDC 20..
원본 영상: https://developer.apple.com/videos/play/wwdc2021/10058/ Async Sequence 비동기로 동작한다는 점을 제외하면 Sequence와 동일합니다. 예외를 던질 수 있습니다. Sequence가 끝나거나 오류가 발생할 수 있습니다. 기존 Sequence와 동일하게 for문에서 break, continue를 사용할 수 있습니다. Iterating a AsyncSequence Async Sequence의 for 문 사용은 기존 Sequence의 for문 사용과 거의 동일합니다. 차이점은 iterator에서 다음 값을 받아올 때 비동기로 받아온다는 점입니다. for try 구문을 사용한 경우 do - catch 문을 통해서 예외 처리를 할 수 있습니다. 전..
원본 영상: https://developer.apple.com/videos/play/wwdc2021/10254/ 이 장에서는 Swift 동시성 모델에 대한 이해와 성능 향상을 위한 방법에 대해 알아보겠습니다. Threading Model 많은 양의 데이터를 비동기로 업데이트하는 코드는 수많은 스레드를 생성할 수 있습니다. CPU 코어의 개수를 넘는 스레드는 성능 문제를 일으킵니다. 많은 스레드는 각각의 메모리 공간을 가지고 있어야 하기 때문에 메모리 오버헤드를 가집니다. 많은 스레드가 생성되면 많은 context switching이 발생하므로 CPU가 비효율 적으로 동작합니다. Concurrency in Swift Swift의 async/await는 매번 새 스레드를 생성하지 않기 때문에 Context ..