일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- clean architecture
- RxCocoa
- ios
- Protocol
- Refactoring
- 스위프트
- ribs
- Clean Code
- 리펙토링
- SWIFT
- Human interface guide
- 리펙터링
- MVVM
- collectionview
- map
- combine
- uitableview
- swiftUI
- swift documentation
- HIG
- UICollectionView
- uiscrollview
- UITextView
- Xcode
- Observable
- 클린 코드
- 리팩토링
- tableView
- 애니메이션
- rxswift
- Today
- Total
목록분류 전체보기 (1645)
김종권의 iOS 앱 개발 알아가기

storyboard, SceneDelegate 제거 storyboard 삭제 Main.storyboard 삭제 target의 main interface 에서 설정된 스토리보드 해제 SceneDelegate 삭제 info.plist에 Application Scene Manifest 삭제 SceneDelegate.swift 삭제 AppDelegate.swift에 UISsceneSession Lifecycle 관련 메소드 2개 삭제 구체적인 Main.storyboard 삭제 방법 info.plist의 Main storyboard file base name 삭제 Storyboard Name 삭제 Main.storyboard 삭제 AppDelegate.swift에 storyboard 없이 새로운 화면으로 UIWi..

통합 로깅 시스템 (unified logging system) 통합의 의미: 로그 데이터 저장을 level에 따라 메모리와 디스크의 데이터 저장소에 모으는 것 (iOS 10+ 에서 가능) 장점: 모든 level의 시스템에서 로깅표출 가능 xcode를 실행하지 않아도 console앱을 실행시키면 로깅 가능 os_log를 사용하면 mac의 콘솔 앱에서 로그를 쉽게 확인(필터 기능) & 저장기능 등을 활용 가능 level 주로 Fault를 제외한 4가지 사용 level 종류 disk에 저장 내용 Default (notice) o 문제 해결을 위한 level Info o Error케이스와 유사하지만, 에러 설명이 긴 경우 Debug x 개발 환경에서의 간단한 로깅 (mac의 '콘솔'앱에는 찍히지 않고 xcode..

iOS는 첫 등장화면의 dafult는 LaunchScreen.storyboard 실행하면 약 2초정도 흰 바탕화면이 보여지는데, 이것은 os에 필요한 정보들을 disk에서 메모리로 올리는 과정에서 지연이 발생 LaunchScreen으로 지정한 ViewController에는 custom class 및 Button과 같은 attributes 배치 불가 (UIImage만 가능) 흰 바탕화면은 xcode에서 디폴트로 LaunchScreen.storyboard를 생성해주고, 이 storyboard의 Storyboard entry point가 설정된 상태 (아래 사진) 주의: LaunchScreen.storyboard에서 사용하는 UIImageView의 image는 assets.xcassets파일에서 사용하면 te..

전처리기 전처리(preprocessing)기: 소스 파일을 컴파일하기 전에 행해야 할 일련의 작업을 의미 xcode 디폴트는 `DEBUG`플래그가 존재 Other Swift Flags: flag는 일반적으로 Active Comilation Conditions에서 설정하지만 기능은 같은 flag 설정

각 파트별 준비해야할 리소스 리스트 1. 기획 이름, 부제 지원 URL 앱 카테고리 앱의 ‘추가 카테고리’ (optional) 앱 등급 정의 저작권 문구 가격 등급 개인정보 처리 방침 내용과 해당 URL 컨텐츠 권한 정보 옵션 App Store 검색에서의 키워드 (하나 이상의 키워드 필요) 앱 설명 문구 프로모션 텍스트 2. 디자인 앱 스크린샷 이미지 (iPhone 6.5형, iPhone 5.5형 각 최대 10장) 미리보기 동영상 (optional) 3. 기타 테스터 전용 로그인 계정 (이메일, 패스워드) 테스터 전용 sns 인증 핸드폰 번호 (해당 번호를 입력했을 경우 인증번호를 입력하지 않아도 다음 화면으로 넘어가도록 반영 필요) 회원가입 절차 동영상 심사팀으로부터 연락받을 연락처 정보 상세 내용 이..

파싱을 위한 HTML 기초 HTML 구성 ... body 태그안에 자주 사용되는 태그 css: 디자인 javascript: 동적인 부분을 변경시켜 주는 것 css의 id와 class 개념 id와 class의 차이점은 우선순위: id > class > 태그 class 클래스1 예제 h3인 클래스1 예제 id ID1 선택자 가장 중요한 개념 id /class / tag / attribute 구분 attribute는 tag안의 값 인 경우, href의 정체는 attribute SwiftSoup의 Element속성 중 id, class, tag 는 모두 element.select()로 접근하는 반면, attribute는 element.attr()로 접근하는 것을 주의 SwiftSoup 프레임워크 준비 pod '..

현재 버전과 앱스토어에 있는 최신버전 확인 방법 현재 버전 정보 가져오기 let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String 상수로 설정 cf) bundle id와 buildNumber는 아래와 같이 획득 struct Constants { struct System { static let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String static let bundleIdentifier = Bundle.main.infoDictionary?["CFBundleIdentifier"] as? String static ..

UIScrollView 구현 원리 UIScrollView는 swift에서 내부적으로 Frame layout guide와 content layout guide가 존재 content view를 UIScrollView안에 넣고 위 두 layout guide를 설정하면 구현 완료 구현 흐름 1) frame 1-1) super view와 frame layout guide 설정 2) content 2-1) content 뷰 생성 2-2) content 뷰와 content layout guide (space 설정 후 모두 0으로 해주어야 하는 것 주의) 2-3) content 뷰와 frame layout guide의 width를 1:1로 3) 내부 component 추가 3-1) content 뷰 안에 들어갈 내용 ..