StreetComplete iOS 버전, 공개 베타 시작

4 hours ago 4

StreetComplete의 첫 iOS 빌드가 TestFlight에 공개돼 테스트에 참여할 수 있게 됨 기존 Kotlin 코드를 최대한 유지하면서 Kotlin Multiplatform과 Compose Multiplatform으로 앱 로직과 UI를 공유하는 방식으로 이식함 Android/Java 의존성 교체와 전체 UI의 Compose 재구현이 주요 작업이었으며, 지도 렌더러도 유지보수가 중단된 tangram-es에서 MapLibre-native로 교체함 현재 iOS 15.x에서는 지도가 전혀 작동하지 않으며, 입력 폼은 지도 탭이 아닌 뒤로 가기 제스처로만 취소할 수 있음 개발 조율 이슈는 첫 정식 공개 릴리스까지 유지하며, 버그를 신고하기 전에 기존 보고 내용을 확인하도록 요청함 TestFlight 공개와 현재 제약 2026년 9월 30일 첫 StreetComplete iOS 빌드를 TestFlight에 공개함 알려진 문제는 수정 중이며, 현재 다음 제약이 있음 입력 폼 취소는 뒤로 가기 제스처로만 가능하고, 지도의 아무 곳이나 눌러 취소할 수 없음 iOS 15.x에서는 지도가 전혀 작동하지 않음 이미 보고된 다른 버그도 있으므로 새 신고 전에 기존 이슈를 확인해야 함 iOS 개발을 조율하는 #5421 이슈는 첫 정식 공개 릴리스까지 열어둘 예정임 단일 Kotlin 코드베이스를 유지하는 이식 전략 이 이슈는 논의와 조사 작업이 쌓인 #1892를 대체하는 iOS 이식 총괄 이슈임 앱은 100% Kotlin으로 작성됐고, 의존성도 상당수가 순수 Kotlin 라이브러리임 Kotlin은 Swift와 유사한 현대적 언어이며 JavaScript나 기계어로 변환할 수 있어, Kotlin Multiplatform을 이용한 iOS 이식이 가능함 UI 공유에는 Compose Multiplatform을 사용함 Jetpack Compose의 포크/확장으로 API가 대체로 같으며, 초기 계획 본문에서는 iOS 지원 상태가 알파에서 베타로 갱신됨 SwiftUI나 Flutter처럼 UI 전체를 코드로 정의하는 반응형 방식이며, 기존 UI는 점진적으로 모두 다시 구현해야 함 목표는 플랫폼별 코드를 최소화하고 단일 코드베이스를 유지해, 이후 유지보수 부담이 크게 늘지 않도록 하는 것임 Every Door가 사용하는 Flutter를 선택하면 전체 코드를 Dart로 다시 작성해야 하지만, 이 방식은 기존 Kotlin 코드를 대부분 유지할 수 ...

Read Entire Article