728x90

분류 전체보기 298

클로저에서 [weak self] 사용할 때 주의할 점3

안녕하세요. [weak self] 관해서 얘기가 좀 많은가 봐요..허헣... 아래 글에서 [weak self] 관련한 얘기들을 다뤄봤는데요, 클로저에서 [weak self] 사용할 때 주의할 점 클로저에서 [weak self] 사용할 때 주의할 점 안녕하세요. 클로저 안에서 [weak self]를 쓰는 Swift 코드를 적지 않게 볼 수 있어요. 그 이유는 메모리 누수(memory leak)를 막기 위해서인데요, 만약, 클로저 안에서 [weak self]와 함께 guard-let 구문을 사 phillip5094.tistory.com 클로저에서 [weak self] 사용할 때 주의할 점2 클로저에서 [weak self] 사용할 때 주의할 점2 안녕하세요. 저번 글에서 [weak self]를 쓸 때 주의할 ..

Swift 2022.05.21

SwiftUI <-> UIKit 이벤트 전달 방법

안녕하세요. UIKit에서 SwiftUI, 그리고 SwiftUI에서 UIKit로 이벤트를 전달하는 방법에 대해 알아볼게요. 전체 프로젝트는 여기에 업로드해두었으니 참고해주세요! 먼저, SwiftUI에서 UIKit으로 이벤트를 전달하는 코드를 직접 구현해보고 그 반대도 가볍게 알아볼게요ㅎㅎ 이벤트를 전달하는 방법에는 크게(그리고 가장 유명한..) 3가지 방법이 있을 것 같아요. Combine, ObservableObject Closure Notification 3가지 방법을 각각 사용해서, 아래 같은 화면(SwiftUI Button을 클릭해서 count를 증가시키고 UIKit Label의 text에는 count 값이 반영되는)을 만들어보는 연습을 해볼게요. # 1. SwifftUI -> UIKit으로 이벤..

iOS 2022.05.21

타사 앱 스토어 비중(feat. DMA)

DMA(Digital Markets Act)로 인해, 애플은 iOS에서 AppStore가 아닌 타사 앱 스토어를 허용해야 할 가능성이 생겼습니다. Under the DMA, Apple will be required to allow consumers to install apps by ” sideload », that is to say without going through an application store, and Apple will therefore have to authorize the installation of another application store. (출처: https://gettotext.com/dma-the-end-of-the-app-store-monopoly-on-iphone-in..

News 2022.05.15

App Store 개선 절차의 명확한 기준 및 새로운 기간 연장

AppStore 환경 개선을 위해 관리되지 않는 앱들은 제거되고 있다고 합니다. 이렇게 앱을 제거할 경우, 아래와 같은 장점이 있어요. - AppStore에서 내가 원하는 앱을 찾기 더욱 쉬워짐. - 정기적인 업데이트를 촉구함으로써, 앱에 최신 보안 기술을 사용하도록 하여 보안 및 앱 사용자들의 개인정보를 보호함. - 최신 화면, SDK, 최신 기능을 준수하도록 하여, 앱에 대한 사용자 경험을 개선함. AppStore에서 제거되는 앱의 기준은 아래와 같습니다. - 3년 동안 업데이트되지 않았고, 최소 다운로드 임계값을 충족하지 못한 앱 - 여기서 최소 다운로드 임계값이란, 12개월 동안 앱이 전혀 다운로드되지 않았거나 매우 적은 횟수로 다운로드된 경우) 당연히(?) 제거될 앱의 기준을 충족했다고 해서 곧..

News 2022.05.14

SwiftUI에서 ViewController를?

안녕하세요. SwiftUI를 써보셨나요? SwiftUI를 쓰다 보면... UIKit에서 자주 사용하던 MVC 패턴을 사용하고 싶다는 생각이 들 때가 있습니다. 물론 SwiftUI에서 MVC 패턴을 사용 못한다는 것은 아니에요. 그런데 막상 SwiftUI에서 MVC 패턴을?? 어떻게???라는 의문점이 들더라구요. 그래서 이번 글에서는 SwiftUI에서 MVVM 패턴에 얽매이지 않고 ViewController라는 개념을 적용해보는 시간을 가져볼게요. # 1. SwiftUI에서의 ViewModel 이런 화면을 ViewModel을 사용해서 만든다고 가정해볼게요. (cow 모듈은 여기를 참고해주세요!) import SwiftUI import cows struct ContentView: View { var body..

SwiftUI 2022.05.11

복잡한 Navigation Flow 처리 (feat. Combine)

