내용 shake motion 을 인식해서 화면전환 시 진동 추가 시작 전 apple developer 개발자 문서에서는 아이폰에서 사용할때 느낄 수 있는 "뚜둑" 혹은 "뚝" 하는 이러한 촉각 경험을 haptic 으로 명시하고 있다. 진동기능을 추가하기 위해서 햅틱 관련해서 공부를 하다가 햅틱 패턴을 접하고 내가 원하는 진동은 없구나 라고 느꼈다. 그래도 공부한게 아쉬워서 남긴다. Haptics 와 Vibrate 비밀번호 입력 시(ex.카카오페이) → 햅틱 중요한 팝업 등장 시(ex.카카오톡 큐알코드) → 바이브레이트 🙌 HIG - Haptics Human Interface Guidelines 의 필요한 내용을 정리해보자. 문서에서 여러 패턴의 진동 미디어까지 제공하니 더 자세한 내용은 링크를 확인해보자..
애플의 Face ID 를 활용한 샘플 프로젝트와 개발자 문서를 정리해봤다. iOS) Face ID & Touch ID - Biometrics Authentication(생체인식 인증) 자, 이제 카카오톡 QR코드 위젯에 적용해보자. 내용 앱 접근 시 Face ID 를 통해서 인증을 필요로 한다. 시작하기 🔓 프로젝트 설정 🔓 UI 구성 기기에서 Face ID 를 지원하면 Face ID 버튼을 보여줌. 🔓 Face ID 적용 mvvm 패턴에서 Face ID 인증 절차를 가지는 Service 클래스를 만들고 로직을 구성하였다. FaceIDAuthenticationViewController private func setFaceIDAuthentication() { faceIDButton.isHidden = se..
내용 카카오톡 QR코드, 프로필 위젯을 만들어보겠다. 위젯과 앱간의 프로필(이름, 이미지) 데이터 공유로 다음과 같은 프로필 위젯 만들기 시작전 위젯은 기능이 제한적이며 interactive 하지도 않지만 우리는 앱과 위젯이 데이터를 공유하기를 원할수도 있다. 🤒 App 과 Extension 간의 관계 App Extension Programming Guide 를 살펴보면 App 과 Extension 간의 관계를 볼 수 있다. extension's bundle 이 containing app's bundle 내에 중첩되더라도 실행중인 app extension 과 containg app 은 서로의 contatiner 에 접근할 수 없다. 하지만 데이터 공유를 활성화 할 수 있다. containin app 과 ..
😇 본격적으로 클론코딩을 해보자 1️⃣ 앱 이름 변경 앱 이름 : 1번 결정. [General] → [Identity] → [Display Name] 에서 다음과 같이 설정해준다. 2️⃣ 여러가지 위젯 생성 위의 코드를 보면서 의문을 가졌다. 그러면 아래처럼 이름도 설명도 크기도 다른 위젯들을 어떻게 추가할 수 있을까?(애니메이션은 참 좋다 크-) 📌 WidgetBundle 단일 widget extension 에서 여럿 위젯을 노출시키는데 사용되는 container. 여러 유형의 위젯을 지원하려면 WidgetBundle 을 채택하는 구조체에 @main 속성을 추가하십시오. apple developer's example code @main struct GameWidgets: WidgetBundle { va..
내용 카카오톡에서 qrcode 를 위젯으로 제공하고 있다. 물론 홈으로 가져올 수도 있다. 귀엽다... 구현해보자 😇Widget?! Widget 은 프로토콜이다. (히익!) Home 화면(iOS)이나 Notification Center(macOS) 에 표시할 위젯의 구성 및 내용이다. Overview 위젯은 바로 앱의 관련 콘텐츠를 한눈에 볼 수 있도록 표시합니다. 사용자는 개별 요구 사항에 맞게 추가, 구성 및 정렬할 수 있다. 여러 유형의 위젯을 제공할 수 있다. 위젯에는 세가지 주요 구성요소가 있다. configuration : 위젯이 구성할 수 있는지 여부를 결정하고, 위젯을 식별하고, SwiftUI 뷰를 정의한다. timeline provider : 시간이 지남에 따라 위젯의 보기를 업데이트하는..
내용 MVVM 패턴을 적용해보자 데이터바인딩 방법은 Observable 클래스 사용 QR코드 뷰와 뷰모델만 소개해보겠다. View import UIKit import SnapKit class QRCodeViewController: UIViewController { // MARK: - Properties // ✅ view model let viewModel = QRCodeViewModel() let closeButton = UIButton() let switchShakeButton = UIButton() let privateQuestionButton = UIButton() let titleLabel = UILabel() let subtitleLabel = UILabel() let privatetextLab..
내용 카카오톡 QR코드 위젯을 통해서 접근하거나 카카오톡에서 쉐이크 모션을 통해 접근할 수 있는 QR코드 뷰의 화면캡처와 기록, 미러링, AirPlay 를 막고있었다. 구현해보자. 먼저 카카오톡 QR코드 뷰가 어떻게 작동하는지 살펴보자. QR코드 뷰 화면캡처를 시도하자 빈화면이 캡쳐되었다. 그리고 경고메시지가 등장했다. 이것은 화면캡처가 되서 첨부해본다. 물론 기기에서는 경고 메시지 뒤에 QR 코드 뷰가 있다. 목표 화면캡쳐 시 alert 창 등장 화면캡쳐 결과에 관여해서 빈 화면이 캡쳐되도록하기 시작 전 📸 원리 📌 UIApplication.userDidTakeScreenshotNotification screenshot 할 때 notification 이 post. Discussion notificati..
내용 shake motion 을 인식해서 화면전환 시 진동 추가 시작 전 진동 기능을 추가하기 위해서 vibrate 라는 개념에 대해서 개발자 문서에서 찾아보았다. kSystemSoundID_Vibrate 라는 변수를 찾았고 알아보자. 🙌 kSystemSoundID_Vibrate iPhone 에서 AudioServicesPlayAlertSound(_:) 함수와 함께 사용하여 짧은 진동을 호출한다. iPod touch 에서는 아무 작업도 수행하지 않는다. 그렇다면 AudioServicesPlayAlertSound(_:) 에 대해서 알아보자. 🙌 AudioServicePlayAlertSound(_:) Plays a system sound as an alert. Parameters inSystemSoundID..
- RxCocoa
- YPImagePicker
- WWDC
- MOYA
- Firebase
- 2022 KAKAO TECH INTERNSHIP
- SwiftUI
- Protocol
- async/await
- CloneCoding
- MVVM
- UserDefaults
- containerBackground
- configurable widget
- WidgetKit
- projectsetting
- rxswift
- Objective-C
- Swift
- Widget
- 서버통신
- urlsession
- WWDC22
- APNS
- Algorithm
- github
- watchOS
- Notification
- OpenSourceLibrary
- IOS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Total
- Today
- Yesterday