본문 바로가기
반응형

전체 글94

[Swift] inout 파라미터 inout 파라미터는 무엇이고, 언제 사용할까?일반적인 Swift함수의 파라미터는 상수이다. 고로, 변경될 수 가 없다.그러나, inout파라미터를 사용하면 함수내에 직접 변수를 변경하겠다는 의미로 사용된다. inout 파라미터는 Swift에서 함수가 호출될 때 해당 파라미터를 수정할 수 있도록 허용하는 기능이다.inout 키워드를 사용하면 함수 내부에서 파라미터를 수정할 수 있으며, 수정된 값이 함수 호출 이후에도 유지된다.func addOne(inout num: Int) { num += 1}var myNum = 5addOne(num: &myNum)print(myNum) // 출력: 6inout 원리함수가 호출되면 매개변수로 넘겨진 변수가 복사된다.함수 몸체에서 복사한 값을 수정한다.함수가 .. 2024. 5. 28.
[AppStore 배포 이슈!] ITMS-91053: Missing API declaration 2023년 가을부터 Apple 필수 API를 사용하는 앱을 App Store Connect에 업로드할 때 이메일을 받게 된다. 해당 API 사용 이유를 앱의 PrivacyInfo 파일에 설명하지 않으면, 2024년 5월부터 앱이 통과 되지 않는다. 앱 또는 제3자 SDK가 사용하는 Apple 필수 API의 각 카테고리에 대해, 앱 또는 제3자 SDK의 PrivacyInfo 파일에 있는 NSPrivacyAccessedAPITypes 배열에 추가해야 한다. 해당 내용의 메일을 받은 사람들이 많은 것 같다. 나 또한 처음 메일을 받고 어? 싶었지만, 별거 아니였다. ㅎ.ㅎ cmd + n 파일추가 눌러서 privacy를 검색하면 바로 나올것입니다. 프로젝트 파일에서 PrivacyInfo.xcprivacy를 생성.. 2024. 3. 22.
[iOS] CI/CD 도입 Fastlane + AzureDevOps [2] AzureDevOps CI환경에서의 Fastlane실행 구축들어가기 앞서 전체적인 흐름을 설명해드리겠습니다! 크게 보면 Auzre DevOps CI환경에서 Fastlane 실행 -> Fastlane이 빌드 후, 배포 하는 방식으로 진행됩니다.AzureDevOps Pipeline 실행Pipeline 1단계 : 원격 Git 리포지토리에서 특정 커밋으로 코드를 가져와(checkout) 로컬 리포지토리를 업데이트하는 작업. 이 단계에서는 자동화된 빌드 및 테스트 작업을 시작하기 전의 초기 과정입니다Pipeline 2단계 : CI환경에서의 Xcode 버전 선택, 로컬에서 돌아가는 버전과 CI환경에서 돌아가는 버전을 통일 시켜야합니다. 통일 되지 않을 경우, Swift버전 문제 혹은 라이브러리 간의 버전 이슈로 .. 2024. 3. 20.
[iOS] CI/CD 도입 Fastlane + AzureDevOps [1] 왜? CI / CD 를 도입할려고 했어요?기존 앱 배포하는게 너무 귀찮은 과정이 많아서...주위에서 CI/CD에 대한 말을 많이 들어서...그리고.. 멋있어 보여서 ㅎ.ㅎ기존 프로세스는 얼마나 귀찮은 과정을 거친걸까? ⏳기존 배포(심사 요청) 과정버전과 빌드버전을 올린다.3인 이상의 개발자가 동시에 개발할 경우, 1년에 한번씩 프로파일과 인증서를 - 발급받고 공유한다.테스트 코드 실행 (테스트 코드가 사실상 없지만 ㅎ.ㅎ 이제부터 도입하고 열심히 하려고 합니다)Analyze를 실행 -> 기다림 -> 완료Archive 실행 -> 기다림 -> 완료앱스토어 커넥트 들어가서 릴리즈 정보 등 입력하고 심사 요청심사 통과하면 스토어 출시 💻 fastlane 설치하기brew install fastlane 명령어로 .. 2024. 3. 19.
CI/CD 란 무엇일까? CI/CD- 지속적인 통합 / 지속적인 배포 지속적 통합 과 배포지속적 통합(CI)은 코드 변경 사항을 공유 소스 코드 리포지토리에 자동으로 자주 통합하는 사례를 나타낸다지속적 배포 (CD)는 코드 변경 사항의 통합, 테스트, 제공을 나타내는 프로세스로, 두 가지 부분으로 구성되며, 지속적 제공에는 자동 프로덕션 배포 기능이 없는 반면, 지속적 배포는 업데이트를 프로덕션 환경에 자동으로 릴리스를 진행한다.CI/CD를 그러면 사람들이 왜 쓰는걸까?조직이 버그 및 코드 오류를 예방하는 동시에 지속적인 소프트웨어 개발 및 업데이트 주기를 유지하는 데 도움이 된다.How? 어떻게 도움이 되는 걸까릴리스 속도를 단축하여 더 신속하게 제공지속적인 피드백검토시간 단축더 빠른 버그 수정위의 장점들제외하고도 여러 장점들.. 2024. 3. 18.
[Swift] Generics 제네릭 Generics타입에 의존하지 않는 범용코드를 작성할 때, 사용제네릭을 사용하면, 중복을 피하고 코드를 유연하게 작성할 수 있다.Swift의 강력한 특징 중 하나이고 Swift 표준 라이브러리 대부분은 제너릭 코드로 되어 있다예를 들어 Swift의 Array 와 Dictionary 타입은 둘다 제너릭 콜렉션Int 값을 가진 배열, 또는 String 값을 가진 배열 또는 실제로 Swift에서 생성될 수 있는 다른 모든 타입에 대한 배열을 생성 가능 모든 지정된 타입의 값을 저장하기 위한 딕져너리를 생성할 수 있고 해당 타입에 대한 제한은 없다. Generic Function제너릭이 해결하는 문제아래와 같이 일반적으로 a 와 b 가 같은 타입이 아니면 바꾸는 것은 불가능하다. Swift는 타입 안정성 언어이.. 2023. 12. 13.
반응형