통조림

[Flutter] IOS 앱 종료 기능 이슈 본문

Software/Flutter

[Flutter] IOS 앱 종료 기능 이슈

고랭지참치 2024. 4. 2. 20:51

앱을 강제로 종료시켜야한다는 기획이나 정책이 있을 수 있다.
예를 들어, 알람 권한이나 위치정보 권한 요청을 승인하지 않았을 때 등등
그럴 때는 Flutter Framework에서 제공하는 아래 메소드를 사용해 앱을 강제로 종료시킬 수 있다.

import 'package:flutter/services.dart';

SystemNavigator.pop();

안드로이드는 해당 코드가 정상적으로 작동하지만, IOS에서는 현재 위치의 context만 Pop.

exit(0) 메소드를 사용하면 IOS에서도 앱을 강제 종료 시킬 수 있지만, 애플 정책상 해당 코드가 있을 경우 앱 배포가 허용되지 않는다.

Human Interface Guidelines | Apple Developer Documentation

Technical Q&A QA1561: How do I programmatically quit my iOS application?

Apple's human interface guidelines 안내글. 네트워크 끊김 등 사용에 문제가 생겨도 사용자 임의로 앱을 종료할 수 있도록 안내해야 한다고 적혀져 있음.

결론


타 서비스에서 어떻게 기획적으로 풀고 있는지 확인해보니,
권한 요청을 받지 않아 제대로된 사용이 어려운 경우, 해당 기능 레이어에 접근하려 할 때 권한요청을 수락해야지만 사용할 수 있다는 다이얼로그를 계속해서 띄운다.