본문 바로가기
300x250

iOS115

fastlane/TestFlight App Store Connect에 TestFlight 올리기1. Fastfile 수정기존에 작성되어 있는 불필요한 액션은 지워주자default_platform(:ios)platform :ios do desc "Push a new beta build to TestFlight" # "원하는 설명" lane :beta do # 원하는 이름 do # increment_build_number(xcodeproj: "프로젝트명.xcodeproj") 옵션. 빌드 숫자를 올려줌 build_app(workspace: "프로젝트명.xcworkspace", scheme: "프로젝트명") upload_to_testflight endend이렇게 작성해주고 저장 2. 실행fastlane beta🧨  ERRO.. 2025. 4. 3.
fastlane/ App Store Connect 앱 자동 생성 produce - fastlane docsenable_services Array with Spaceship App Services (e.g. access_wifi: (on|off), app_attest: (on|off), app_group: (on|off), apple_pay: (on|off), associated_domains: (on|off), auto_fill_credential: (on|off), class_kit: (on|off), icloud: (legacy|cloudkit), cusdocs.fastlane.tools fastlane의 Action을 이용하여 App Store Connect에 앱을 생성해본다.  fastlane produce Apple ID를 입력하고 Enter team이 여러.. 2025. 3. 24.
fastlane/ 설치 CD를 프로젝트에 적용하기 위해 가장 많이 사용되는 fastlane을 설치해보려 한다. 1. installbrew가 가장 안전하게 설치 가능하다 하여 brew를 이용하려한다.brew install fastlane이렇게 뜨면 설치 성공만약, 설치에 문제가 있어 삭제하려 한다면brew uninstall fastlane 2. fastlane 적용하기fastlane을 적용하려는 프로젝트의 .xcodeproj 파일이 있는 경로로 이동한 뒤fastlane initfastlane으로 뭘 하려는지 1~4번 까지 선택지를 준다.1. 앱의 스크린샷 자동 생성2. 테스트플라이트에 앱 올리기3. 앱 배포4. 이 외 원하는 작업이 따로 있어서 직접 하겠다. 나는 4번을 선택했다.프로젝트 폴더를 가보면 'fastlane' 폴더,.. 2025. 3. 20.
동시성 프로그래밍 (5) - GCD 사용 시 주의해야할 사항 GCD를 사용할 때에 주의 할 부분과 응용방법! 1.  반드시 메인큐에서 처리해야하는 작업우리는 화면을 그리고 그 화면에 필요한 데이터를 가져오고 가공하는 여러 작업들을 하게 된다.그리고 별도로 스레드로 작업을 분산하지 않는다면 보통은 대부분의 작업이 메인스레드에서 처리가 되는데 메인 스레드는 앱의 UI를 관리하고 사용자와의 상호 작용을 처리하는 매우 중요한 스레드이다. 따라서 UI관련 작업이나 애니메이션 그리고 사용자가 텍스트를 입력할 때 처리해야하는 작업 등은 반드시 메인스레드에서 처리되도록 해야한다.왜 메인 스레드에서 UI 작업을 해야 할까?1) UI 일관성 유지: 여러 스레드에서 동시에 UI를 변경하면 예기치 못한 결과가 발생할 수 있다. 메인 스레드에서만 UI를 변경함으로써 UI 상태를 일관되게.. 2024. 8. 21.
동시성 프로그래밍 (4) - GCD의 종류와 특성 1) main메인 이라는 이름 답게 단 한개가 존재하는 메인스레드를 이용한다serial로 동작하며 보통은 별도 작업을 해주지 않으면 메인스레드에서 처리가 된다print("task")이렇게 단순한 출력 코드 조차도 DispatchQueue.main.sync { print("task")}내부적으론 위와 같이 동작하고 있는 것! 2) globalconcurrent로 동작하며 총 6가지의 옵션을 지정하여 우선순위를 결정할 수 있다. 중요도가 높은 종류의 큐 사용시 iOS가 알아서 작업을 여러 스레드로 배치하고 배터리를 더 집중해서 사용하도록 한다. 만약 낮은 중요도의 큐 안에 더 높은 중요도의 큐 작업을 보내면 작업 수준은 자동으로 더 높은 중요도의 수준으로 변경된다.let queue = DispatchQue.. 2024. 8. 12.
동시성 프로그래밍 (3) - GCD/Operation에 앞서 Synchronous(동기) vs. Asynchonous(비동기)thread1 번에 쌓이는 task들을 대기열(큐)에 보내고 동기 또는 비동기로 처리할지 정하게 되고대기열에 보내진 task들은 자동으로 다른 스레드들로 분산되어 동기 또는 비동기로 처리된다. 동기로 처리 하게 되면 하나의 task가 끝나고 다음 task를 실행하여 순차적으로 큐에 있는 작업들을 처리한다.비동기로 처리 하게 되면 여러 task가 동시에 큐에 있는 작업들을 처리한다.  Serial(직렬) VS Concurrency(동시)이러한 큐에는 두 가지의 특성이 있는데 바로 직렬과 동시 직렬?스레드 하나에 작업을 보내고 순서가 중요한 작업을 처리할 때 사용된다. 동시?여러 스레드를 사용하여 작업을 처리하며 몇 개의 스레드로 분산할지는 시.. 2024. 8. 9.
동시성 프로그래밍 (2) - GCD/Operation에 앞서 그렇다면 동시성 프로그래밍이 필요한 이유는 무엇일까?예를 들어 테이블뷰에 다운로드 받은 이미지들을 보여주어야 할 때하나를 다운 받고 그 다음 것을 다운 받고 끝나면 또 다음 것을 받고..이런식으로 이미지를 받아와 테이블뷰에 보여주도록 처리 한다면, 한참 시간이 지나야만 모든 데이터들을 테이블뷰에서 볼 수 있게 된다. 바로 이럴 때!처리해야하는 task들을 스레드를 사용하여 빠르게 처리하기 위함이다.이미지들을 동시 다발적으로 다운로드 작업을 처리 하도록 한다면 훨씬 빠르게 테이블 뷰를 완성 시킬 수 있을 것이다. task를 스레드로 분산시키는 방법은task를 queue(대기행렬)에 보내 놓기만 하면된다.이렇게 하면 iOS는 알아서 여러 스레드로 분산시켜 동시에 일을 처리 할 수 있게 해준다. 대기열로 작업.. 2024. 7. 24.
동시성 프로그래밍 (1) - GCD/Operation에 앞서 미루고 미루던 동시성에 대해 공부를 시작했다.사실 그동안 아무 생각 없이 써오던 DispatchQueue...대강 그때그때 필요에 의해, 조금씩. 스레드는 뭐구나 동기 비동기는 이런거구나~ 감으로만 알았달까...이제와서야 동시성 처리에 대한 깊이있는 처리를 해보게 되면서, 진작에 좀 공부할 걸 후회를 시작으로 인강을 먼저 찾아보았다.몇 년 전 나온 async await에 대한 내용도 좋지만, 기본기 먼저 다져야겠다는 생각으로 GCD와 Operation을 선택했고.앨런님의 강의를 결재했다. iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션앨런(Allen) | 동시성(Concurrency)프로그래밍 - iOS프로그래밍에서 필요한 동.. 2024. 7. 16.
디버그, 릴리즈 용 사용 값 구분하기 SDK 사용할 때 Key 값들을 아무생각 없이 static let debugKey = 1static let releaseKey = 2이렇게 작성했다가 뒤늦게 아차 싶었다.그래서 디버그와 릴리즈 빌드시 사용하는 값들을 분리하여 읽어 올 수 있는 방법에 대해 찾아보았는데,info.plist에 변수를 작성하여 구분 하는 방법과 클래스를 작성하여 구분하는 방법이 있는 것 같았다.그러나 결국 info.plist를 사용하더라도 파일을 생성하고 값을 불러오는 코드를 작성해야 해서 클래스를 만들어 사용해보기로 했다! protocol APIKey { var aKey: String { get } var bKey: String { get }}디버그와 릴리즈용 클래스 모두 동일한 프로퍼티를 갖도록 프로토콜로 선언해준 뒤 .. 2024. 7. 8.
300x250