전 게시글의 내용대로 첫 사용자 유치 및 서비스 목적이 없어졌기 때문에 고민하다가 이 앱을 일단 내가 사용자가 되기 위한 ‘1인, 소규모 그룹의 사람 단위 생산성 향상’의 용도로 변경하고자 앱 수정 작업을 했다.
그런데 용도 변경의 개발 단계에서 생각보다 많은 어려움이 있었다.
- 앱 이름 변경
- 이미 배포가 된 앱에서 ‘코노관리자’의 의미인 값들이 변경하지 못하거나 변경시 예상치 못한 에러 해결을 해야되는 변수들이 존재하였다.
- 앱 이름 변경
- ‘코노관리자’ -> ‘#####’으로 변경하고자 했으나 심사 기간 소요, 그 이름에 맞게 용도에 맞춰 설계를 수정 해야 되지만 기획이 막막한 시점에서 이 부분까지 신경쓰기에는 많은 이유로 부담이 되어 이름 변경 중단.
- 변수 정보 및 이미지를 용도 변경에 맞춰 수정
- 사유: ‘코노관리자’ 용도를 1인, 소규모 그룹의 사람 단위 생산성 향상을 위한 용도로 유지보수를 위해 수정
- 이미 배포 된 앱으로 변경하지 못하는 정보 및 수정시 예상치 못한 에러를 해결해야하는 문제 발생
- PackageName, BundleId, slug, name, scheme, 기타 등등.
- 조치:
- 하나의 이미지 생성하여 크기만 다르게 하여 이미지 적용 (적용하는중에 발생하는 에러 해결)
- 스토어 별 정보를 구분하고 앱 스토어 정보만 수정
- 앱 이름 변경
- 이미 배포가 된 앱에서 ‘코노관리자’의 의미인 값들이 변경하지 못하거나 변경시 예상치 못한 에러 해결을 해야되는 변수들이 존재하였다.
- 최초 앱 배포시 부족했던 부분 수정 및 적용
- 외부 사용 기능(패키지, api) 점검 및 유지보수를 위해 수정 작업
- 의존성 별 패키지의 버전 업그레이드 지적
- 지적하는대로 해당 패키지의 버전을 올렸다가 영향있는 코드들에서 에러가 발생하여 해결을 하면 다른 에러 발생
- 조치: 버전 업그레이드 및 추가 점검에서 수정 작업하다가 해결 불가한 에러가 계속 발생하여 이전 백업본을 복구
- 지적하는대로 해당 패키지의 버전을 올렸다가 영향있는 코드들에서 에러가 발생하여 해결을 하면 다른 에러 발생
- 웹용 배포 실행시 외부 api 호출 관련 에러 발생
- 모바일 환경에 맞춰 개발을 했기 때문에 타입스크립트에서 모바일 기능의 코드에서 충돌 발생
- 조치: 웹에서 실행할 때는 중간 과정을 거치도록 수정, 추후에 추가 유지보수 작업 예정
- 모바일 환경에 맞춰 개발을 했기 때문에 타입스크립트에서 모바일 기능의 코드에서 충돌 발생
- 작업 후 앱 심사의 시간 단축을 위해 스토어에 앱 자동 배포 작업
- 앱 프로젝트에 자동 배포 관련 코드 및 파일 적용
- 의존성 별 패키지의 버전 업그레이드 지적
- 외부 사용 기능(패키지, api) 점검 및 유지보수를 위해 수정 작업
- 최종 앱 재 배포를 위한 작업
- 기존 unlisted 앱 삭제
- 사유: 링크 제공을 통해서만(비공개) 고객이 사용할 수 있기 때문에 공개용 앱 배포 용도
- 앱 파일 생성 및 앱스토어에 업로드
- 앱 파일 생성하여 앱 테스트 중에 계속 이전 앱의 정보가 표시되어 프로젝트에 설정 관련 코드 분석 및 수정하여 해결
- 앱 생성 파일을 ‘Transporter’ 앱 및 ‘앱스토어 커넥트’에 파일 업로드와 자동 업로드 했지만 업로드가 되지 않거나 앱 정보가 정확히 표시가 되지 않아 재 수정후 해결
- 앱 심사 작성
- 앱 설명
- 앱 재심사 사유, 심사를 위한 로그인 정보 작성
- 사용 가능 국가을 대한민국만 설정
- 사유: 심사 기간 단축과 현재 한국어로만 표시가 되어 있어 개발 시간 단축을 위해(추후 다국어 지원 고려 예정)
- 이 앱에 대한 사용자 개인 정보 활용의 정보 작성
- 전에 심사할 때 해당 내용 부족으로 ‘심사 거절’이 된 경험이 있음.
- 앱 가격 설정: 무료(0원) 설정
- 사유: 앱이 유료일 경우 사업자번호가 필요한데 여러 이유로 사업자 등록을 안 함.
- 기존 unlisted 앱 삭제
- 앱 심사 요청
- 심사 버튼 누르고 아래 제목으로 메일 수신
- The status of your (iOS) app, 코인관리자, is now “Waiting for Review”
- 회고
- 여러 사유로 배포된 앱의 프로젝트를 재사용하여 스토어에 배포, 심사, 등록을 할 때는 정말 예상치 못한 문제와 그 문제 해결이 막막할 때가 많기 때문에 이것들에 대한 자세한 부분은 여러 상황을 고려해서 해결방안을 정하고 판단 해야 한다.
- 반드시 개발할 때는 이전 작업에 대해 복원할 수 있는 준비가 가능하도록 백업과 노력을 해야 한다.
- 그 디버깅(문제 해결)의 시간이 예측 불가하거나 더 늘어난다는 것은 반드시 좋은 경험과 능력이 되는 것은 아니므로 문제가 생긴 전 시점부터 다시 시작하는 것이 더 좋을 때가 있다. 특히 비지니스와 연관되어 있다면.
- 개발 시간을 단축해주는 좋은 툴(기능)이 있지만 그 툴의 조언을 모두 신뢰하지 말고 이 조언이 여기에 적합한지 판단하고나서 그 조언을 적용 해야 할지 판단 해야한다.
- ‘버전 업그레이드, 다운그레이드, 코드 분리, 설정 효율화’ 같은 부분에서
- 용도 변경의 배포 관련 아쉬운 점
- 개발 시간을 위해 이 앱으로 수익화를 계속 고려를 했으나 현실적인 개인 사정으로 ‘인앱결제’를 적용하지 못한 점
- 설계에서 외부 기능(firebase, etc.)의 의존성을 분리하지 못한 점
- 용도 변경에 적합성과 개발한 기능이 부실한 점
- 재 배포를 위한 앱 심사 대비가 부족했던 점
- (생각을 더 하자면 더 많아진다.)
+추가) 첫 심사 이후
- 심사 거절 0607
- 아이패드 미리보기 이미지 불가
- 원인: 이전에 아이폰의 캡쳐 이미지를 아이패드의 크기로 변경한 것을 재사용하여 발생
- 조치: 소지하고 있는 아이패드로 캡쳐 이미지를 생성하여 미리보기 이미지로 업로드
- 개인정보 계정을 사용자가 계정 삭제할 수 있는 기능 없음
- 원인: 기능은 있으나 리팩토링하면서 해당 기능을 페이지에서 표시하지 않았음
- 조치: 메인 페이지에 계정 삭제 버튼 클릭하고 계정 삭제 처리 진행되도록 적용
- 아이패드 미리보기 이미지 불가
- 심사 거절 0609
- 다시 비즈니스 모델이 의심(B2B)되어 아래 질문들에 답변 요청
- 질문:
- Who are the users that will use the paid features in the app?
- Where can users purchase the features that can be accessed in the app?
- What specific types of previously purchased features can a user access in the app?
- What paid content, subscriptions, or features are unlocked within your app that do not use in-app purchase?
- 답변:
- Before this app was re-reviewed and recreated of appstore, it was designed for a specific store, but now that employees of the specific store is no longer using it, the app has been repurposed for general users. Therefore, it does not access or include paid digital content or services at all…… So Your question has nothing to do with this app.
- 질문:
- 다시 비즈니스 모델이 의심(B2B)되어 아래 질문들에 답변 요청
- 심사 거절 0610
- 또 다시 비즈니스 모델에 대한 질문 요청
- 질문:
- Is there any paid content in the app and if so who pays for it? For example, do users pay for opening an account or using certain features in the app?
- 답변:
- My app currently has any no pay all something and no pay when users use functions. It is free for public users. now. and now, It doesn’t have any clients for this app.
- 개인적인 의문: 분명히 앱 정보에 가격이 0원이라고 명시 했고 일반 고객대상으로 결제나 유료가 없다고 전달했는데 심사팀에서는 계속 B2B로 수익을 내기위한 목적이 보여 심사를 거절하는 듯 보인다. 이 내용에 대해 직접적으로 해명과 설명할 소통 방법이 없어서 답답하다.
- 질문:
- 또 다시 비즈니스 모델에 대한 질문 요청