iyOmSd/Title: Swift 105

[Swift] WWDC24 Bring expression to your app with Genmoji

Bring expression to your app with Genmoji세션을 정리한 글입니다.새로 생긴 genmoji의 활용법과 텍스트처럼 사용시 웹이나 백엔드와는 어떻게 상호작용하는지 알아봅니다.  Express yourselfExpressive이모티콘은 표현력이 풍부하고 텍스트 단락 전체를 단 하나의 이모티콘으로 대신할 수 있음! (👍) Versatile이모티콘 하나로 제대로 전달되지 않을 땐 적절한 조합을 찾으면 완벽해짐!  (🥒😱) Playful텍스트와 결합되면 더 강력해지죠 이모티콘도 텍스트임! (밖에비온다 우산없는데..😱😱😱) Enhances text이미지와 달리 이모티콘은 문장의 일부이며 주변 텍스트와 어울리도록 표현이 조정됩니다 (폰트적용)  Emoji enhancements..

iyOmSd/Title: Swift 2024.11.24

[Swift] WWDC24 Explore machine learning on Apple platforms

Explore machine learning on Apple platforms세션을 정리한 글입니다.  공간 컴퓨팅을 위한 제스처 인식, 이미지 캡처 시 인물 사진 모드 지원, 건강을 위한 심전도 및 심박수 모니터링,등 수많은 혁신적인 기능의 근간에는 첨단 머신 러닝과 AI 모델이 있습니다 머신 러닝과 AI 덕분에 이 모든 기능을 구현할 수 있으며, 이러한 기능을 구동하는 모델은 온전히 기기에서만 실행됩니다따라서 사용자 데이터를 기기에 보관하여 개인정보 보호를 강화하는 동시에 빠르고 효율적으로 상호 작용하는 경험을 제공할 수 있습니다온디바이스 머신 러닝은 Apple Silicon의 강력한 성능 덕분에 가능합니다   Apple InteligenceApple Intelligence를 통해 흥미로운 발전이 이..

iyOmSd/Title: Swift 2024.11.22

[Swift] WWDC23 Debug with structured logging

Tour Debug Console위의 로그에 관련 추가정보를 보고싶다면 왼쪽하단의 메타데이터 옵션버튼을 누르고 선택하면됨로그아래에 메타데이터가 배치되는걸 볼 수 있음 해당로그를 선택하고 스페이스 바를 눌러 빠르게 정보를 볼 수 있음 새 디버그 콘솔의 진짜 강점은 필터링 기능입니다 1.필터바에 직접 필터를 입력해도 됨2.특정 타입로그에 대한 필터에 빠르게 접근하여 확인할 타입선택가능(debug, info, notice ,error, lldb, stdio, 등)3.필요하거나 불필요한 로그를 우클릭하면 유사한 로그를 숨기거나 보여주는 옵션을 제공합니다특정 로그 집합을 더 자세히 다루거나 뷰에서 제거할 수 있음  Live debugging문제상황발생시 문제원인 찾는 예시를 보여주며 진행합니다이부분은 텍스트로 간..

iyOmSd/Title: Swift 2024.11.20

[Swift] WWDC24 Bring your app to Siri

Bring your app to Siri세션을 정리한 글입니다.앱을 시리에 연결하는 방법을 소개합니다 IntroductionIntegrate with Siri시리를 사용하면 사용자가 기기 어느화면에서든 앱을 이용해 작업을 수행할 수 있음사용자들이 앱을 보고있을 때 신속하게 작업수행 할 수있도록 도와줌 Developing with Siri iOS 10부터 SiriKit이 도입되었습니다 덕분에 개발자는 시스템이 제공하는 인텐트를 통해 사용자가 이미 이용하는 Siri 기능을 앱에서도 사용할 수 있게 지원할 수 있습니다  iOS 16에서는 앱 인텐트가 도입되었습니다 이 새로운 프레임워크는 앱을 Siri, 단축어 Spotlight 등과 통합해 줍니다 앱이 기존 SiriKit 도메인과 겹치지 않는다면 앱 인텐트가 ..

iyOmSd/Title: Swift 2024.11.18

[Swift] WWDC24 Meet Swift Testing

Meet Swift Testing 세션을 정리한 글입니다. Swift Testing은 새로운 오픈 소스 패키지로 Swift를 사용해 코드를 테스트할 수 있습니다Swift Testing은 Swift용으로 만들어져 동시성 및 매크로와 같은 최신 기능을 도입했습니다 Linux와 Windows 등 모든 주요 플랫폼을 지원합니다 Building blocks@Test 속성이 첫 번째 구성 요소입니다함수가 테스트임을 나타내죠 이것을 추가하면 Xcode가 인식하고 옆에 Run 버튼을 표시합니다테스트 함수는 @Test 속성을 가진 일반적인 Swift 함수입니다전역 함수일 수도 있고 유형의 메서드일 수도 있습니다비동기 또는 예외로 표시하거나 필요한 경우 전역 액터로 격리할 수 있습니다 @testable 속성을 사용해서 테..

