사용자가 촬영한 사진에 프레임을 합성한 최종 결과물을 다른 기기로 공유(Airdrop, 카카오톡 등)하는 기능을 추가하고자 했다.
PhotoComposer가 SwiftUI View를 렌더링하여 최종 이미지를 생성한다.ResultView에서 사용자 저장 및 공유 액션을 제공한다. (하지만 현재는 숨겨있는 상태이다.)이와 관련된 학습 정리는 아래 링크를 참고해주세요.
공유 기능 구현을 위해 Apple에서 제공하는 두 가지 주요 방법을 비교했다.
ShareLink (SwiftUI 네이티브 API)UIActivityViewController (UIKit 기반 공유 시트)| 항목 | UIActivityViewController | ShareLink |
|---|---|---|
| 프레임워크 | UIKit | SwiftUI |
| 코드 복잡도 | 래퍼 필요 | 선언적 |
| 최소 OS | iOS 6+ | iOS 16+ |
| 타입 안정성 | Any | Transferable |
| SwiftUI 통합 | 상당히 코드가 늘어난다. | 오직 네이티브 |
초기 구현 단계에서는 SwiftUI 환경에 자연스럽게 녹아드는 ShareLink를 우선적으로 선택했다.