🍎 iOS/iOS 심화 & 응용 5

[iOS] 자체 private repository 라이브러리 Cocoapods 배포하기

회사에서 주요 비즈니스 로직에 사용되는 코드 모음을 개발할 필요가 있었는데, 이 사이즈가 크기도 하고 평소에 나만의 라이브러리를 만드는것에 관심이 있어서, 단순 프로젝트 내 코드 모음이 아닌 사내 라이브러리를 배포해보기로했다. *해당 글은 사내에서 사용할 라이브러리이기 때문에 private repository 에서 Cocoapods로 배포하는 과정이므로 공개 repository 배포와는 과정이 조금 다를 수 있습니다. 먼저 private repository를 Cocoapods으로 배포하여 라이브러리 형태로 사용하기 위해서는 2가지 레포지토리가 필요하다.- pod repository (개발한 라이브러리 코드 레퍼지토리)- podspec repository(해당 Cocoapods 라이브러리의 podspec을..

[iOS] Xcode Cloud를 활용하여 iOS CI/CD 환경 구축하기

1. iOS CI/CD 툴 선택 기준1) Github와 연동되는가2) Slack을 통해 팀에게 알릴 수 있는 Webhook 기능을 제공하는가3) Test를 진행할 수 있는 환경인가4) 소요되는 비용 2. iOS CI/CD Tools 특징보통 Xcode cloud, Github Actions, Fastlane, Bitrise를 사용하는 것으로 보인다.여기서 어떤 툴을 사용해야할지 선택해야하니 .. 다른 분들의 적용기들을 참고해서 대략적인 특징을 정리해보았다. 1) Github Actions현재 회사 개발팀에서 활용하고 있는 배포 자동화 툴이다. 장점- Github 자동화툴인만큼, Github와 호환성이 좋으며 내부에서 심플하게 자동화 workflow 구축 가능하다는 점이 장점- Github에서 다양한 Te..

[iOS/Swift] URLSession vs Alamofire

iOS 앱을 만들 때 거의 필수적으로 네트워킹을 구현하는 경우가 많다. URLSession, Alamofire 모두 사용해보았을 때 각각 원리가 어떻게 되고, 장단점이 어떻게 되는지 분석하여 현재 프로젝트 리팩토링이나 다음 프로젝트를 진행할 때 기술 선택 시 도움이 되고자 비교해보고자 한다. URLSession vs Alamofire URLSession은 애플 프레임워크에서 제공되는 가장 기본적인 방법이며, Alamofire/Moya는 서드파티 라이브러리이다. Get과 Post 각 메소드에 대해 라이브러리 별 사용을 비교할 것임. (어차피 delete, put, patch는 모두 Post와 같이 body값을 보내주는 형태이기 때문에 생략) 먼저 URLSession, Alamofire를 비교해보자. 1) ..

[iOS/Swift] FSCalendar로 캘린더 구현하기

🔥 목표는 위 캘린더를 구현하는것! - 저는 Snapkit으로 구현하였습니다. 1. FSCalendar 뷰 생성 및 delegate, datasource 선언 private var calendar = FSCalendar() //viewDidLoad() calendar.delegate = self calendar.dataSource = self 2. 달력 기본값 세팅 calendar.scope = .month //월 표시 calendar.locale = Locale(identifier: "ko_KR") //요일을 한글로 표시하기 위함 3. 헤더 - 기본 설정 calendar.appearance.headerDateFormat = "YYYY년 MM월" //헤더 포맷 calendar.appearance.head..

[iOS/Swift] Tableview/Collectionview 페이징 (Pagination)

1) UIScrollViewDelegate - TableView, CollectionView에는 스크롤이 내장되어있으므로 UIScrollViewDelegate 이용이 가능하다. 현재 테이블뷰/스크롤뷰가 있는 UIViewController에 UIScrollViewDelegate를 상속한다. 2) 필요 변수 - arraylist : 무한스크롤하여 불러올 데이터를 담을 array list 준비 -> 초기에는 빈 리스트 - pageNum : API의 pageNumber 변수 - fetchingMore : 더 스크롤하여 데이터를 불러올지에 대한 boolean 변수 -> 초기에는 true 값 3) scrollViewDidScroll 함수 그 다음, scrollViewDidScroll 함수에서 스크롤이 끝까지 닿았는..

반응형