iOS

· iOS
Fastlane 초기화 Fastlane 주 사용 목적 선택 및 앱스토어 디스트리뷰션 스킴 선택 (스킴이 2개 이상일 경우) 앱 자동 배포화를 목적으로 하기 때문에 3번 Automate App Store distribution 선택 (처음 진행 할 경우 아래와 같이 Apple ID와 이중 인증 6자리 입력 필요) 릴리즈 버전인 prod 선택 애플 디밸로퍼 계정 로그인 배포할 애플 계정을 입력합니다. .Would you like fastlane to manage your app's metadata? 이미 앱스토어에 작성된 metadata가 존재하므로 y를 선택하여 metadata를 다운로드 합니다. Fastlane 기본 설정 완료 모든 설치과 기본 설정을 마치면 해당 폴더 내에 Gemfile과 fastlan..
· iOS
현재 잇차 앱에서 쓰이고 있는 MVC 구조는 모델의 뷰 적용, 라이프 사이클 이벤트 관리, 콜백 처리 등을 View Controller에서 전부 전담하고 있기 때문에 추가 기능 등이 늘어남에 따라 각 컨트롤러 별 변수, 함수들이 점점 많아지고 있는 상태이다. 이러한 상황이 계속된다면 하나의 View Controller에서 비대한 코드들을 관리해야 될 것이다. 이러한 문제를 해결하기 위해 로직부분을 ViewModel로 옮겨 View Controller의 크기를 줄이고, 테스트에도 용이한 MVVM 구조로의 변환이 필요할 것으로 보인다. MVVM의 특징 View Controller가 모델에 직접 접근하지 못한다. (View Model은 Model을 가지고 있고, Model은 View Layer와 소통하지 않는..
· iOS
카메라 촬영을 통한 결과를 FileManager의 document directory에 저장하고, 그 경로를 URL 형식으로 변환하여 S3를 업로드하는 내용입니다. 코코아팟 설치를 해줍니다. # AWS pod 'AWSS3', '~> 2.27.1' poolId를 발급받아 AWSCognitoCredentialsProvider과 AWSServiceConfiguration을 생성 후, Default Service Configuration을 이니셜라이징 해줍니다. func configure() { let credentialsProvider = AWSCognitoCredentialsProvider(regionType: .APNortheast2, identityPoolId: "INSERT-POOL-ID-HERE") g..
· iOS
애플 엔터프라이즈 프로그램에 대해 조사하던 중 알게된 정보들을 정리해보았습니다. Apple Enterprise 앱스토어에 공식 출시를 할 수 없는 특정 앱으로 회사 및 조직 내부 사용을 위한 앱 배포를 의미. 대규모 조직은 Apple Developer Enterprise Program을 통해 조직 내부에서만 사용하는 전용 앱을 개발하여 직원에게 배포할 수 있음. 내부 시스템을 이용하여 회사 내 직원들에게 비공개로 배포하여 이용할 수 있다. 앱스토어에 배포 불가능! 자격 요건 직원 100명 이상 법인 자격이어야 함. 사내에서만 사용하는 전용 앱을 생성하여 조직 내의 직원에게 비공개로 안전하게 배포하기 위한 용도로만 사용해야 함. Apple의 확인 인터뷰 및 지속적인 평가 절차에 참여하고 통과해야 함. (참..
· iOS
How to create iOS Framework 애플은 코드 공유를 쉽게하기 위해 프레임워크라는 도구를 제공합니다. 뿐만 아니라 코드를 그룹화(모듈화)하고, 코드 접근을 제어하는(캡슐화) 매커니즘을 제공해줍니다. 앞서 제작해본 CocoaPod, SPM 제작 방식을 활용하여 iOS Framework를 만들어볼게요! 프레임워크 예제 본 포스팅은 raywenderlich 사이트의 'Creating a Framework for iOS' 튜토리얼을 바탕으로 작성되었습니다. 예제 파일은 아래 링크에서 확인해보실 수 있습니다. https://www.raywenderlich.com/17753301-creating-a-framework-for-ios Creating a Framework for iOS Learn how..
· iOS
스위프트 패키지 매니저 라이브러리 만들기 Package.swift 파일 생성 스위프트 패키지 매니저를 이용하려면 Package.swift 파일만 추가해주면 된다. 앞서 만든 라이브러리(코코아팟) 디렉토리 위치에서 아래 명령어를 실행하여 Package.swift 파일을 생성해준다. https://miiiiiin-devlog.tistory.com/5 touch Package.swift Package.swift를 열어 아래 코드를 입력해준다. 단 Package.swift는 꼭 swift-tools-version 항목을 명시해주어야 한다. swift-tools-version의 버전은 PackageDescription 라이브러리의 버전을 의미한다. // swift-tools-version:5.1 import Pa..
· iOS
iOS 라이브러리 제작기 iOS에서의 의존성 관리도구 현재 iOS 애플리케이션 개발 환경에서 쓰여지는 의존성 관리도구는 아래 3가지 정도가 있다. Cocoapods(코코아팟) Carthage(카르타고) Swift Package Manager(스위프트 패키지 매니저) 참고자료 https://yagom.net/courses/open-source-library/ https://guides.cocoapods.org/making/index.html 코코아팟 라이브러리 제작 코코아팟 프로젝트 생성 pod lib create StepProgressIndicatorView 원하는 디렉토리 안에서 pod lib create {라이브러리명} 명령어를 실행한다. 프로젝트 설정 프로젝트 생성에 앞서 플랫폼, 언어, 데모 앱 ..
· iOS
최근에 컬렉션 뷰를 활용한 무한 스크롤링 배너를 구현하다가 문득 이 UICollectionView의 기본 개념이 부족하다는 생각이 들었습니다. 여태까지는 별 문제없이 써왔지만 제대로 알고 쓰는 것이 추후 뷰 구현 시 설계에 대해 고민하는 시간을 많이 줄여줄 것으로 생각되어 간단하게라도 기초를 정리해보고자 합니다. UICollectionView는 변경이 가능한 레이아웃을 이용하여 데이터를 view 상에 보여줍니다. 컬렉션 뷰의 레이아웃은 단순한 행, 열 그 이상의 기능을 수행하는데 각 셀의 레이아웃을 동적으로 변경할 수도 있습니다. 컬렉션 뷰는 모두 사용자에게 정렬 된 데이터를 제공한다는 점에서 테이블 뷰와 다소 관련이 있습니다. 테이블 뷰의 구현은 인덱스 경로, 셀 및 뷰 재활용 사용에있어 표준 컬렉션 ..
빵판 AKA 브레드보드
'iOS' 카테고리의 글 목록