본문 바로가기

iOS10

Multiple Window를 이용하여 Cover Window 만들기. Cover Window?앱 개발을 하다가 보면  Toast나 Popup과 같이 항상 Top Layer에 위치해야하는 View들이 있다.하지만, SwiftUI로 예를 들어서 View들의 Layer를 관리하기위해 제공하는 ZStack이나 Sheet와 같은 View들은 그 뷰에 종속되기 때문에 전역적으로 항상 Top Layer에 위치하기 힘들다. 어떤 뷰가 현재 보이든 간에 항상 최상단에 보여져야 할 View가 있다면 어떻게 보여줄 수 있을까?에 대한 고민을 하던중 좋은 아티클을 발견하여 번역해보았다.UIWindowUIWindow를 이용하여 View가 아닌 Window로 Layer를 쌓아보자!  ?? 그게 뭔말?우리가 평소에 View들을 쌓을 때에(Layer를 만들때)는 하나의 UIWindow위에 UIView.. 2023. 2. 5.
iOS Bluetooth 목표 iOS에서 블루투스의 전반적인 기능과 구현방식을 알아보고 이해하기. Core Bluetooth & BLE(Bluetooth Low Energy) iOS와 Mac App들은 Core Bluetooth framework를 사용하여 BLE 기능이 탑재된 기기와 통신한다. Ex) 심박수 모니터, 디지털 온도 조절계 등등.. Mac및 iOS 기기들은 MacOS 10.9, iOS 6버전 이상이라면 기능을 지원하기 때문에, 거의 모든 기기들이 기능을 가지고 있다고 할 수 있다. Core Bluetooth Framework는 저수준의 BLE protocol stack을 추상화 해주어 개발자로 하여금 쉽게 블루투스 기능을 개발하게 도와준다. * BLE란, 기존 블루투스의 단점이었던 전력 소모의 단점을 보완한 기술이.. 2022. 10. 7.
Method Swizzling in iOS 기업채용공고를 보다가 Method Swizzling에 대한 지식을 요구하는 곳이 있었다. 공고에 대놓고 써져있는 용어인데 정말 처음 들어서 한번 알아 보려한다. Method Swizzling Method swizzling is the process of changing the implementation of an existing selector. It’s a technique made possible by the fact that method invocations in Objective-C can be changed at runtime, by changing how selectors are mapped to underlying functions in a class’s dispatch table. - ns.. 2022. 7. 10.
iOS의 뷰가 그려지는 과정 서론 iOS개발을 하다가 보면 가끔 View가 말을 듣지 않을때가 있다. 분명 원하는 값을 다 주었는데도, 이게 왜 안보여? 이건 또 왜이렇게 보여? View를 디버깅하기위해서 계속해서 앱을 껏다 켰다 하는 시간은 우리의 개발시간을 상당히 잡아먹는다. View가 그려지는 과정을 이해함으로써 이 시간을 줄여보자. Run Loop View가 그려지는 과정을 이해하기 위해서는 Run Loop의 개념을 이해해야 한다. Run Loop의 정의를 보자. input sources들이 manage되는 프로그래밍적인 interface이다. 여기서 input sources란, 키보드, 마우스, 소켓 등등의 사용자가 어떠한 입력을 하는 것을 말한다. 따라서, Run Loop는 모든 사용자의 입력을 처리하는 객체라고 할 수 .. 2022. 6. 19.