728x90

WWDC 16

[WWDC23] Verify app dependencies with digital signatures

안녕하세요. 이번엔 WWDC23 'Verify app dependencies with digital signatures' 세션에 대한 내용 정리해 볼게요. # 개요 Xcode에서의 의존성 서명 검증(Dependency signature verification)은 앱 개발자의 앱을 보호하며 SDK 개발자가 배포한 SDK를 보호합니다. 앱 개발하면 개발 편의성을 위해 외부 SDK를 사용하는 경우가 많은데요. 아래처럼 사용하는 외부 SDK 중 하나에 문제가 있다면 앱에도 영향이 갈 수 있습니다. 앱 개발자 또는 SDK 개발자는 코드 내에서 사용하고 있는 외부 SDK에 문제가 없는지 확인 및 검증을 해야 할 책임이 있어요. Xcode 15부터 의존성 서명 검증 기능을 제공하고, 외부 SDK 확인 및 검증 작업을..

WWDC 2023.08.16

[WWDC22] Explore App Tracking Transparency

안녕하세요. WWDC22 'Explore App Tracking Transparency' 세션을 보고 내용 정리해 볼게요. 사용자를 추적(tracking)하려면 사용자한테 권한을 받아야 하고, 그러기 위해선 AppTrackingTransparency framework를 적용해야 합니다. 이번 세션을 통해서 언제 AppTrackingTransparency를 적용하면 좋을지, 어떻게 적용해야 하는지를 알아볼 예정이에요. # When to adopt 추적이란 앱에서 수집된 사용자 또는 기기 데이터를 다른 회사의 앱, 웹 사이트에서 수집된 사용자 또는 기기 데이터와 연결해서 타겟팅 광고 또는 광고 측정을 수행하는 행위 또는 사용자 또는 기기 데이터를 데이터 브로커와 공유하는 행위를 의미합니다. 추적 관련한 몇 ..

WWDC 2023.08.05

[WWDC22] Create your Privacy Nutrition Label

안녕하세요. WWDC22 'Create your Privacy Nutrition Label' 라는 세션의 내용을 가볍게 정리해 볼게요. 사실 별 내용 없습니다..ㅎ # Label creation process Privacy Nutrition Label은 이런 거예요. (어떤 데이터가 수집되고 어떻게 사용되는지 사용자에게 알려주는 정보입니다.) 이 라벨을 쓰기 위해선 앱 내에서 어떤 데이터가 수집되고 있고 어떻게 쓰이는지를 파악해야겠죠? 보통 앱을 만들면 외부 SDK(RxSwift, Alamofire 등)를 활용하는 일이 많을 텐데요. 앱 자체에서 수집하는 데이터 뿐만 아니라 외부 SDK에서 관리 및 수집하는 데이터를 모두 포함해서 Label을 작성해줘야 합니다. (어떤 데이터를 수집하는지에 대해선 외부 ..

WWDC 2023.07.31

[WWDC22] What's new in WKWebView

안녕하세요. 요즘 웹뷰를 자주 다루네요ㅎㅎ 좀 늦었지만 WWDC22 'What's new in WKWebView' 라는 세션을 보고 iOS 16에서 사용할 수 있는 WKWebView 신규 기능에 대해서 알아볼게요. # Web content interaction ## Fullscreen support Javascript의 webkitRequestFullscreen 기능을 쓸 수 있게 되었습니다. (특정 element를 전체화면으로 확대시키는 기능입니다.) WKWebView의 isElementFullscreenEnabled를 true로 설정해 주면 됩니다. 직접 테스트 해보실 수 있는 페이지도 만들어뒀어요! ## CSS viewport units dynamic viewport sizes를 따르는 새로운 CS..

WWDC 2023.07.29

[WWDC22] Embrace Swift generics

안녕하세요. 이번에는 WWDC22에서 소개된 'Embrace Swift generics' 란 세션으로 Swift의 추상화 방법에 대해 자세하게 알아보는 시간을 가져볼게요. Cow(🐮)라는 구조체가 있다고 해볼게요. Cow는 Hay(건초)를 매개변수로 가진 eat(먹기) 함수를 가지고 있습니다. Hay(건초) 구조체는 건초를 생산하는 작물인 알팔파를 재배하기 위한 grow(키우기) 함수를 가지고 있습니다. Alfalfa(알팔파) 구조체는 알팔파로부터 건초를 harvest(수확)하는 함수를 가지고 있습니다. 마지막으로 Farm(농장) 구조체는 Cow에게 먹이를 주는 feed(먹이기)라는 함수를 가지고 있습니다. 그런데 농장에서 키울 수 있는 동물이 Cow(🐮) 밖에 없는건 아니잖아요?? 우린 확장성을 ..

WWDC 2023.07.03

[WWDC22] Use SwiftUI with UIKit (feat. UIHostingConfiguration)

안녕하세요. WWDC22에 소개된 Use SwiftUI with UIKit 영상을 보고 내용 정리해보는 시간을 가져볼게요. # 1. UIHostingController UIHostingController는 SwiftUI 뷰 계층을 포함하고 있는 UIViewController 입니다. UIHostingController는 UIViewController이기 때문에 UIKit 프로젝트에서 사용할 수 있죠. 예시를 들어볼게요. SwiftUI View를 rootView로 한 UIHostingController를 만들고 화면에 출력해줄 수 있어요. class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } @..

WWDC 2022.08.08