빌드·배포
심사 없는 핫픽스와 동적 코드 금지
출시된 앱에 치명적인 버그가 있는데 App Store 심사를 기다릴 수 없습니다. 과거 중국 앱들이 쓰던 JSPatch 같은 동적 코드 패치를 Apple은 왜 금지했고 어떻게 검출했나요?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
출시된 앱에 치명적인 버그가 있는데 App Store 심사를 기다릴 수 없습니다. 과거 중국 앱들이 쓰던 JSPatch 같은 동적 코드 패치를 Apple은 왜 금지했고 어떻게 검출했나요?
JSPatch는 서버에서 받은 JavaScript를 JavaScriptCore로 실행해 Objective-C 런타임(method swizzling·동적 메서드 추가)으로 기존 메서드를 바꿔치기했다. Apple은 심사 가이드라인 2.5.2(다운로드한 코드로 앱 동작 변경 금지)로 금지하고, 정적 분석으로 JSPatch 심볼·JSContext+런타임 API 조합을 검출해 경고 메일을 보냈다.
빌드·배포주관식심화
앱에 A/B 실험 기능을 넣으려 합니다. 사용자 배정은 어디서 어떻게 하겠습니까? 클라이언트 관점의 설계를 말해 주세요.
#feature-flag #remote-config
빌드·배포주관식심화
첫 App Store 제출을 앞두고 있습니다. 심사 리젝을 줄이기 위해 제출 전에 무엇을 점검하겠습니까?
#app-review
빌드·배포주관식심화
App Store에는 롤백이 없습니다. 새 버전에 치명적 버그가 있을 때 피해를 최소화하려면 출시 과정에 어떤 장치를 두겠습니까?
#feature-flag
아키텍처주관식심화
운영 중인 UIKit 주문 기능의 거대한 ViewController를 한 번에 다시 쓰지 않고 구조를 개선해야 합니다. 배포 가능한 작은 단계로 나눈다면 어떤…
#feature-flag