![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bwEefa/btsgteWaIv5/ny1cmKbDbKAao2b3mygyR0/img.jpg)
지금 딴 거를 작성하는데 해당 글이 잘 안써져서 길어져서 간단한 다른 이야기를 먼저 올려볼까합니다. 혹시 아이폰에 자체적으로 확대 / 축소 기능이 있다는거 아시나요? 그게 뭔지 모르시는 분들을 위해 간단히 설명드리면 아래처럼 설정에 들어가시면 보이시는 "디스플레이 확대/축소"를 의미합니다. 이 기능을 사용하면 각종 화면이 크게 보이는 걸 확인할 수 있습니다. 이 기능을 뭐하러 감지(이벤트처리)하냐고 물어보시면 이 기능을 킨 상태로 화면을 보면 이상하게 보이는 경우가 있기 때문입니다 이때는 원인을 찾은 다음 해당 모드일때만 다르게 처리하면 되겠죠? 방법은 간단합니다. // 아래 조건이 true 인 경우를 기준으로 작성했습니다. // 확대모드입니다. UIScreen.main.scale < UIScreen.m..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/o2rrc/btsepKCCkZI/FIhsTc3Kuq7JLNlNSPwOlK/img.gif)
이번에는 UIPickerView 에 대해 간단히 알아봅시다. 근데 그전에 UIPickerView 가 무엇일까요? UIPickerView 란? - A view that uses a spinning-wheel or slot-machine metaphor to show one or more sets of values. - 간단히 말하면 여러가지 값(보통은 선택할 목록들)을 바퀴 모양으로 나열한 것을 의미합니다. - 일반적으로 사용자가 여러가지 선택사항 중 하나를 쉽게 고르기(스크롤) 위해 자주 쓰입니다. 그럼 이제 이걸 이용하는 방법을 알아봅시다. 사용법 1. 화면에 UIPickerView 를 추가해주세요. - StoryBoard 에 추가하실때 자세히 보면 UIDatePicker랑 UIPickerView 가 ..
이번 달은 좀 다른 걸 공부하려고 준비중입니다. 지금 만들고 있었던 걸 중단한 것도 있고 바쁜건 진정되고 있긴 한데 애매하네요. 1. swift 위젯 기본 (약간 애매한 부분 발생) 2. swift table view 기본 3. 안드로이드 코틀린 걸음수 측정 (애는 코드만 올릴듯?) 4. swift 내부 알림 보내기 5. swift uipickerview (얼떨결에 하게 됨) 일단 ? 이정도를 목표로 이번달 시작해봅시다. 이정도면 계획보다 한걸 적는게 빠를듯 1. UIPickerView 2. 디스플레이 확대 축소 이벤트 3. Xcode 14 Url 보라색 경고 4. Local Push Notification 5. Web?(진행중) 6. 얼떨결에 AppStore 신규 리젝 사유 발견
요즘 위젯쪽을 다루고 있는데 빌드 도중 아래와 같은 오류가 났습니다. (참고로 개발 환경은 Xcode 14.3 입니다.) Terminating app due to uncaught exception 'NSFileHandleOperationException', reason: '*** -[NSConcreteFileHandle fileDescriptor]: No such file or directory' 더보기 2023-04-25 11:21:23.495028+0900 TTestWiddgetExtension[1695:218191] *** Terminating app due to uncaught exception 'NSFileHandleOperationException', reason: '*** -[NSConcre..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dd3l72/btsbP17SkpL/qKPqyLQ79uOYgTIzj2z9C0/img.gif)
이번에는 머리식힐겸 간단한 걸 해보도록 합시다. Swipe란? 일반적으로 사용자가 화면을 일직선으로 손가락으로 미는 행동을 의미합니다. 쉽게 생각하시면 핸드폰 화면을 좌우로 넘길때 손가락을 화면에 붙인뒤 일직선으로 손가락을 움직이시는 행위가 바로 Swipe 입니다. 어떻게 만들어요? 참고로 아이폰에서는 Swipe 인식 매우 간단히 구현이 가능합니다. (원하시는 방향만 주의하시면 매우 간단합니다.) 스와이프 할 영역에 UISwipeGestureRecognizer를 추가해주시면 됩니다. 그전에 아래처럼 스와이프할 영역의 isUserInteractionEnabled을 바꿔주세요. self.view.isUserInteractionEnabled = true 그 후 원하시는 방향에 따라 UISwipeGestureR..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bBBFGG/btsbglGzwni/O7topg39rZzPbNVUNOQzek/img.png)
최근에 기존에 있던 앱에 기능을 추가해주고 싶어서 위젯 쪽을 해보는데 시뮬레이터에는 돌아가는데 실제 기기에서는 안돌아가는 아름다운(?) 버그가 나서 저와 같은 고통(?)을 겪으시는 분들을 위해 올려봅니다. 일단 제가 본 버그는 아래처럼 생겼습니다. 버그 내용 더보기 SendProcessControlEvent:toPid: encountered an error: Error Domain=com.apple.dt.deviceprocesscontrolservice Code=8 "Failed to show Widget 'com.testproject.TestWidget.TTestWiddget' error: Error Domain=FBSOpenApplicationServiceErrorDomain Code=1 "The r..
정확히는 휴대폰의 시간이 사용자에 의해 아예 재설정 혹은 다음 날 (00시 기준)로 날짜가 바뀌는 경우에 작동하는 함수입니다. 사용법은 간단합니다. override func viewDidLoad() { super.viewDidLoad() // 날짜가 바뀌었을때 작동하는 이벤트 추가 - v 1.0.2 NotificationCenter.default.addObserver(self, selector: #selector(dayChanged), name: UIApplication.significantTimeChangeNotification, object: nil) } 이렇게 하신후 아래 함수를 선언하신후 그 안에 실행되길 원하는 코드를 넣어주시면 됩니다. // Day Change Event @objc func d..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bfIPHQ/btr9P3ntXrl/QRC9SWfEMwfnZAkk1Bttf1/img.png)
일단 기본적으로 아래 부분을 먼저 Gradle(:app) 아래 한줄을 추가해주세요. dependencies { ... implementation 'com.android.support:multidex:1.0.3' ... } 아직 연습중이라 그런가 뭔가 위 줄을 먼저 추가해주는게 편하더라고요 (multidex) Realm 을 Gradle 에 추가해줘야겠죠? 그런데 이상할정도로 추가되지 않아서 고생한 사람(이정도면 버그 수집가) https://www.mongodb.com/docs/realm/sdk/kotlin/install/ Install Realm - Kotlin SDK — Realm Docs Home → Realm The Kotlin SDK supports two platforms, each with it..