일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- collectionview
- Clean Code
- 리팩토링
- MVVM
- Human interface guide
- Protocol
- rxswift
- 애니메이션
- RxCocoa
- Xcode
- map
- ribs
- uitableview
- 리펙터링
- Observable
- 클린 코드
- UICollectionView
- uiscrollview
- SWIFT
- swift documentation
- 리펙토링
- ios
- Refactoring
- combine
- tableView
- 스위프트
- clean architecture
- UITextView
- swiftUI
- HIG
- Today
- Total
목록static framework (7)
김종권의 iOS 앱 개발 알아가기
* 목차 static framework, dynamic framework * static framework, dynamic framework 개념은 이전 포스팅 글 참고 tuist로 static, dynamic framework 만들기 의존성 관리 방법 * starter project: git tuist graph 명령어 실행 tuist graph tuist graph 했을때 아래 warning이 뜨면서 graph 파일이 생성 안되는 경우? % tuist graph Installing GraphViz... Warning: your HOMEBREW_PREFIX is set to /usr/local but HOMEBREW_CELLAR is set to /usr/local/Homebrew/Cellar. You..
* 목차 Carthage, SPM 의존성 사용 방법 * starter project - github Tuist에서 의존성 관리 방법 Tuist 하위 폴더 안에 Dependencies.swift파일이 있고, tuist fetch를 실행시켜 Dependencies 디렉토리에 프레임워크를 모아놓음 Project.swift 파일에서 Dependencies 의존성 설정을 할 수 있는데, 이 때 .external(name: "Alamofire")과 같이 추가하여 의존성 설정 현재 디렉토리 형태) . └── Tuist └── Templates └── app ├── AppDelegate.stencil ├── LaunchScreen.stencil ├── Project.stencil ├── ViewController.st..
Static Framework 개념 의미 앱의 실행 파일(excecutable)에 바이너리 파일이 포함되는 형식 (컴파일 타임에 로드되는 방식) 단점 앱의 사이즈 증가 모듈화 시 static 프레임워크를 의존하게되면 복사가 되므로 여러곳에서 의존할 경우 코드 중복 발생하여 의존성 관리에 더욱 주의해야하는 점이 존재 장점 dynamic framework보다 빠른 속도 Dynamic Framework 개념 의미 앱의 실행 파일(excecutable)에 포함되지 않고, 런타임 시 링크되어 앱이 실행되거나 필요할때 프레임워크 코드가 메모리에 로드되는 방식 단점 앱의 바이너리 파일에 포함되어 있지 않고, 링크하여 사용하므로 static framework에 비해서 느린 속도 장점 static framework에 비..
* 목차 tuist scaffold, tuist generate로 메인 프로젝트를 .app 생성 주의) 1) 이름을 꼭 Tuist, Templates으로 아래처럼 설정해야 동작함 2) Templates하위에 있는 폴더 이름과 그 폴더 안에 있는 .swift 파일 이름이 동일해야함 (app 디렉토리 == app.swift) . └── Tuist └── Templates └── app ├── Project.stencil └── app.swift (Project.stencil) import ProjectDescription let project = Project( name: "{{ name }}", targets: [ Target( name: "{{ name }}", platform: .iOS, product..
Tuist로 모듈화 최신 포스팅 글 목록 > https://ios-development.tistory.com/1303 1. Tuist로 모듈화하기 - 이미 존재하는 프로젝트에 적용 방법 2. Tuist로 모듈화하기 - 기본 개념 (Dynamic Framework, Static Framework, Mach-O, Embed & Sign) Framework 클릭하여 생성 JKCode.swift 파일을 만들고 샘플 코드 작성 init도 JKFramework모듈 밖에서 접근가능하도록 public으로 선언 public struct JK { public init() {} public func printTest() { print("JKCode") } } 만든 Framework는 디폴트로 dynamic library B..
목차) Build Setting 목차 링크 Dynamic Framework와 Static Framework 차이 Dynamic Framework - 컴파일된 바이너리 파일이 Stack의 Bundle영역에 존재하여, 어플리케이션 코드에서 스택 영역을 참조하여 사용 Static Framework - 컴파일된 바이너리 파일이, 앱의 실행 파일에 복사되어 바로 사용 Dynamic, Static 특징 Dynamic framework 메모리 효율 - 동시에 여러 프레임워크 또는 프로그램에서 동일한 코드를 공유(참조)하여 메모리에 효율적 전체 빌드를 다시 하지 않아도 부분 빌드를 통해 새로운 프레임워크 사용 가능 디버그 심볼 따로 필요 - 실행파일에 프레임워크가 없으므로 별도로 dSYM파일 따로 생성해서 주입 Sta..
* 더욱 자세한 static framework외 dynamic framework 개념은 최신 포스팅 글 참고 프레임워크 vs 라이브러리 라이브러리 - "사용하는 주체"가 기능을 요청하며 사용 (언제 요청 할지, 언제 응답 받을지, 언제 결과 처리할 지 모두 주체가 결정) 프레임워크 - "사용하는 주체"와 기능의 제어권이 역전 IoC (Inversion of Control) RxSwift와 같이 bind 시켜놓으면 (제어권 부여), 이벤트 일어날 시 처리되는 (제어의 역전) 로직 Inversion of Control의 장점 재사용성 증가 관심사의 분리: As a Service (사람이 전기를 사용할 때 toggle switch만 키면 됨 - 관심사의 분리) DI(Dependency Injection)과의 ..