728x90

분류 전체보기 289

[Fastlane] build_app action에서 ARCHIVE FAILED 에러 해결방법

안녕하세요. 요즘 Fastlane으로 앱 배포 자동화 환경을 구축하고 있는데 시행착오가 좀 많네요...;;; 이번엔 build_app action(fastlane에선 action이라고 부르는 것 같더라구요?)에서 경험한 이슈와 해결방법 공유드리려고 합니다. Xcode 14에서 build_app action을 사용했더니 ARCHIVE FAILED 에러가 발생했습니다 에러 로그도 애매모호하고..... 암튼 이런 로그가 찍혀있었습니다. (정확한 방법인진 모르겠지만...) Podfile에 아래 설정을 추가하니까 해결되었습니다. 참고해 주세요! # 참고 - https://docs.fastlane.tools/actions/build_app/ - https://stackoverflow.com/questions/742..

TroubleShooting 2023.11.05

script 내부 명령이 실패할 때 젠킨스 빌드를 실패 처리하는 방법

안녕하세요. 젠킨스 빌드 스크립트 안에서 fastlane을 사용하고 있는데, fastlane에서 실패해도 젠킨스는 fastlane 이후의 스크립트를 실행하고 성공 처리를 하더라구요. 만약 명령어 도중에 실패했을 때 젠킨스 빌드도 실패처리하고 싶으면, 빌드 스크립트 맨 위에 -e 옵션을 넣어보세요. # 참고 https://throwbug.com/1034/%EC%A0%A0%ED%82%A8%EC%8A%A4-shell-%EC%8B%A4%ED%96%89%EC%8B%9C-%EC%97%90%EB%9F%AC%EA%B0%80-%EB%82%98%EB%8D%94%EB%9D%BC%EB%8F%84-%EB%B9%8C%EB%93%9C%EA%B0%80-%EC%84%B1%EA%B3%B5%ED%95%A9%EB%8B%88%EB%8B%A4..

기타 2023.11.05

script에서 sudo 명령어에 비밀번호 넘기는 방법

안녕하세요. 터미널에서 sudo 명령어를 사용하면 비밀번호를 직접 입력해야 하는데요. 만약 jenkins 빌드 스크립트에서 sudo 명령어를 사용하면 비밀번호를 입력할 수 없기 때문에 jenkins 빌드 에러가 발생합니다. 이럴 땐 아래 예시처럼 echo와 -S 옵션을 사용하면 비밀번호를 직접 입력하지 않아도 sudo 명령어를 사용할 수 있습니다. (stdin으로 비밀번호를 직접 읽어서 sudo 명령어로 넘겨주는 것 같아요.) [주의] 비밀번호를 작은따옴표로 감싸줘야 합니다. 비밀번호에 특수문자가 들어갈 수도 있기 때문에 항상 작은따옴표로 감싸주는 것이 안전합니다. (큰 따옴표는 안됩니다.) # 참고 - https://stackoverflow.com/questions/11955298/use-sudo-wi..

기타 2023.11.04

명령형 UI, 선언형 UI

안녕하세요. 이번엔 명령형 UI와 선언형 UI의 개념이 뭔지 알아볼게요. (전 여기 유툽 영상으로 개념 이해하는데 도움이 많이 되었어요. 영상 보시는 것도 추천드려요!) 많은 분들이 UIKit은 명령형 UI이고 SwiftUI는 선언형 UI라는 것은 알고 계실 거예요. 그럼 명령형 UI가 뭐고 선언형 UI가 뭘까요? 명령형 UI와 선언형 UI가 뭔지 알아보기 전에 우선 명령형 프로그래밍과 선언형 프로그래밍을 알면 좋겠죠? > 👨‍💻 : 명령형 프로그래밍, 선언형 프로그래밍이 뭐야? > 🖥️ : 명령형 프로그래밍은 어떤 일을 어떻게(How) 할지 명령하는 것이고, 선언형 프로그래밍은 무엇을(What) 해야 하는지 시키는 것이야. > 👨‍💻 : 그럼 명령형 UI, 선언형 UI는 뭐야? > 🖥️ : 명령형 UI..

