일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Flutter
- tabman
- Coding Test
- spring
- SwiftUI
- watchkit
- Project
- Firebase
- app intents
- UIDatePicker
- ios
- github
- Tuist
- Apple Developer Academy
- 코테
- backend
- Swift
- UITableView
- fcm
- coreml
- task.yield()
- createml
- UIStackView
- widgetkit
- Complication
- swift concurrency
- cloud functions
- Sendbird
- Delegate Pattern
- WWDC22
- Today
- Total
목록iOS (37)
azhy의 iOS 이야기
2022년 9월 8일에 작성됨 이번에는 전에 다뤘던 [iOS] ScaleToFill / AspectFit / AspectFill 부분의 연장이라고 봐도 됩니다. 바로 masksToBounds / clipsToBounds 이 친구들인데 뷰를 그리는 데 있어서 중요한 부분을 담당합니다.두 친구가 하는 일은 거의 똑같습니다. 둘 다 자신의 영역 이외의 영역을 그릴지 말지를 정해주는 역할을 하거든요. 그럼 뭐가 다르냐? 사진을 보시면 알겠지만 clipsToBounds는 UIView의 프로퍼티고 masksToBounds는 CALayer의 프로퍼티입니다. 그리고 둘 다 default 값이 false입니다. clipsToBounds : View 영역을 넘어갔을 때 그 부분을 보이게 할 거냐 안 보이게 할거냐masks..
2022년 9월 6일에 작성됨contentMode아마 작업을 하다가 본인도 모르게 contentMode를 사용을 해봤을 겁니다. 그럼 이 contentMode가 무엇이냐 ? 애플 문서에는 이렇게 정의되어 있습니다.'A flag used to determine how a view lays out its content when its bounds change'bounds가 변경될 때 뷰가 콘텐츠를 배치하는 방법을 결정하는 데 사용..? 이라고 합니다..종류는 이렇게 많지만 사실 많이 사용하고 헷갈리는 친구는 ScaleToFill, AspectFit, AspectFill 이 3개입니다. 실제로 저는 이거 말고는 사용을 해보지도 않아서, 요 친구들을 한번 정리해보겠습니다.ScaleToFillcontentMode..
2022년 9월 1일에 작성됨 사실 SpriteKit은 예전에 프로젝트하면서 한번 사용해 보면서 정리를 해야겠다 싶었는데, 그 사이에 면접 준비랑 이것저것 하다 보니 이렇게 밀려버렸네요.. SpritKit의 기본 개념과 SpritKit를 사용하여 눈과 비를 내리는 효과를 한번 간단하게 한번 정리해 보겠습니다 :)SpriteKit공식 문서 에서는 SpriteKit을 이렇게 정의하고 있어요.'SpriteKit 프레임워크를 사용하면 고성능의 배터리 효율적인 2D 게임을 쉽게 만들 수 있습니다. 사용자 정의 OpenGL ES 셰이더 및 조명 지원, SceneKit과의 통합, 고급 새 물리 효과 및 애니메이션을 통해 힘 필드를 추가하고 충돌을 감지하며 새 조명 효과를 생성할 수 있습니다.' 주로 2D 게임을 만들..
2022년 8월 12일에 작성됨 프로젝트 앱을 출시하며 업데이트 관리를 어떻게 하는지 궁금해서 알아보고 적용시킨 다음 그 방법에 대해 정리해보고자 합니다.더 좋은 방법이 있거나 현직에서 사용하는 방법이 있으면 댓글로 알려주세요!업데이트 로직?만약 업데이트와 관련된 로직이 안 들어가 있는 앱에서 심각한 버그가 발생했다? 버그를 수정하고 앱을 배포했는데도 불구하고 사용자 본인이 직접 업데이트하지 않는 한 강제로 앱을 업데이트시킬 방법이 없습니다. 따라서 업데이트와 관련한 로직을 앱을 처음으로 배포하기 전에 포함시키는 게 좋아 보입니다.업데이트 로직!우선 저의 프로젝트에는 업데이트 버전을 이렇게 설정했습니다.X.X.X 이렇게 버전이 있으면 세 번째 숫자가 바뀌면 강제 업데이트 시키지 않고 맨 앞과 두 번째 숫..
2022년 8월 9일에 작성됨기획이번 앱은 '어떤 걸 만들까'라는 고민이 생각보다 길었습니다. 왜냐하면 첫 번째 앱의 목표는 Swift 문법 익숙해지기, StoryBoard 사용법이었고 두 번째 앱은 SwiftUI 접해보기라는 큰 틀의 목표가 분명했습니다. 그래서 엄청 복잡한 기능들이 들어가지 않은 앱들이었습니다.앞의 프로젝트들로 기초를 다졌으니 이번에는 뭔가 다른걸 해보고 싶었습니다.시간이 지나 앱스토에서 앱들을 구경하다가 문득 생각이 든 게 위젯이었습니다. 위젯을 큰 목표로 잡고 들어가니 커플 디데이 앱을 만들면 두고두고 기능도 넣으면서 나중에 쓰지 않을까?라는 생각에 커플 디데이 앱을 만들기로 결정을 했습니다!개발2022.06.08 ~ 2022.07.21첫 릴리즈는 7월 21일이니 대략 1달 반 정..
2022년 8월 8일에 작성됨 제가 진행했던 코드들을 보면서 Complication을 어떻게 핸들링하는지 한번 알아보도록 하겠습니다! 앞에 글을 안 보고 오셨으면 이해를 하기 어려울 수 있으니 꼭 한 번씩 읽어보시고 오세요!Watch와 Complication 데이터 공유데이터를 보여주지않고 앱 아이콘이나 사진 같은걸 Complication에 보여주면 넘어가셔도 됩니다.// InterfaceController//class DayInfo { static let shared = DayInfo() var days: String? private init() { } }class InterfaceController: WKInterfaceController, WCSessionDelegate { ..
2022년 8월 5일에 작성됨Complication..?? 이게 뭔데?네.. 저도 처음에는 몰랐습니다.. 이게 뭔지.. 워치를 사용하시는 분이라면 이제는 아실 겁니다. 본인이 원하는 정보들을 워치 화면에 많이 표시하죠.예를 들자면 배터리라던가 날씨, 카카오톡, 유튜브 뮤직 등등 공식문서에서는 Complication을 이렇게 정의합니다. "사람들이 손목을 올릴 때마다 볼 수 있는 시계 페이스에 관련된 정보들을 표시합니다." 만약 iOS앱과 함께 워치앱을 출시하고 Complication 관련해서 세팅을 안 해주면 모든 종류가 default로 전부 다 들어가는 것 같습니다. 그리고 아무런 처리를 안 해주었기 때문에 아무런 데이터가 뜨지 않는 상태가 됩니다. 그래서 만약 워치앱을 출시했는데 '나는 Complic..
2022년 8월 4일에 작성됨 이번 글은 제 프로젝트를 통해 Watch Connectivity를 사용한 예시를 소개하면서 몇 가지 있었던 문제들을 소개하려 합니다. 제가 앞에서 설명한 부분을 안 보셨다면 꼭 WatchKit[1], WatchKit[2] 를 읽어보시고 진행해 주세요! updateApplicationContext(_:)우선 저는 커플 디데이 프로젝트를 진행 중입니다. iOS앱에서 day와 배경사진을 설정하면 watch앱에서 그 데이터를 가지고 watch화면에 보이게 되는 형태입니다. 데이터를 보내는 Send 메서드 중 저는 updateApplicationContext(_:) 이 친구를 가지고 이미지와 day 데이터를 같이 넘기려고 했습니다.그러나 문제가 발생했습니다. 저는 이미지와 day 데..
2022년 8월 2일에 작성됨Watch ConnectivityiOS 앱이랑 watch 앱이랑 데이터를 주고받으려면 widget처럼 UserDefaults 데이터를 가지고 쉽게 공유할 수 없습니다.사진으로 보면 알 수 있듯, iOS App의 Data Store 부분과 Watch App의 Data Store 부분이 완전 분리돼 있기 때문이죠. 그래서 우리는 Watch Connectivity 를 사용해서 데이터를 공유해야 합니다. 공식문서에서는 Watch Connectivity를 이렇게 정의하고 있습니다. " iOS 앱과 페어링된 watchOS 앱 간의 양방향 통신을 구현합니다. " 이제 iOS앱과 watch앱 사이에 데이터 공유를 위해서는 Watch Connectivity 를 사용해야 하는 것을 알았으니 한..
2022년 8월 1일에 작성됨 이번에는 앱을 만들면서 watch 앱도 같이 만들어 봤습니다.모든 글들은 제가 경험하고 진행했던 프로젝트에 기반해서 작성될 거라 제가 모르는 개념들도 많고 틀릴 수도 있습니다. 댓글로 알려주시면 수정하겠습니다. 아마 watch 관련된 글도 widget처럼 3~4개 정도 나오지 않을까 예상해 봅니다.워치 프로젝트 생성기본적으로 워치 프로젝트 생성은 2가지 케이스가 존재합니다. 처음부터 watch 앱을 포함한 프로젝트를 생성하기.File - New - Project - watchOSiOS App with Watch App은 iOS 앱과 워치 앱이 서로 연동이 가능한, 즉 iOS 앱도 만들고 watch 앱도 만드는 프로젝트이고 Watch App은 iOS 앱을 제외하고 워치 앱만 ..