일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swiftUI
- uiscrollview
- 리팩토링
- Protocol
- MVVM
- Refactoring
- ribs
- UITextView
- combine
- uitableview
- HIG
- 리펙터링
- collectionview
- Clean Code
- SWIFT
- 클린 코드
- Human interface guide
- swift documentation
- map
- Observable
- Xcode
- 애니메이션
- clean architecture
- RxCocoa
- 리펙토링
- tableView
- 스위프트
- rxswift
- ios
- UICollectionView
- Today
- Total
목록분류 전체보기 (1644)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1oDzd/btqTJmCTgPk/fSdo1nDpZN2hWe5Ri2qn5k/img.png)
1. fastlane이란? 2. Bundler란? cocoapod 동기화 방법? 3. fastlane match (certificate, provisioning profile 정보를 git에 저장) 4. fastlane build_app (빌드, firebase에 배포) 5. fastlane 앱 스토어에 배포 (App Store Connect) 6. fastlane register devices, 디바이스 정보(UDID, Name) Apple Developer에 등록 방법 (register_devices) *7. fastlane 총 정리 및 phase별 configuration 설정, 환경변수 설정 *8. fastlane과 Bitrise를 이용한 자동 배포 구축 방법 cf) fastlane 환경 변수 (..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/brJaJR/btqTJngc25F/nBCq8C49Ru7cc51QeAup3k/img.png)
임의의 위치로 iPhone 기기를 위치시키고 싶은 경우, iTools사용 무료 다운로드 : ko.thinkskysoft.com/itools/ iTools - iOS 사용자에게 가장 유용한 도구 제공 (thinkskysoft) iTools - 우리는 iPhone / iPad의 충성도 높은 사용자 요구를 해결할 수있는 최고의 사용자 경험 서비스를 제공하는 데 중점을두고 있습니다. 현재 기본 도구에는 다음이 포함됩니다. iPhone, iPhone 복제, ko.thinkskysoft.com iTools 설치 후 실행 가상 위치 선택 검색어 입력 후 밑 옵션 선택 여기로 이동 클릭 -> 이동 완료
커스텀 방법 RxCocoa를 사용할 때 button.rx.tap -> button.rx.throttleTap으로 사용 // 상수 정의 struct Constants { static let throttleDurationMilliseconds = 500 } // 커스텀 throttle 정의 extension Reactive where Base: UIButton { public var throttleTap: ControlEvent { return ControlEvent(events: tap.throttle(.milliseconds(Constants.throttleDurationMilliseconds), latest: false, scheduler: MainScheduler.instance)) } }
Optional Binding 조건문과 함께 Optional을 unWrapping할 수 있는 것 보통 흔한 것은 guard, if문이지만 switch문도 optional binding에 속하는 것 주의 switch 문에 대한 Optional binding let t1 = Optional(1) switch t1 { case 0: print(0) case 1: print(1) // 실행 default: print(nil) } let t2 = Optional(nil) switch t2 { case 0: print(0) case 1: print(1) default: print(nil) // 실행 } Optinoal Chaining 하위 property에 optional 값이 있는지 연속적으로 체크하면서 하나라도..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bwNqNt/btqTp26iW8c/7RIHFlWUCVJXpCrSqusjlK/img.png)
* 앱스토어 심사 제출에 필요한 모든것 체크리스트: ios-development.tistory.com/382 앱 스토어 커넥트 접속 애플 개발자 페이지에서 App Store Connect 접속 나의 앱 클릭 +플러스 버튼 클릭 -> 신규 앱 해당정보 기입: SKU는 주관적으로 정할 수 있는 시리얼 넘버이므로 임의롭게 작성 ("myApp-0001") 최종화면 - 크게 3가지가 존재 App Store: 앱 스토에어 보여줄 정보 앱 내 추가 기능: 앱 내 구입, App Store 프로모션, Game Center, 암호화 TestFlight: 앱 정식 출시 전 테스트 앱 정보 탭에서 필요한 정보 기입 - 카테고리만 설정하면 필요 정보 모두 기입된 상태 언어 Localization: 우측 "한국어"버튼을 누르면 ..
개념 차이 stored property: 값을 메모리에 저장하는 용도 computed property: 이 자체는 값을 메모리에 저장해놓지 않고 필요할때 이미 메모리에 저장된 값(stored property)을 계산하여 get, set 하는 용도 computed proeprty가 stored property에 의존 '=' 기호로 값을 받으면 stored property, '='기호가 없으면 computed property stored property 기본형 let value = 3 주의: lazy var도 stored property임을 조심 (computed property가 아님) computed property는 이미 만들어진 stored property를가지고 get, set을 하지만 lazy v..
기본형 단순 타입 구분 (내부적으로 타입 구분용도) enum urlType { case naver case google } 타입을 추가한 형태 값을 명시하지 않으면 (google) 자동으로 타입의 이름으로 매핑됨 enum urlType: String { case naver = "Naver" case google // "google"로 매핑 } String의 값을 enum값으로 매핑시키는 방법 (예시) response로 문자열을 받은 경우, 문자열을 enum으로 매핑할때 필요) let googleUrl = "google" if let urlType = UrlType(rawValue: googleUrl) { // case문에 없으면 nil로 매핑됨 switch urlType { case .naver: rou..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YrwvB/btqTtrJUmvt/UTNQD60AybITZmSQEzYqe1/img.png)
구글 Admob 가입 구글 Admob사이트 가입 앱 정보 설정 앱이 생성된 화면 -> "광고 단위 추가" 버튼 클릭 원하는 광고 유형 선택 광고 단위 이름: 알아보기 쉽도록 "앱 이름_배너" -> 입력 후 확인 광고 단위 생성된 화면에서 key값을 모두 미리 복사해놓기 (복사하지 않으면 애드몹홈페이지 -> 앱 클릭하여 정보 확인가능 ) 시간이 광고 게재까지 걸리므로 "기다리는 동안 샘플 광고 단위를 테스트해 보세요" 클릭 확인 방법: 구글 애드몹 -> 앱 클릭 xcode에서 광고 설정 의존성 pod 'Google-Mobile-Ads-SDK' info.plist 정보 세팅: key값은 "GADApplicationIdentifier", value값은 위에서 복사한 ID값으로 추가 테스트를 하고싶은 경우에도 ..