iyOmSd/Title: Swift 2024.11.14

[Swift] WWDC22 Meet Transferable

Meet Transferable세션을 정리한 글입니다. Transferable공유 및 데이터 전송을 위해 어떻게 모델을 직렬화하고 역직렬화하는지 설명하는 Swift 우선 선언형 방식입니다 Anatomy of Transferable실행 중인 두 애플리케이션을 가정해 봅시다그리고 사용자가 복사 및 붙여넣기 ShareSheet, 단순 드래그 또는 다른 앱 기능을 통해 한 앱에서 다른 앱으로 어떤 정보를 전달한다고 하죠서로 다른 두 앱 간에 무언가를 보낼 때 이 모든 바이너리 데이터가 넘어갑니다이 데이터를 보낼 때 중요한 부분은 해당 데이터가 무엇인지를 결정하는 것입니다그건 텍스트나 영상, 가장 좋아하는 여성 엔지니어 프로필 또는 전체 아카이브일 수 있죠 그리고 데이터의 용도를 설명하는 UTType도 있고요 다..

iyOmSd/Title: Swift 2024.11.13

[SwiftUI] WWDC24 Enhance your UI animations and transitions

Enhance your UI animations and transitions 세션을 정리한 글입니다. TransitionsiOS 18에는 새 확대/축소 전환 효과가 있습니다 이 새 전환 효과를 사용하면 탭하는 셀이 수신 뷰로 바뀝니다 단순한 시각적 모습이 아니라 지속적으로 상호 작용하므로 처음부터 또는 전환 중에 탭하고 드래그해서 이동할 수 있게 됩니다확대/축소 전환 설정두 가지 작업을 해야 합니다첫 번째, 원한다는 표현을 합니다즉, 표시된 뷰에 navigationTransitionStyle 편집자를 추가하고 확대/축소 전환을 지정합니다두 번째로, 이 편집자를 소스 뷰에 연결하여 시스템이 확대/축소할 뷰를 알 수 있게 합니다두 위치 모두에서 동일한 식별자와 네임스페이스를 지정합니다 UIKit으로 전환적용..

iyOmSd/Title: Swift 2024.11.12

[Swift] WWDC24 Consume noncopyable types in Swift

Consume noncopyable types in Swift 세션을 정리한 글입니다. Copyingstruct Player { var icon: String}func test() { let player1 = Player(icon: "🐸") //1 var player2 = player1 //2 player2.icon = "🚚" //3 assert(player1.icon == "🐸")}위와같은 코드가있을때 1단계식보면플레이어1 🐸 생성플레이어2도 1과 동일하게 생성, 플레이어1의 복사본을 만든다는 의미 (player1 = player2 = 🐸)플레이어2의 아이콘변경시 플레이어1로부터 독립적인 플레이어를 변경하는것임 (player1 = 🐸, player2 = 🚚)하지만 Player가 참..

iyOmSd/Title: Swift 2024.11.11

[Swift] WWDC24 Explore Swift Performance(2)

Putting it together주요기능 구현 살펴보기Dynamically sized typeC 구조체의 크기는 항상 고정적이지만 Swift 유형의 크기는 런타임에 결정될 수 있습니다 두 가지 경우가 있습니다 첫째, SDK의 많은 유형은 미래의 OS 업데이트에서 저장된 속성이 추가되거나 변경될 수 있으며 Foundation의 URL 같은 유형도 여기에 포함되죠 따라서 이러한 유형의 레이아웃은 컴파일 타임에 알려지지 않는 것으로 취급해야 합니다 두 번째로 제네릭 유형의 유형 매개변수는 어떤 가능한 표현의 어떤 유형으로든 대체될 수 있어야 하므로 마찬가지로 레이아웃을 모르는 것으로 취급해야 합니다 두 번째 규칙에는 예외가 있는데 유형 매개변수가 특정 클래스로 제한되면 클래스 유형의 표현을 가져야 한다는 것..

iyOmSd/Title: Swift 2024.11.10

[Swift] WWDC24 Explore Swift Performance(1)

WWDC24 Explore Swift Performance를 보고 정리한 글입니다! 🙇‍♂️ C언어에서는 깔끔한 기계어 코드를 얻을 수 있지만 Swift는 그렇게 간단하지 않습니다.코드를 잘 못 작성하면 메모리가 완전 난잡해집니다.대신 Swift는 C에서 제공하지 않는 다양한 추상화 기능과 클로저, 제네릭 등을 지원합니다 이러한 추상화 기능은 간단하게 구현되어 있지 않으며 명시적으로 malloc을 호출하듯이 명확한 비용을 알 수 없습니다What is Performance?만약 어떤 도구가 있어서 프로그램을 그 도구에 집어넣으면 하나의 숫자가 출력되고 그 숫자로 프로그램의 성능을 모두 알 수 있다면 얼마나 좋을까요Safari의 성능 점수가 9.2라고 출력되는것 같이 표시하고싶지만 그렇게 할 수는 없습니다..

iyOmSd/Title: Swift 2024.11.09