일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Session
- FLUTTER
- stack
- 개발자
- appstore
- geofencing
- window
- Swift
- error
- Code
- SwiftUI
- Notification
- darkmode
- Git
- IOS
- JPA
- github
- Archive
- Apple
- Firebase
- Xcode
- mac
- MacOS
- Realm
- UIButton
- iOS16
- rxswift
- 한글
- Today
- Total
목록IOS (175)
EEYatHo 앱 깎는 이야기
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..
UnitTest 파일을 만들면 상속받고 있는 XCTestCase 가 있다. 테스트에 관심이 생겨, 공식 문서 정리 XCTestCase 애플 문서 XCTestCase 란 ? ( Overview ) 테스트를 시작하기 전이나, 테스트가 끝난 후의 행동을 setup 할 수 있는 Test Method 들의 그룹입니다. 테스트 케이스와 함수 정의하기 XCTActivity 를 따르기 때문에, 복잡한 테스트들을 조직화하고 단순화할 수 있으며, 분석을 위한 output 출력이 가능합니다. For more information, see Activities and Attachments. expectations 를 사용하여 비동기 테스트를 만들 수 있습니다. 앱에서 Concurrency 를 사용하고 있다면 맘껏 사용하세요, ..
시뮬레이터 방향 바꾸기 : Command + 좌/우 방향키 시뮬레이터 화면 캡쳐 : Command + S 시뮬레이터 화면 영상 녹화 시작 : Command + R ( 녹화 종료는 우측 상단의 정지 버튼 ) 시뮬레이터 크기(해상도) 바꾸기 : Command + 1/2/3 줌인/줌아웃 제스처 : Option + Drag 텍스트 입력시, 키보드 보이기/숨기기 : Command + Shift + K 홈키 : Command + Shift + H 잠그기 : Command + L
자주 쓰는 단축키 Bold 처리 코딩 관련 단축키 커서가 위치한 블록 접기 : Command + Option + 좌 방향키 ( 중괄호 기준 ) 커서가 위치한 블록 열기 : Command + Option + 우 방향키 ( 중괄호 기준 ) 커서가 위치한 파일의 모든 함수 접기 : Command + Option + Shift + 좌 방향키 커서가 위치한 파일의 모든 함수 열기 : Command + Option + Shift + 우 방향키 파일, 클래스, 함수 검색 : Command + Shift + O 뒤로가기 : Command + Ctrl + 복수 커서 생성 : Ctrl + Shift + Click 선택한 라인 주석 걸기 / 풀기 : Command + / 현재 파일을 Project Navigator 에서 보..
Test 파일 만들기 New File > Unit Test Case Class > 파일명 입력 파일명은 일반적으로 XXXTests 로 짓는다 예시로 User 의 모델이나 API 를 테스트하기 위한 UserTests 를 만들었다. 제공된 함수 설명 UintTest 파일을 만들면 4가지 함수가 있다. setUpWithError : 테스트 시작 직후, 가장 먼저 실행되는 코드. 테스트를 위한 모델이나 시스템을 정의하는 역할. tearDownWithError : 테스트 끝나기 직전, 가장 마지막에 실행되는 코드. release, deinit, dispose 등의 역할. testExample : 테스트 함수 예시. testXXX 로 명명된 함수들이 UnitTest 시 모두 실행된다. setUpWithError 실..
Error 갑자기 Unable to boot the Simulator. 라는 Alert 가 나오면서 시뮬레이터가 실행이 안된다. 아마 Flutter, React Native 등 여러 크로스플랫폼을 실행하다가 생긴 버그인듯,, Solution 좌측 상단 사과모양 > 이 Mac에 관하여 > 저장 공간 > 관리 > Xcode 캐시 삭제 Reference https://stackoverflow.com/questions/72229589/flutter-xcode-error-unable-to-boot-the-simulator
에러 배경설명 API 호출시 아래와 같은 에러가 나옴 status code : 1103 NSLocalizedDescription : 리소스가 최대 크기를 초과함 Solution iOS 13 이상에서 나타나는 버그이다. API 호출 시, request 의 httpMethod 를 GET 이라면, httpBody 를 비워야한다... 🫠 body 를 통해 데이터를 전달하고 싶으면, API 가 POST 를 지원하도록 하고 사용한다. GET 을 유지하고 데이터를 전달하고 싶으면, header 나 url query를 사용한다. Reference https://stackoverflow.com/questions/56955595/1103-error-domain-nsurlerrordomain-code-1103-resourc..