일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- view
- Realm
- Code
- Swift
- Python
- mac
- 개발자
- iOS16
- Git
- Archive
- appstore
- rxswift
- 웹뷰
- Notification
- UIButton
- Session
- IOS
- stack
- error
- Xcode
- darkmode
- String
- Firebase
- MacOS
- JPA
- FLUTTER
- SwiftUI
- Apple
- github
- 한글
- Today
- Total
목록Xcode (37)
EEYatHo 앱 깎는 이야기
tuist 4.x 로 마이그레이션 중 에러 발생 The 'swift' command exited with error code 1 and message: error: the Swift tools version specification is missing a label; consider inserting 'swift-tools-version:' between the comment marker and the version specifier 해결방법 소스파일 맨 위에 swift-tools-version 의 버전을 명시 // swift-tools-version:5.9
권한 작업 Info.plist 에 추가 Privacy - Motion Usage Description 걸음수 데이터 측정을 위해 데이터 접근 권한이 필요합니다. 안하면 crash남 코드 CoreMotion.CMPedometer.queryPedometerData 활용 3초마다 오늘 00시 ~ 현재시간까지의 걸음수를 query import CoreMotion final class CoreMotionService { static let shared = CoreMotionService() private var pedoMeter = CMPedometer() private init() { Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: #select..
Error Xcode 14.3 으로 업데이트 후, Archive시 아래 에러 발생 에러 이미지 에러 코드 Run custom shell script '[CP] Embed Pods Frameworks' ... rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/97f6331a-ba75-11ed-a4bc-863efbbaf80d/Library/Caches/ com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender=2.6.9] Command PhaseScriptExecution failed with a nonzero exit code Solution {A..
if let 약식 구문 등장 let foo: String? = "hello world" // if let foo = foo { if let foo { print(foo) } any 확장 any 키워드를 사용한 모듈을 만들 때, type erase 로 type relationship 이 제거되어 associatedType 을 디스패치하지 못하던 상황을 개선 => any 타입을 unboxing 하여 some 타입으로 컨버팅 할 수 있는 기능을 컴파일러에 추가 func feed(_ animal: some Animal) { let food = type(of: animal).Feed.make() // associatedType 접근 animal.eat(food) } func feedAll(_ animals: [a..
노션 링크 코드 컨벤션 📌 코드 포맷팅 iris-numeric-9d0.notion.site 📌 코드 포맷팅 띄어쓰기, 쉼표, 콜론, 줄바꿈 등. 기능 및 성능과는 직접적인 연관이 없는, 코드들의 모양 (겉부분) 을 다룹니다. 통일된 코드 포멧은, 우리 뇌의 청킹을 도와, 타인의 코드를 더 쉽게 볼 수 있게 도와줍니다. 1. import import 순서 내장 프레임워크를 먼저 import 한 후, 한줄 띄우고 third-party 들을 import 합니다. 이후 알파벳 순으로 정렬합니다. ✅ Preferred import Foundation import UIKit import AdSupport import AppTrackingTransparency import RxCocoa import RxSwift i..
ReactorKit 에서 테스트 대상 3가지로 나눠서 확인할 수 있다 View -> Reactor 유저의 인터렉션이 일어났을 때, Reactor 에게 기대되는 Action 을 넘기는지 Reactor -> View Reactor 에서 도달한 State 값에 따라 View 의 property 들이 기대한대로 설정되는지 Reactor Processing ( Action - mutation -> State ) 특정 State에서 특정 Action이 들어왔을 때 State 가 기대한대로 변경되는지 Stub ReactorKit 은 용이한 Test 를 위해, Reactor 에 Stub 이라는 기능을 제공한다. 아래처럼 Reactor 에서 Stub 기능을 사용할 것인지 설정할 수 있다. let reactor = MyR..
ReactorKit 공식 Git 링크 View 와 Reactor 을 가지고 화면을 만든다. View = UIView, UIViewController, UITableViewCell 등 Reactor = ViewModel. 비지니스 로직. ReactorKit 은 Flux 와 Reactive Programming 의 조합 부분적으로 도입이 가능하고, 라이브러리인 만큼, 공식 설명이 잘 되어있다. ReactorKit 의 디자인 목표 Testability : 뷰(View)와 비지니스 로직(Reactor)을 분리. Reactor는 View 에 대한 종속성이 없음. Small Start : RIBs 처럼 앱 전체가 하나의 아키텍쳐를 따를 필요 없음. 특정 화면에만 ReactorKit을 사용할 수 있음 Less Typ..
자주 쓰는 단축키 Bold 처리 코딩 관련 단축키 커서가 위치한 블록 접기 : Command + Option + 좌 방향키 ( 중괄호 기준 ) 커서가 위치한 블록 열기 : Command + Option + 우 방향키 ( 중괄호 기준 ) 커서가 위치한 파일의 모든 함수 접기 : Command + Option + Shift + 좌 방향키 커서가 위치한 파일의 모든 함수 열기 : Command + Option + Shift + 우 방향키 파일, 클래스, 함수 검색 : Command + Shift + O 뒤로가기 : Command + Ctrl + 복수 커서 생성 : Ctrl + Shift + Click 선택한 라인 주석 걸기 / 풀기 : Command + / 현재 파일을 Project Navigator 에서 보..