빌드·배포 면접 질문
Xcode 빌드·SPM·코드 사이닝·TestFlight·App Store·CI/CD. 실제 iOS 면접에서 나온 42문항입니다.
- 빌드·배포주관식
의존성 관리 도구 비교
CocoaPods, Carthage, Swift Package Manager는 의존성을 프로젝트에 넣는 방식이 어떻게 다른가요?
#spm #cocoapods #carthage #dependency-manager
- 빌드·배포객관식
Swift Package Manager
Swift Package Manager에 대해 옳은 설명을 모두 고르세요.
#spm #package-swift #binary-target
- 빌드·배포주관식
브랜치 전략
Git 브랜치를 왜 나눠 쓰나요?
#git #branching #trunk-based #gitflow
- 빌드·배포주관식카카오
코드 사이닝 기본 요소
번들 ID, 인증서, 프로비저닝 프로파일, Entitlements가 각각 무엇이고 서로 어떻게 연결되는지 설명해 주세요.
#code-signing #bundle-id #certificate #provisioning-profile
- 빌드·배포주관식
OS 메이저 업데이트 대응
WWDC에서 새 iOS 메이저 버전이 발표되면 팀에서는 어떤 순서로 대응하나요?
#wwdc #ios-version #deployment-target #beta
- 빌드·배포객관식TikTok
CocoaPods install vs update
CocoaPods를 쓰는 프로젝트에서 pod install과 pod update의 차이로 옳은 것을 모두 고르세요.
#cocoapods #podfile #lockfile #dependency
- 빌드·배포객관식카카오
서명 오류 진단
동료 Mac에서는 되는데 내 Mac에서 아카이브하면 Provisioning profile "AppStore Profile" doesn't include signing certificate "Apple Distribution: ..." 에러가 납니다. 가장 가능성 높은 원인은?
#code-signing #provisioning-profile #certificate #xcode-error
- 빌드·배포주관식카카오
배포 방식 비교
Development, Ad Hoc, Enterprise(In-House), App Store(TestFlight 포함) 배포 방식은 서로 어떻게 다른가요?
#distribution #ad-hoc #enterprise #testflight
- 빌드·배포객관식
Deployment Target과 SDK
Deployment Target이 iOS 16인 앱에서 iOS 17에 추가된 API를 쓰려고 합니다. 컴파일과 런타임 모두 안전한 방법은?
#deployment-target #sdk #available #compatibility
- 빌드·배포객관식
TestFlight
TestFlight에 대해 옳은 설명을 모두 고르세요.
#testflight #beta #app-store-connect
- 빌드·배포주관식
빌드 환경 분리
개발·스테이징·프로덕션 서버를 하나의 프로젝트에서 나눠 빌드하려 합니다. 스킴, Build Configuration, xcconfig를 어떻게 구성하겠습니까?
#xcconfig #scheme #build-configuration #environment
- 빌드·배포객관식
Debug vs Release 구성
Xcode 기본 Debug 구성과 Release 구성의 차이로 옳은 것을 모두 고르세요.
#build-configuration #optimization #assert #testability
- 빌드·배포주관식
버전과 빌드 번호
CFBundleShortVersionString과 CFBundleVersion은 어떻게 다른가요?
#version #build-number #cfbundleversion #marketing-version
- 빌드·배포객관식
빌드 번호 규칙
버전 3.2.0, 빌드 120을 TestFlight에 올린 뒤 버그를 고쳐 다시 올리려 합니다. App Store Connect가 업로드를 받아 주는 조합은?
#build-number #testflight #app-store-connect
- 빌드·배포객관식카카오
App Store 배포 서명 요건
App Store에 제출할 빌드를 서명하는 데 필요한 것을 모두 고르세요.
#code-signing #distribution-certificate #provisioning-profile #app-store
- 빌드·배포객관식Mastercard
APNs 인증서·키 발급
푸시 서버가 쓸 APNs 인증 자료를 준비합니다. 옳은 설명을 모두 고르세요.
#apns #certificate #p12 #p8
- 빌드·배포객관식Pinduoduo
.ipa 구조
아카이브해서 내보낸 .ipa 파일의 압축을 풀어 봤습니다. 구조에 대해 옳은 설명을 모두 고르세요.
#ipa #bundle #code-signing #frameworks
- 빌드·배포주관식Flipkart
베타 테스트 운영
하이어링 매니저가 이력서를 보며 묻습니다. "베타 테스트와 CI/CD는 어떻게 운영했나요?" TestFlight 기반 베타 프로그램을 어떤 그룹 구성으로 운영했는지, 어떤 빌드를 언제 누구에게 보냈는지 설명해 주세요.
#testflight #beta #feedback #release-process
- 빌드·배포주관식카카오뱅크커뮤니티 전언
fastlane 기반 CI/CD 구성
Jenkins(또는 GitHub Actions)와 fastlane으로 iOS CI/CD를 구성한다면 어떤 레인(lane)을 어떻게 나누겠습니까?
#fastlane #match #jenkins #ci-cd
- 빌드·배포주관식Tokopedia커뮤니티 전언
Xcode 컴파일 시간 단축
이커머스 iOS 앱의 clean build가 15분을 넘겨 CI와 로컬 모두 느립니다. 어느 단계가 느린지 무엇으로 측정해 개선 우선순위를 정하겠습니까?
#xcode #build-time #modules #incremental-build
- 빌드·배포주관식카카오모빌리티커뮤니티 전언
모바일 배포 자동화
택시 호출 앱의 iOS 배포가 한 사람의 Xcode 클릭에 의존합니다. CI에서 서명부터 TestFlight 업로드까지 자동으로 돌리려면 파이프라인을 어떻게 구성하겠습니까?
#ci-cd #testflight #signing #automation
- 빌드·배포주관식
iOS CI/CD 파이프라인
iOS 앱의 CI/CD 파이프라인을 처음부터 설계한다면, PR마다 도는 파이프라인은 어떤 단계로 구성하겠습니까?
#ci-cd #fastlane #xcode-cloud #testflight
- 빌드·배포주관식
App Store 심사 준비
첫 App Store 제출을 앞두고 있습니다. 심사 리젝을 줄이기 위해 제출 전에 무엇을 점검하겠습니까?
#app-review #rejection #guidelines #privacy
- 빌드·배포객관식
Privacy Manifest
PrivacyInfo.xcprivacy(Privacy Manifest)에 선언하는 항목을 모두 고르세요.
#privacy-manifest #required-reason-api #privacyinfo #app-store
- 빌드·배포주관식
빌드 시간 단축
클린 빌드 15분, 한 줄 고쳐도 증분 빌드 2분이 걸리는 프로젝트를 받았습니다. 어디부터 측정하겠습니까?
#build-time #incremental-build #modularization #type-checking
- 빌드·배포주관식
CI 코드 사이닝
CI 서버에서 아카이브와 App Store 업로드를 자동화하려 합니다. 인증서·프로비저닝 프로파일·App Store Connect 인증을 CI에서 어떻게 안전하게 다루겠습니까?
#code-signing #fastlane-match #ci #keychain
- 빌드·배포객관식
xcodebuild 아카이브·내보내기
CI에서 xcodebuild archive로 만든 .xcarchive를 App Store 업로드용 .ipa로 만들 때 필요한 ExportOptions.plist의 역할로 옳은 것은?
#xcodebuild #archive #export-options #ipa
- 빌드·배포주관식
SPM 의존성 버전 관리
SPM에서 의존성 버전 규칙(from:, upToNextMinor, exact, branch)을 어떤 기준으로 골라 쓰나요?
#spm #semantic-versioning #package-resolved #dependency-resolution
- 빌드·배포주관식
출시 리스크 관리
App Store에는 롤백이 없습니다. 새 버전에 치명적 버그가 있을 때 피해를 최소화하려면 출시 과정에 어떤 장치를 두겠습니까?
#phased-release #rollback #expedited-review #feature-flag
- 빌드·배포주관식Gojek
모노레포 vs 멀티레포
온사이트 질문입니다. "모노레포와 여러 개의 작은 레포 중 하나를 골라야 한다면 무엇을 고르고 왜 그렇게 하겠어요?" iOS 앱과 사내 모듈(디자인 시스템·네트워킹·기능 모듈) 조직을 가정하고 답해 주세요.
#monorepo #multi-repo #spm #ci
- 빌드·배포주관식Zomato
Tuist 프로젝트의 SPM 의존성
Tuist로 생성하는 프로젝트에 서드파티 라이브러리를 SPM으로 넣으려면 어떻게 구성하나요?
#tuist #spm #dependencies #project-generation
- 빌드·배포주관식Meituan
컴파일에서 실행 파일까지
Swift 소스 파일이 iPhone에서 실행되는 바이너리가 되기까지 어떤 단계를 거치나요?
#compiler #llvm #linker #static-library
- 빌드·배포주관식Baidu
심사 없는 핫픽스와 동적 코드 금지
출시된 앱에 치명적인 버그가 있는데 App Store 심사를 기다릴 수 없습니다. 과거 중국 앱들이 쓰던 JSPatch 같은 동적 코드 패치를 Apple은 왜 금지했고 어떻게 검출했나요?
#hotfix #feature-flag #remote-config #app-review
- 빌드·배포주관식Alibaba Group
A/B 실험과 전량 롤아웃
앱에 A/B 실험 기능을 넣으려 합니다. 사용자 배정은 어디서 어떻게 하겠습니까? 클라이언트 관점의 설계를 말해 주세요.
#ab-test #experiment #feature-flag #rollout
- 빌드·배포주관식신한카드커뮤니티 전언
Tuist 모듈화 프로젝트 구성
Tuist로 모듈화 프로젝트를 처음부터 구성해 본 경험을 묻습니다. 모듈을 어떤 단위와 계층으로 나눴는지 설명해 주세요.
#tuist #modularization #project-generation #build-cache
- 빌드·배포주관식밀리의서재커뮤니티 전언
App Store Connect API 배포 자동화
TestFlight 업로드부터 심사 제출·단계적 출시까지 사람 손 없이 돌리려 합니다. App Store Connect API로 무엇까지 자동화할 수 있나요?
#app-store-connect-api #fastlane #spm #automation
- 빌드·배포주관식여기어때커뮤니티 전언
Tuist 모듈 의존성
숙박 예약 앱의 Tuist 멀티모듈 프로젝트에서 Feature 모듈들이 서로의 구현 모듈을 직접 import해 하나만 고쳐도 전체가 다시 빌드됩니다. 모듈 의존 구조를 어떻게 바꾸겠습니까?
#tuist #modules #dependency-graph #interface
- 빌드·배포주관식더스윙커뮤니티 전언
Fastlane 릴리스 재현성
공유 킥보드 앱을 여러 사람이 각자 맥에서 Fastlane으로 배포하다 보니 빌드 번호와 환경 설정이 사람마다 달라집니다. 누가 돌려도 같은 결과가 나오게 하려면 lane의 입력을 어떻게 고정하겠습니까?
#fastlane #github-actions #release #artifact
- 빌드·배포주관식
대규모 팀 CI/CD 설계
iOS 개발자 100명 이상이 하나의 앱을 만드는 조직입니다. 하루 수백 개 PR이 들어올 때 CI/CD를 어떻게 설계해야 main이 깨지지 않고 배포 주기를 유지할 수 있을까요?
#ci-cd #monorepo #merge-queue #modularization
- 빌드·배포주관식
정적 vs 동적 링킹
앱이 동적 프레임워크 40개를 임베드하고 있습니다. 정적 링크로 바꾸면 무엇이 좋아지고 무엇이 나빠지나요?
#static-library #dynamic-framework #mergeable-libraries #dyld
- 빌드·배포객관식
XCFramework
사내 SDK를 소스 비공개 바이너리로 배포하려 합니다. XCFramework가 필요하거나 함께 요구되는 것을 모두 고르세요.
#xcframework #binary-distribution #library-evolution #sdk
- 빌드·배포주관식
대규모 프로젝트 빌드 시스템
모듈 100개 이상인 앱에서 project.pbxproj 충돌과 느린 빌드로 팀이 고통받고 있습니다. 프로젝트 생성 도구(XcodeGen/Tuist)와 Bazel 같은 빌드 시스템 중 무엇을 어떤 기준으로 선택하겠습니까?
#tuist #xcodegen #bazel #pbxproj