기타 2023.10.29

[Fastlane] xcodes install '14.3' --update --select에서 멈출 때 해결방법

안녕하세요. Fastlane으로 AppStore 앱 업로드가 안 되는 경우에 대한 원인과 해결방법 공유할게요. # 현상 제 PC에는 Xcode 14.1, Xcode 14.3이 깔려있고, Xcode default 버전은 14.1 이었습니다. 앱을 Xcode 14.3으로 개발했기 때문에, Fastlane에는 Xcode 14.3으로 빌드하라고 명시해 뒀는데요. 이러니까 Fastlane을 실행하면 아래와 같은 로그를 출력한 상태에서 멈추더라구요. # 원인 원인은 생각보다 단순한 것 같아요. 제 Xcode default 버전은 14.1 이라고 했죠? 그럼 터미널에서 xcodebuild -version을 호출하면 14.1이 나올 것입니다. 근데 Fastlane에선 Xcode 14.3으로 빌드하려고 하니까, Xcod..

TroubleShooting 2023.10.29

아티산 케이스 제작

안녕하세요. 아티산 키캡을 이것저것 모으다가... 갑자기 아티산 키캡 케이스도 원해! 라는 생각이 들어라구요ㅋㅋ 완제품을 사도 되지만... 알리발 케이스는 안 예쁘고 그렇다고 알루로 된 제품은 너무 비싸더라구요. (그리고 직접 만드는게 재밌잖아요?!) 인터넷에 이것저것 찾아보니까 공개 3D 도면이 있는 케이스를 발견했습니다ㅎㅎㅎ (아크릴 판으로 먼지 유입도 막을 수 있다늬... 완벽해...) 바로 지인한테 부탁해서 뽑아달라고 부탁했어요. 기쁨도 잠시... 체리 프로파일의 키캡은 딱 맞았지만 SA 프로파일의 키캡은 안 맞더라구요.... 그래서 아트나이프로 열심히 다듬어줬습니다. 3시간 정도....?...;;;; 남은 구멍이 7개니까... 7 x 3 = 21시간....? 21시간은 에바지..ㅋㅋ.. 회사 동..

취미 2023.10.28

Lookin 맛보기

안녕하세요. 이번에 회사님의 도움을 받아 Let's Swift 2023에 참석했어요!! 행사에서 많은 것을 배우고 느낄 수 있었는데, 그 중에서도 Lookin이라는 것을 처음 알게 되어 가볍게 알아보려고 합니다ㅎㅎ # Lookin이 뭐야? 쉽게 말해서, Lookin은 Xcode의 View hierarchy 창과 비슷한 UI를 제공하면서 런타임 중에 UI 속성을 수정할 수 있게 도와줍니다. # 사용법 1) Lookin 홈페이지에서 Download 버튼을 눌러서 Lookin macOS 앱을 설치합니다. 2) Xcode 프로젝트에 CocoaPods으로 Lookin iOS Framework를 추가합니다. (SPM도 지원하지만 CocoaPods 사용을 권장한다고 해요!) [주의] Lookin 모듈을 Release..

iOS 2023.10.16

TCA(10) : Custom Dependency

안녕하세요. 이번엔 TCA의 Custom Dependency에 대해 알아볼게요. (TCA 1.2.0 기준으로 작성했으며, 전체 코드는 여기를 봐주세요!) 저번 TCA(9) : Dependency 글에서 알아본 TCA 자체가 제공하는 Dependency 모듈 외에도 TCA는 서버 API 호출과 같은 사용자가 직접 정의한 모듈들에 대한 의존성 주입도 간편하게 수행할 수 있습니다. (저는 그냥 편하게 custom dependency라고 부르려구요..ㅎ) TCA에서 사용자 정의 모듈을 의존성 주입하려면 크게 3가지 단계를 거쳐야 합니다. 1) DependencyKey를 준수하는 Key 타입 추가 2) DependencyValues를 확장한 변수 정의 3) Reducer에 @Dependency 변수 추가 위 방법..

SwiftUI 2023.10.10