일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- uiscrollview
- SWIFT
- Human interface guide
- Xcode
- ios
- Observable
- uitableview
- map
- UITextView
- 리펙터링
- Refactoring
- 애니메이션
- rxswift
- ribs
- clean architecture
- RxCocoa
- tableView
- UICollectionView
- 리팩토링
- Protocol
- combine
- 스위프트
- 클린 코드
- Clean Code
- swift documentation
- swiftUI
- 리펙토링
- HIG
- collectionview
- MVVM
- Today
- Total
목록Git, CocoaPods, Xcode, Shell (71)
김종권의 iOS 앱 개발 알아가기
Cocoapods이란 일반적으로 오픈소스를 관리하는 방법에는 아래 방법 존재, 두 가지 단점을 극복한 오픈소스 관리하는 cocoapods - 압축 파일로 소스를 받아서 직접 프로젝트에 넣는 방법 - 버전 업데이트가 어려운 단점 - 개발하고 있는 저장소에 오픈소스 저장소를 링크시켜 프로젝트에 삽입 - circular dependency 문제 (앱에서 A라이브러리 사용하고 있을 때 A라는 오픈소스 저장소를 또다시 링크시키면 충돌) Cocoapods의 장점 - 라이브러리 버전 관리 - 라이브러리 의존성 체크 - 지원 OS버전 설정에 간편화 Cocoapods은 ruby기반으로 제작 Cocoa pods 지원 버전 정의 pod ''myFramework', '0.0.1' --> 0.0.1버전 pod 'myFramew..
Git에 쓰이는 SSH git 리모트 저장소에 push할 경우 아무나 push되지 않고 사용자 인증이 필요 git에 사용되는 사용자 인증 방법은 두 가지 존재 (HTTPS, SSH) 컴퓨터에 종속적이지 않고 key값만 알고있으면 복붙해서 사용할 수 있는 HTTPS사용 권장 - HTTPS는 username, password를 입력 후 접근 - git에서는 access token을 발급하여 username, password필요없게끔 할수있음 (gitlab -> settings -> 토큰발급 -> 복사 -> git remote정보에 입력) SSH란 Secure Shell Protocol: 네트워크 프로토콜 중 하나이며, 통신할 때 사용되는 규약 쓰임: 두 가지 (데이터 전송, 원격 제어) git 리모트에서는 ..
reset 내용 참고: ios-development.tistory.com/120?category=905996 [git] 6. branch, reset, merge의 원리 1. branch의 원리 파일 구성도 .git파일 -> refs파일 -> HEAD파일 -> 최신 커밋한 브랜치 파일 -> object(최신 커밋) -> tree, parent object * HEAD : 현재 사용하고 있는 btanch를 가리킴 ex) 브랜치 파일 git.. ios-development.tistory.com Revert란? revert는 롤백할 때 롤백한 커밋이 새로 찍히며, commit point가 과거로 되돌아가지 않음 reset은 롤백하면 commit point가 과거로 돌아가며, 롤백 내역 삭제 revert 사용 ..
git remote 원격 저장소 등록 ("원격 저장소 이름"은 보통 origin 사용) git remote add {원격저장소 이름} {원격저장소 url}: 등록한 저장소 확인 git remote git push 저장소 브랜치에 푸시 git push { 원격 저장소명 } { 원격 브랜치명 } // git push origin develop 위 명령어를 git push로만 해도 동작 되게끔 등록 git push --set-upstream {원격 저장소 이름 .. origin} {로컬 브랜치 이름 .. master} 원격 저장소 파일 가져오기 핵심: clone은 로컬과 origin을 독립적으로 보고 pull은 종속적으로 보는 것 git clone: 단순 가져오는 기능 (로컬에서 작업하던 브랜치와 가져온 브랜..
sudo를 사용하지 말고 global설정을 통해 해결하는 방법 문제 상황 $ gem install bundler ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory. rbenv versions체크 $ rbenv versions * system (set by /Users/user/.rbenv/version) 2.3.8 global로 ruby버전을 세팅 $ rbenv global 2.3.8 $ rbenv versions system * 2.3.8 (set by /Users/user/.rbenv/version) 설치하면 성공..
여러개의 프레임워크로 나누기 프로젝트 하나에 여러개의 framework 삽입 방법은 여기 참고 sample) 메인앱: MainProj.xcodeproj 서브앱: SubProj1.xcodeproj 여러개의 pod 의존성 설정 MainProj.xcworkspace파일을 열어서, podfile파일 오픈 (podfile은 기본적으로 ruby랭기지) 기본적인 환경세팅 platform :ios, '11.0' # 플랫폼 설정 use_frameworks! # 스위프트를 사용하고 동적 라이브러리를 사용하겠다는 의미 inhibit_all_warnings! # Xcode에서 pods와 관련된 경고 없애기 프로젝트 정보설정 workspace 'MainProj' project 'MainProj/MainProj.project' ..
하나의 Project에 프레임워크와 pods추가 방법 구성: 메인 앱은 MyApp이고 나머지는 framework로 추가 MyApp.xcworkspace를 만들고, 하위에 MyApp.xcodeproj파일, Domain프레임워크, pods프레임워크 추가 프로젝트의 루트가 될 폴더 추가 주 프로젝트 파일이 될 ".xcworkspace"파일 생성: 아무 프로젝트 실행 -> "ctrl + cmd + N"하여 생성 (이름은 위 루트 폴더와 동일하게 할 것) 위 파일 실행: 아래처럼 비어있는 .xcworkspace파일 확인 메인 프로젝트가 될 .xcdeproj파일 생성(이름은 위에서 정한 이름과 동일하게 할 것): "shift + cmd + N" 단, 아래 2번 째 사진과 같이 Add to와 Group설정을 해야되는..
Git Repostory가 아래와 같이 구성되어 있을 때, Merge Conflict해결 원리 conflict가 발생한 Upstream의 브랜치를 로컬에 pull하여 로컬에서 해결하는 방식 로컬에서 conflict가 난 곳을 확인하여 accept하면서 merge (merge conflict해결) 로컬에서 최종적으로 merge된 브랜치를 push 방법 conflict가 발생한 상대방의 브랜치(= Upstream의 develop 브랜치)를, 자신의 Local Repository의 develop에 pull conflict가 발생한 자신의 브랜치로 check out한 다음, 자신의 develop브랜치로 rebase or merge merge conflict난 곳을 해결 (accept or deny) - 맥북의 ..