Skip to content

v0.0.4

Choose a tag to compare

@LESANF LESANF released this 15 Sep 04:26
· 83 commits to master since this release
6617bdc

Warning

여전히 PoC 입니다. 0.0.x 는 API·구조 안정성을 약속하지 않습니다.

iOS 27 SDK 에서 앱이 실행되지 않던 것을 고쳤습니다. Xcode 27 을 쓰는 사람에게는 이게
전부입니다 — 그 전 버전은 빌드는 되지만 실행이 안 됩니다.

iOS 27 SDK — UIScene 생명주기

Apple 이 UIScene 채택을 필수로 만들었습니다. SDK 57 템플릿은 AppDelegate 가 window 를
만들기 때문에 빌드는 성공하고 실행에서 죽습니다.

Application failed to launch: UIScene life cycle is required for apps built with this SDK.

빌드가 통과한다는 게 함정입니다. v0.0.3 에서 Xcode 27 을 확인했다고 적었는데, 그때 본 건
DeviceHub 대체와 컴파일뿐이었고 둘 다 이 문제를 건드리지 않습니다.

런타임 클래스는 upstream expo/expo#50026 에서
그대로 가져왔습니다. 그게 공식 백포트 PR 이고 sdk-57 을 타깃하며 아직 열려
있습니다.
커밋 008a21874e177800f983be16f5c14315e96f33fd 기준이고 손으로 고친 것은
없습니다.

patches/expo@57.0.22.patch ExpoAppSceneDelegate · ExpoReactNativeFactoryProvider · SceneEventForwarder
plugins/with-ios-scene.ts Info.plist scene manifest · AppDelegate 에서 window 생성 제거 · SceneDelegate 선언

플러그인은 앵커를 못 찾으면 throw 합니다. 조용히 빠지면 실행에서야 드러나고, 그게 가장
찾기 어려운 자리입니다.

SDK 54 에서는 네 패키지를 패치해야 했지만 57 은 하나로 끝납니다 — SceneGeometry 가
expo-modules-core 57 에 이미 있고, @expo/cli 57.0.24 에 DeviceHub fallback 이 들어
있고(#46757), Pod 배포타깃 상향도 Expo 가
prebuild 에서 직접 합니다.

patches/README.md
에 출처와 제거 조건을 적어 뒀습니다 — #50026 이 57.0.x 에 들어오면 패치와 플러그인을
같이 지웁니다.

앱 아이콘 배지 위치

app-icon-badge 는 1024×1024 고정 오버레이를 (0,0) 에 합성합니다. 아이콘이 1254px
이라 배너가 폭의 81.7% 만 덮고 하단이 아니라 y 67~82% 에 앉아 아이콘 본체를 가로질렀습니다.

전 후
배너 폭 81.7%, y 67~82% 전체 폭, 하단
리본 모서리가 일찍 잘림 우상단 모서리에 붙음

icon.png·adaptive-icon.png 를 1024×1024 로 맞췄습니다 — Apple 이 요구하는 크기이기도
합니다. sips 로 리사이즈했고 손으로 만지지 않았습니다.

검증

prebuild     Info.plist scene manifest · AppDelegate 수정 · SceneDelegate 생성 확인
pod install  28 pods
xcodebuild   ** BUILD SUCCEEDED **  error 0  (Swift 3개 컴파일 로그 확인)
expo-doctor  18/18
check-all    lint · tsc · 64 테스트

아직 검증되지 않은 것

런타임입니다. 그리고 이번에는 그게 더 중요합니다 — scene 생명주기에서는 링크가
AppDelegate 로 오지 않습니다.
SceneEventForwarder 가 넘기므로 콜드
Linking.getInitialURL() 보존이 첫 실행에서 확인할 항목입니다. 이 템플릿의 핵심이 딥링크
큐라 다른 앱보다 영향이 큽니다.

그 외: splash → tabs 이음새 · InsetView 탭 덜컹거림 · 푸시 3경로 · iOS NSE 미포함.

호환성

Expo SDK 57 (~57.0.22, expo 패치 적용)
React Native 0.86.3
Xcode 27 확인 (26.4+ 요구)
패키지 매니저 pnpm 11.10.0

시작하기

npx create-lesa-app my-app

전체 변경 내역

CHANGELOG.md ·
v0.0.3...v0.0.4