반응형
App Store 배포 시, 아래와 같은 오류가 발생했다.
오류
App Store Connect Operation Error
ERROR ITMS-90339: "This bundle is invalid. The Info.plist contains an invalid key 'UIApplicationExitsOnSuspend' in bundle App [App.app]"
오류 내용: Info.plist에 포함된 UIApplicationExitsOnSuspend 키가 deprecated 되어 사용 불가
참고 URL: developer.apple.com/documentation/
Xcode에서 info.plist 파일을 보면 아래와 같은 키를 확인할 수 있다.
- Info.plist - Property List에서 보면 Key가 Application does not run in background로 표시됨
- Info.plist - Source Code에서 보면 Key가 UIApplicationExitsOnSuspend로 표시됨
※참고: Property List와 Source Code로 변경하는 방법은 아래와 같음
Info.plist 오른쪽 마우스 클릭 > Open As > 선택
해결 방법
일반적으로 해당 Key 값을 YES(true)로 사용했을 것이다.
YES로 설정하면, 앱이 백그라운드 상태로 갔을 때 앱을 종료하게 되고,
앱을 실행하거나 앱 목록에서 실행하여도 무조건 앱이 처음부터 실행된다.
deprecated 된 API는 삭제하고, 대체할 수 있는 기능을 추가
- Info.plist에서 위 Key 삭제
- Info.plist - Property List에서는 해당 Key를 선택 후 backspace 키 클릭
- info.plist - Source Code에서는 <key>~ <true/>까지 삭제 - 해당 기능을 대체하는 기능
앱이 포그라운드 상태가 되기 직전에, 화면을 첫 화면으로 세팅해주는 방법이다.
AppDelegate 또는 SceneDelegate에 있는 applicationWillEnterForegroud에서 첫 화면을 다시 설정해준다.
상황에 맞춰 스토리보드 또는 xib로 사용 가능하다.
※ 아래 예제는 Main 스토리보드를 사용하는 경우
- (void)applicationWillEnterForeground:(UIApplication *)application {
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [storyboard instantiateInitialViewController];
[UIApplication sharedApplication].delegate.window.rootViewController = vc;
}
반응형
'iOS > 오류 해결' 카테고리의 다른 글
[iOS] iOS15 상태바 스타일이 초기화되는 문제 해결 방법 (4) | 2021.09.27 |
---|---|
[Xcode] Build error fat framework 에러 해결 방법 (0) | 2021.08.23 |
[iOS] App Store Connect 입력한 주소가 유효하지 않습니다. 해결 방법 (8) | 2020.12.30 |
[iOS] App Store Connect Operation Error 해결방법 (0) | 2020.12.13 |
[iOS] Content and frame layout guides before iOS 11.0 에러 해결 방법 (0) | 2020.12.11 |