앱스토어에 어플 등록을 하거나 업데이트해서 올일 일이 자주 하지 않다보니, 매번 할때마다 방법이 생각나지 않는다.
그래서 이번기회에 기록해두기로 한다.
앱스토어에 배포를 위한 절차를 알아보자.
앱스토어에 어플 업로드 방법
- Xcode 의 왼쪽 프로젝트 영역에서 프로젝트 이름을 클릭하면 XXXXXX.xcodeproj를 파일이 열린다.
- TARGETS에서 어플을 클릭 후 오른쪽 영역에서 General 탭을 클릭한다.
- Identity 에서 Version과 Build 버전 정보를 상향한다.
- Xcode 상단 메뉴 중에 Product 클릭 > Archive 메뉴를 클릭한다.
- Archives 창이 열리면 우측영역에서 Distribute App 버튼을 클릭한다.
- Select a method for distribution팝업창이 열리면 Custom를 선택하고 Next 버튼을 클릭한다.
- App Store Connect 를 선택 후 Next버튼을 클릭한다.
- Distribute 버튼을 클릭한다.
- Upload를 선택 후 Next 버튼을 클릭
- Development Team를 선택 후 Next 버튼을 클릭
- Upload your app’s symbols 및 Manage version and build number 기본 선택값 유지 하고 Next 버튼 클릭
- Automatically manage signing 선택 후 Next 버튼 클릭
- 정상적으로 수행되면, Upload 버튼 클릭
- Done 버튼 클릭하여 마무리
배포전에 맥북에 설치해서 테스트 해보고 싶다면?
- Xcode 의 왼쪽 프로젝트 영역에서 프로젝트 이름을 클릭하면 XXXXXX.xcodeproj를 파일이 열린다.
- TARGETS에서 어플을 클릭 후 오른쪽 영역에서 General 탭을 클릭한다.
- Identity 에서 Version과 Build 버전 정보를 상향한다.
- Xcode 상단 메뉴 중에 Product 클릭 > Archive 메뉴를 클릭한다.
- Archives 창이 열리면 우측영역에서 Distribute App 버튼을 클릭한다.
- Select a method for distribution팝업창이 열리면 Custom를 선택하고 Next 버튼을 클릭한다.
- App Store Connect 를 선택 후 Next버튼을 클릭한다.
- Distribute 버튼을 클릭한다.
- Export를 클릭 후 Next 버튼을 클릭
- Development Team를 선택 후 Next 버튼을 클릭
- Upload your app’s symbols 및 Manage version and build number 기본 선택값 유지 하고 Next 버튼 클릭
- Automatically manage signing 선택 후 Next 버튼 클릭
- 정상적으로 수행되면, Export버튼 클릭
- Export를 선택한 경우 폴더 선택 후 Export 버튼 클릭 하여 마무리
- Export한 해당 폴더를 찾아가면 폴더안에 pkg과 plist 확장자를 가진 파일이 생성된다. (로그파일 포함)
- pkg 파일을 더블클릭하여 설치를 시작한다.
Xcode에서 어플을 실행하면 콘솔창에 오류는 없는데, 실행 후에 어떤 행동이든 클릭을 하면 앱이 종료되어서 확인이 필요하여 Export를 하여 테스트를 진행하였다.
설치가 잘되었는데, 왜 열 수 없다고 뜨지?

cmd + space 클릭 후 콘솔.app를 검색하여 실행 후 스트리밍시작을 클릭한 다음 앱을 다시 실행해보니 아래오 같은 오류 메세지가 노출된다.
Disallowing BatteryChargeAlarm because no eligible provisioning profiles found
적격한 프로비저닝 프로필을 찾을 수 없으므로 BatteryChargeAlarm을 허용하지 않는다.
Xcode에서 Provisioning Profile 설정 확인 진행
- Xcode 실행
- 프로젝트 선택 (
BatteryChargeAlarm
) - Targets → “BatteryChargeAlarm” → Signing & Capabilities 탭 이동
- Automatically manage signing 옵션이 활성화되어 있음을 확인
- Team 선택 > Apple Developer 계정이 등록되어 있는지 확인
아 정상인데 뭐가 문제일까?
Provisioning Profile 다시 생성하기
- Xcode에서 “Clean Build Folder” (
Shift + Cmd + K
) 실행 - Build (
Cmd + B
) 실행 - 다시 실행 (
Cmd + R
) 해보고 앱이 정상적으로 실행되는지 확인
embedded provisioning profile not valid: file:///Applications/BatteryChargeAlarm.app/Contents/embedded.provisionprofile error: Error Domain=CPProfileManager Code=-215 "Only Development Provisioning Profiles can be installed in System Settings. Production Provisioning Profiles are imported within Xcode." UserInfo={NSLocalizedDescription=Only Development Provisioning Profiles can be installed in System Settings. Production Provisioning Profiles are imported within Xcode.}
원인은 배포(Production)용 Provisioning Profile이 사용하였기 때문이란다.
macOS에서 실행하려면 Development Provisioning Profile을 사용해야 된다.
그러나 여전히 앱이 종료된다.
RBSStateCapture remove item called for untracked item 603-598-16227 (target:[app<application.BatteryChargeAlarm.38890275.38890280(501)>:6797])
이 오류는 macOS의 Responsibility System (RBS) 과 관련된 문제야.
앱이 실행되다가 macOS가 이를 추적하지 못하고 종료하는 현상인데, 주된 원인은 다음과 같아
앱이 백그라운드 프로세스로 실행되다가 종료됨
앱이 백그라운드에서 실행될 수 있도록 설정되지 않아서 macOS가 강제로 종료할 가능성이 있어.
해결 방법
- Xcode에서
Info.plist
수정Application is agent (UIElement)
키를 추가하고YES
로 설정NSEnableIdleTimer
값을NO
로 설정 (백그라운드 실행 방지)NSHighResolutionCapable
값을YES
로 설정
- 앱을 다시 빌드 후 실행 bash복사편집