에러 배경:

 

Flutter Flavor 를 통해 앱을 Dev, Prod 모드로 분리시켜서 빌드 시키기 위해 개발을 하고있었다.

Xcode에서 Debug-Dev, Debug-Prod, Release-Dev, Release-Prod, Profile-Dev, Profile-Prod 로 configurations 생성하고 스키마도 추가해서 알맞게 적용까지 완료.

기존에 있었던 파이어베이스도 잘 분리시켜서 적용해서 Xcode로 빌드까지 성공했다.

 

그런데 Xcode로 빌드한 앱이 기기에서 그냥 실행하면 크래시가 발생했다.

 

에러:

Terminal로 연결해서 빌드해도 잘 되고 Xcode로 연결해서 빌드해도 문제 없이 잘 작동되던 앱이

기기에서 실행만 하면 크래시가 발생하는 현상 발생. 

빌드하지 않고 기기에서 앱을 실행하면 앱이 터진다.

 

콘솔로 확인한 에러 메시지:

 

[ERROR:flutter/runtime/ptrace_check.cc(75)] Could not call ptrace(PT_TRACE_ME): Operation not permitted

Cannot create a FlutterEngine instance in debug mode without Flutter tooling or Xcode.

 

To launch in debug mode in iOS 14+, run flutter run from Flutter tools, run from an IDE with a Flutter IDE plugin or run the iOS project from Xcode.

 

Alternatively profile and release mode apps can be launched from the home screen.

 

 

최근 Xcode를 15로 업데이트 했더니 이런 새로운 이슈가 발생했다. ㅎㅎ 즐거운 iOS 앱개발..

 

 

원인: 

configuration이 Debug 로 선택되어있으면 기기에서 앱을 단독으로 실행시킬 때 권한이 없어서 크래시가 발생한다.

즉, 빌드할때 사용하는 configuration을 Release 로 설정해야한다.

 

 

해결방안:

 

 

1. 빌드할때 사용하는 스키마를 선택 - Edit Scheme 클릭

 

 

2. 앱을 빌드할때 사용하는 configurations를 수정하자.

Run - Info - Build Configuration - Release 

 

 

 

이렇게 빌드하면 Xcode와 터미널로 실행하지 않아도 기기에서 앱이 제대로 실행된다.

 

별 것 아닌 이유로 오랜 시간을 허비했다... ㅠ

+ Recent posts