안녕하세요. 이번에는 SwiftUI에서 복잡한 Navigation Flow를 처리하기 좋은 방법(구조?)에 대해 소개한 글이 있어서, 아래 글을 토대로 공부해볼게요. - https://betterprogramming.pub/flow-navigation-with-swiftui-revisited-791f89421923 Flow Navigation With SwiftUI (Revisited) How to implement navigation effectively in your code bases betterprogramming.pub 전체 코드는 이곳을 참고해주세요! # 1. Navigation Flow를 처리할 때 고려해야 할 규칙들 아름다운 구조와 코드를 만들기 위해서 몇 가지 고려해주면 좋습니다. [규칙..

SwiftUI 2022.05.10

건담 키캡 제작기

안녕하세요. 최근에 (광기에 사로잡혀서) 만든 건담 키캡에 대한 제작기를 공유드리려고 합니다. 저는 키보드질 뿐만 아니라 건담 프라모델에도 취미를 가지고 있습니다. 건담 프라모델을 좋아하는 이유는 만드는 손맛도 있지만 다 만들어진 건담을 볼 때 멋있다고 느껴져서입니다. 그리고 개인적으로 '멋있음'의 90%는 건담 머리(일명 대x리)에 있다고 생각하고 있습니다. (이때 저한테 뭔가 잘못됨을 느꼈어야 했는데.......) 그러다 보니 자연스럽게(?) 건담 대x리를 키캡에 접목시키면 '멋있는 키캡이 되겠지' 라는 생각을 가지게 되었습니다. 떼샷이면 더욱더..... 저는 곧바로 국내 중고매물을 싹 뒤져서 1달간 약 20개의 가조립 MG(1:100 사이즈) 건담들을 구했습니다. 작업을 위한 참수형... 근데 예상..

취미 2022.05.07

MotionScape

안녕하세요. 이번에는 MotionScape라는 앱에 대해서 소개해보려고 합니다. SwiftUI에는 여러 가지 애니메이션 옵션이 있습니다. easnIn(duration:) 같은 수식어는 워낙 명확하다 보니... 파라미터가 무엇을 의미하는지 바로 알 수 있고, 그에 따른 기대 동작도 어느 정도 예상이 가능한데요, interpolationSpring(mass:stiffnetss:damping:initialVelocity:) 같은 수식어는 파라미터가 어떤 설정인지 살펴봐야하고, 기대 동작이 쉽게 예상되지 않더라구요... (저만 그런가요...;;; 🥺 ) 애니메이션 파라미터에 어떤 값을 넣냐에 따라서 간단한 샘플 애니메이션을 봤으면... 했는데 마침 그런 앱이 출시되었습니다. MotionScape라는 앱이에요! ..

SwiftUI 2022.05.06

Logger, OSLogPrivacy

안녕하세요. 이번에는 iOS 14부터 추가된 Logger와 OSLogPrivacy에 대해 간단하게 알아볼게요. 만약 버그 제보를 받게 된다면, 무엇을 가장 먼저 해볼까요? 저라면 제보받은 상황을 똑같이 따라 해서 이슈가 재현되는지 제 눈으로 직접 확인해볼 것 같아요. 재현이 된다면 땡큐고.... 만약 재현이 안된다면?? 이런 경우는 상당히 난감합니다... 로그를 남기지 않았다면 말이죠. 로그를 통해서 앱이 정확하게 어떤 상황이고 어떤 특정 조건에 의해 이슈가 발생했는지 트랙킹 할 수 있기 때문에, 로그를 남기는 것은 서비스를 제공할 때 꼭 필요한 요소 중 하나예요. 애플은 로그를 쉽게 남길 수 있도록 Logger라는 구조체를 iOS 14부터 제공하고 있습니다. (물론 iOS 14 이전에는 os_log라는..

iOS 2022.05.02

앱 추적을 허용한 사용자 수 증가

iOS 14.5부터 사용자를 추적하거나 사용자 기기의 광고 식별자에 접근하려면 App Tacking Transparency(줄여서 ATT)를 통해 사용자의 허가를 받아야 합니다. 당연히(?) 이게 처음 소개되었을 때는 약 2~4%의 사용자만이 추적을 허용했고, 대부분의 사용자는 동의하지 않았어요. 그런데 최근 Adjust라는 곳에서 통계를 내봤더니, 동의한 사용자가 많이 늘었다고 해요. 2021년 3월에는 약 16%의 동의율을 보였다면, 올해는 25%까지 증가했다고 합니다. 특히, 게임분야의 경우 30%까지도 증가한 곳이 있다고 해요. (75%의 opt-in 비율을 가지고 있는 앱도 있다고 하지만... 그게 가능한가.....?) 이 통계는 나름 의미 있는 결과값이라고 생각이 되는게, 초반에는 사용자들의 ..

News 2022.04.27