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

* 코드로 UI 작성에 편리를 위해 사용한 프레임워크 - SnapKit - Then UITextView의 placeholder UITextView에는 UITextField처럼 placeholder 프로퍼티가 없기 때문에 직접 구현해서 사용 ex) UITextField에서의 placeholder // UITextField에서의 placeholder textField.placeholder = "abcd@email.com" UITextView에서 프레임워크 없이 placeholder 직접 구현해서 사용하는 방법 이전 포스팅 글 `TextView placeholder 적용 방법` 참고 UITextView+Placeholder 프레임워크 아래처럼 placeholder 텍스트, 컬러, attributed까지 설정할..

프레임워크 SkeletonView pod 'SkeletonView' 코드로 UI 작성에 편리를 위해 사용한 프레임워크 pod 'Then' pod 'SnapKit' Label 2개에 SkeletonView 적용 방법 적용하려는 View에 isSkeletonView = true로 skeleton 활성화 import SkeletonView ... label1.isSkeletonable = true label2.isSkeletonable = true label1과 label2의 superView에도 isSkeletonable = true 활성화 self.view.isSkeletonable = true SkeletonView 프레임워크는 superview.showSkeleton()하면 subview들도 모..

준비 코드로 UI를 편리하게 작성하기 위해서 Then, SnapKit 프레임워크 설치 pod 'Then' pod 'SnapKit' pod 'Reusable' 사용 방법 의존성 도구 없이 DragDropCollectionView 파일을 복사 붙여넣기하여 사용 (아래 github에 명시) DragDropCollectionView.swift을 리펙토링하여 아래처럼 사용 // // DragDropCollectionView.swift // DragDrop // // Created by Lior Neu-ner on 2014/12/30. // Copyright (c) 2014 LiorN. All rights reserved. // 3rd test for git submodule //Just testing git s..

1. Starscream을 이용한 WebSockets (웹 소켓) 사용 방법 2. Starscream을 이용하여 WebSockets (웹 소켓) ping, pong 사용 방법 * URLSessionWebSocketTask를 이용하여 WebSocket 사용 방법은 이 포스팅 글 참고 WebSockets이란? 클라이언트와 서버 사이의 동적인 양방향 연결 채널(Socket Connection)을 구성 WebSockets API를 통해 서버로 메세지를 보내면, 별다른 API 요청 없이 응답을 수신 HTTP 통신 방법 vs WebSocket 통신 방법 WebSockets 프로토콜: 접속에만 HTTP를 사용하고 그 후 통신은 WebSockets 독자적인 프로토콜을 사용 WebSockets은 header가 작기 때문..

Firebase Analytics 특성 몇 가지 이벤트를 자동으로 로깅하여 별도의 코드 없이 이벤트 수신 가능 대소문자 구분 ("abc"와 "Abc"는 다른 이벤트로 인식) logEvent(): 앱의 사용량과 행동을 수집 이벤트: 사용자 Action, 시스템 이벤트, 오류 등 사용자 속성: 사용자층을 나눈 개발자가 정의하는 언어 설정 (지리적 위치 등) Analytics SDK 연동 Firebase Console -> Firebase 프로젝트 생성 Firebase 앱 등록, GoogleService-Info.plist 다운로드하여 프로젝트에 포함 sdk 설치 cocoapods 이용 시) pod 'Firebase' pod 'Firebase/Analytics' Firebase SDK 초기화 코드 AppDel..

Cauli 프레임워크 네트워크 디버깅 용도로 사용하는 프레임워크 URLSession을 사용한 모든 Request, Response들을 수집하여 표출 폰을 흔들면 Cauli에서 제공하는 ViewController가 present되어 해당 뷰에서 쉽게 네트워킹 로깅을 확인해볼 수 있는 툴 설정이 매우 간결 (코드 1줄로 사용 가능) 사용 방법 종속성 pod 'Cauliframework' 적용 AppDelegate에서 import didFinishLaunchingWithOptions에서 Cauli 실행 #if DEBUG import Cauliframework #endif ... func application( _ application: UIApplication, didFinishLaunchingWithOp..

iOS 에서 사용하는 버전의 개념 Xcode에서 관리하는 버전 CFBundleShortVersionString (marketing_version) - Aoo Store에 게시할 때마다 증가해줘야 하는 버전 major.minor.patch CFBundleVersion (Current_Proejct_Version) - 개발자가 내부적으로 확인하기 위한 용도 (날짜를 사용하기도 함 - 2021.12.29.1 ) 코드에서 접근 - Bundle.main.infoDictinoary로 접근 let marketingVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String let currentProjectVersion = Bundle.m..

AlignedCollectionViewFlowLayout 프레임워크 3개의 섹션에 각 item들이 있는 형태 예시 화면 AlignedCollectionViewFlowLayout 프레임워크 github 내부적으로 UICollectionViewFlowLayout을 서브 클래싱하여 align을 쉽게 다룰 수 있도록 하는 프레임워크 UI 레이아웃 설정 편의를 위해 사용한 다른 프레임워크 참고 Reusable Then SnapKit AlignedCollectionViewFlowLayout 사용 방법 cocoapods 종속성 pod 'AlignedCollectionViewFlowLayout' Cell 정의 import UIKit import Reusable import SnapKit import Then fina..