SWIFT(87)
-
[Share Extension] 다른 앱의 "공유하기" 버튼에 우리 앱을 설정하고 싶다면? (feat. NSExtensionActivationRule)
[Chore] #209 - 사파리 외에 다른 앱에서도 Share Extension 대응 by mini-min · Pull Request #210 · Link-MIND/TOASTER✨ 해결한 이슈 Resolved: [Chore] ShareExtension 사파리 제외한 타앱에서도 대응 #209 🛠️ 작업내용 1. NSExtensionActivationSupportsWebURLWithMaxCount 기존 쉐어 익스텐션 Info.plst에는 NSExtensionActivationSupportsURLWithMagithub.com 1️⃣ Share Sheet, Share Extension 기본 개념 이해하기보통 자신의 앱에서 보여주는 콘텐츠 (URL 주소, 텍스트, 이미지, 동영상 등)를 타 앱으로 공유할 수 ..
2024.10.06 -
[Swift] KVO (Key-Value Observing) 완전 정복하기 (feat. WKWebView progressBar)
예전 WKWebView를 구현하는 글의 마지막 부분이었던 "KVO를 사용해서 웹 페이지 로딩 상태 프로그레스바로 나타내기" 코드를 이번 글에서는 리팩토링하는 내용과 함께 KVO (Key-Value Observing) 개념에 대해 완전 정복해보도록 하겠다.WKWebView에 관한 자세한 내용이 궁금하다면 아래 링크를 타고 읽어보는 것도 ^__^ [WebKit] WKWebView를 사용해서 앱 사용 중, 웹으로 연결시켜보자1️⃣ 이번 글에서 구현하고자 하는 기능은?이번 글에서는 URL 링크를 저장하고, 해당 링크를 앱 안에서 웹 페이지로 띄울 때 사용한 모든 기능들에 대해서 정리해보겠다.이번 프로젝트에서 앱mini-min-dev.tistory.com KVO (Key-Value Observing)가 뭔데?KV..
2024.10.01 -
[UIKit] UISheetPresentationController를 사용해서 바텀시트(Sheets)를 만들어보자
예전 글에서 직접 프로젝트에서 사용할 바텀 시트(Sheets)를 커스텀해서 만든 방법을 소개했었다. [UIKit] 재사용 Component 개발하기 (3) - 바텀 시트 (Sheets, Bottom Sheet)[UIKit] 재사용 Component 개발하기 (1) - Toast Message💡 재사용 Component 개발하기 시리즈 글을 시작하며 이번 33기 앱잼이었던 프로젝트에서 우리 iOS 팀이 추구한 방향 중 하나는, 앱 내에서 반복되는 컴mini-min-dev.tistory.com하지만, WWDC21 에서 소개된 UISheetPresentationController를 사용해서 바텀시트(Sheets)를 만들면, 위의 글과 같은 복잡한 과정 없이 매우 간단하게 만들 수 있었다.그래서 이번 글에서..
2024.08.30 -
[iOS] 내가 보려고 정리하는 개발 용어 사전 (3) - 명령형 프로그래밍(Imperative Programming) vs 선언형 프로그래밍(Declarative Programming)
현재 이 글을 쓰고 있는 2024년 기준, iOS 개발을 배우고 싶다고 마음을 먹게 되면 선택할 수 있는 옵션은 두 가지.명령형 프로그래밍 기반의 UIKit와 선언형 프로그래밍 기반의 SwiftUI가 있다.처음 내가 iOS를 배울 때만 하더라도 SwiftUI가 생긴지 얼마 되지 않아 대부분의 프로그램이 UIKit 기반으로 짜여 있었다.하지만, 18개월동안 군대를 다녀와보니 생각보다 SwiftUI는 많이 발전되어 있었고 애플에서도 지속적으로 생태계를 확장시키려는 움직임을 매년 WWDC에서 확인할 수 있었다.애플이 현재 UIKit을 외면(?)하고 있는 것은 아니지만, 미래의 확장 가능성을 생각해 볼 때 UIKit보다는 SwiftUI가 더욱 전망이 밝아 보인다는 사실을 부인할 iOS 엔지니어는 없을 것으로 생..
2024.08.27 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (9) - 데코레이터 패턴(Decorator Pattern)
1️⃣ 데코레이터 패턴(Decorator Pattern) 왜(Why) 쓰는 거야?💡 데코레이터 패턴(Decorator Pattern)은 객체에 새로운 기능을 동적으로 추가할 수 있게 해주는 구조 패턴(Structural Pattern)이다.객체에 새로운 기능을 동적으로 추가하기 위해 쓴다고...?이미 Swift에서 기능을 추가하는 방법으로 (1) 기존 클래스에서 "상속"을 받아 하위 클래스로 구현하거나, (2) Extension으로 기능을 "확장"시킬 수 있는데 굳이 이 디자인 패턴을 쓰면서까지 기능을 추가할 필요가 있을까..? 하는 것이 나의 첫 생각이었다.하지만, 데코레이터 패턴(Decorator Pattern)을 사용했을 때 상속과 확장에 비해 확연하게 구분되어 얻을 수 있는 장점이 있었다.아직 ..
2024.08.22