Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 리펙토링
- RxCocoa
- uiscrollview
- 스위프트
- ribs
- combine
- Human interface guide
- Observable
- UICollectionView
- 리팩토링
- Protocol
- HIG
- Clean Code
- map
- UITextView
- swift documentation
- MVVM
- uitableview
- rxswift
- 애니메이션
- ios
- 리펙터링
- 클린 코드
- Refactoring
- tableView
- SWIFT
- clean architecture
- swiftUI
- Xcode
- collectionview
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] xUnique (파일, 폴더 sorting 관리, pbxproj 솔팅 관리) 프레임워크 본문
iOS framework
[iOS - swift] xUnique (파일, 폴더 sorting 관리, pbxproj 솔팅 관리) 프레임워크
jake-kim 2022. 3. 23. 23:37xUnique
- 충돌 문제 대응
- Xcode는 프로젝트 정보를 .xcodeproj 파일을 통해 관리하는데, 이 파일 에서는 파일을 새로 생성할 때마다 UUID가 달라지고, 파일들이 정렬되지 않아 충돌 문제가 존재
- xUnique는 동일한 파일에 같은 UUID를 할당하고 이름을 기준으로 정렬하는 방식을 사용
xUnique은 python으로 설치해야 하므로 python 설치
- home brew 설치
- 파이썬 DI 관리 도구인 poetry 설치
- python의 pip는 .lock파일이 없어서 버전관리가 번거롭지만, poetry는 lock파일이 존재하여 버전 관리에 용이 (DI 관리)
// intel
brew install poetry
// apple silicon chip
arch -arm64 brew install poetry
- poetry --version을 입력하여 설치된 것 확인
poetry 준비
- pyproject.toml파일과 tool.poetry파일 생성
- pyproject.toml 파일에 DI를 명시
poetry new pip
- 안에는 .toml파일과 .rst파일이 존재
- .toml파일에서 xUnique 명시
[tool.poetry]
name = "pip"
version = "0.1.0"
description = ""
authors = ["jake <https://ios-development.tistory.com/>"]
[tool.poetry.dependencies]
python = "^3.10"
[tool.poetry.dev-dependencies]
xUnique = "^4.1.4"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
- xUnique 설치 (pytproject.toml가 있는 위치에서 아래 명령어 실행)
poetry install
xUnique를 ~/.zhsrc에 추가
- 파이썬의 위치를 확인하기 위해서 아래 명령어 실행
pip3 install xUnique
- 파이썬의 위치 확인: /Users/jake/Library/Python/3.8/
- 위치를 확인했다면, 파이썬 bin 폴더 하위에 $PATH를 추가
export PATH=/Users/jake/Library/Python/3.8/bin:$PATH
* 만약 기존 환경변수들이 삭제되었을 경우, bin 복구 커멘드
export PATH=$PATH:/bin:/usr/local/bin:/usr/bin
- xunique파일 링크 설정: /usr/local/bin
ln -s "$(which xunique)" /usr/local/bin
gitHook 설정
- 아래 명령어를 입력하면 git hook의 pre-commit에 자동으로 sorting할 파일들이 입력
- (프로젝트 root로 이동한 다음 아래 명령어 입력)
- 핵심은 ./{projectName}.xcodeproj와 ./Pods.xcodeproj
- 프로젝트.xcodeproj파일과 Pods.xcodeproj을 xunique적용시킨다는 의미
{ echo '#!/bin/sh'; echo 'xunique ./ExXUnique.xcodeproj'; echo 'xunique ./Pods/Pods.xcodeproj'; } > .git/hooks/pre-commit
- ./git/hooks/pre-commit 파일을 보면 아래처럼 입력된 것을 확인
- 권한 추가
chmod 755 .git/hooks/pre-commit
사용
- B123File, A123File 생성
- 커밋 시 아래처럼 sort가 된 로그 확인자동으로 정렬된 파일들 확인
* 참고
https://python-poetry.org/docs/pyproject/
'iOS framework' 카테고리의 다른 글
Comments