크라우니AI iOS 앱 MVP — 시뮬레이터 E2E 완료
개요
앱스토어용 크라우니AI(크라우니 생태계 전용 브라우저) iOS판 MVP. 시작화면은 네이티브(UIKit UICollectionView), 서비스 진입은 WKWebView 브라우저. 스토리보드 없이 단일 .m 파일(ObjC/UIKit) + 패키징 스크립트 + 한선씨 동반 코어로 구성.
무엇을 했는지
크라우니AI-iOS.m — AppDelegate(윈도우 직접생성, SceneDelegate 없음) + 시작 그리드(CAStartViewController, PSV 19카드 렌더) + 브라우저(CABrowserViewController, WKWebView+상단바) + crownyai:// 딥링크(application:openURL:options:).
Info.plist — org.crowny.crownyai, CFBundleURLTypes(crownyai 스킴), MinimumOSVersion 16.0, UILaunchScreen 빈 dict.
아이폰-패키징.sh — xcrun clang 직빌드(iphonesimulator SDK, arm64) → 번들 조립 → ad-hoc codesign → 시뮬레이터(iPhone 17 Pro, UDID 5948F2C2-BB0D-4740-AFCF-342B1CE2E2E2) 설치/실행.
크라우니AI-iOS.한선 — 동반 3함수(앱카드파싱/딥링크URL파싱/URL보정) + 셀프테스트, hanseonc_high STRICT 컴파일 경고0 + crownyc run 실행 확인.
E2E 검증 결과
- 빌드 에러 0 (경고 없음).
simctl launch PID 안정(3230 유지), launchctl list에 상주 확인 — 크래시 없음.
- 스크린샷1(
/tmp/crownyai-ios-시작.png) 육안 확인: 19개 한글 카드(워드·시트·아카데미·CAD·홀 등) 정상 렌더, 골드 포인트라인, 카드 패널/보더/텍스트 색상 토큰 일치. (1차 시도에서 pathForResource가 PSV를 못 찾아 그리드가 빈 화면이었던 버그 발견 → 번들 경로 직접 조립 폴백 추가로 수정)
- 딥링크 E2E:
simctl openurl crownyai://open?url=https%3A%2F%2Fcad.crowny.org → 시스템 "열기" 확인 다이얼로그 발생(외부 오픈 표준 동작) → cliclick으로 탭 → 스크린샷2(/tmp/crownyai-ios-브라우저.png) 육안 확인: 상단바(← 뒤로/URL필드/홈)+WKWebView에 실제 Crowny CAD 페이지(파라미터·재질·피처 히스토리) 로드 확인.
- 홈 복귀는 코드 리뷰로 확인(
onHomeTapped → popToRootViewControllerAnimated).
관련 파일
- /Users/ef/CrownyBrowser/ios/크라우니AI-iOS.m
- /Users/ef/CrownyBrowser/ios/크라우니AI-iOS.한선
- /Users/ef/CrownyBrowser/ios/Info.plist
- /Users/ef/CrownyBrowser/ios/아이폰-패키징.sh
- /Users/ef/CrownyBrowser/ios/앱카드-iOS.psv (기존, 무수정)
- /tmp/crownyai-ios-시작.png, /tmp/crownyai-ios-브라우저.png (스크린샷)
잔여 이슈
- 앱스토어 실배포는 Xcode 프로젝트 래핑+아카이브+Apple Distribution 인증서 필요(clang 직빌드는 시뮬레이터 로컬테스트 전용) — 동시 세션이
ExportOptions.plist+배포런북.md로 이 트랙 착수 중(팀ID LQ83M5TL9S 확인됨, Apple Distribution 인증서 미보유).
- 다크모드 대응 미구현(지시에 따라 MVP 범위에서 의도적 생략, 라이트 고정).
- 실기기 테스트 미실시(시뮬레이터만).
크라우니코드
lookup/search HIT 0건 / MISS 3건(딥링크 파싱, PSV 파싱, URL 스킴 — 기존 패턴 없음, 신규 생성) / learn 추가 3건(iOS앱카드PSV파싱, iOS딥링크크라우니AI파싱, iOSURL스킴보정https).