iOS 시뮬레이터에서 flutter를 실행할 때 이런 에러가 발생했다.
사실 에러가 발생해도 앱이 실행되기는 하지만 콘솔창에 ERROR라고 뜨니 원인을 찾아보았다.
ERROR:flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.mm(42)
Using the Impeller rendering backend.
시뮬레이터에 화면이 나타나는 것을 '랜더링'이라고 한다. 사용자 인터페이스(UI) 요소, 그래픽, 텍스트 등이 실제로 시각적으로 표현되는 과정이 랜더링이다.
Flutter에서 사용하는 렌더링 엔진의 종류 중의 하나가 Impeller다.
Flutter에서는 iOS 플랫폼에서 기본적으로 Impeller 렌더링 엔진을 활성화하는데
애플리케이션이 특정 iOS 버전이나 기기와 호환되지 않을 경우에 Impeller를 비활성화해야한다.
렌더링 엔진에 따라 앱 성능과 호환성에 영향을 미칠 수 있지만, 기본적으로 애플리케이션이 실행되는 데 있어 필수적인 부분은 아니다. 그래서 앱 실행이 되었던 것 같다.
iOS 프로젝트의 Runner/Info.plist 파일에 다음 코드를 추가하면 된다.
FLTEnableImpeller를 true, false로 지정하면 활성화하거나 Impeller 엔진을 비활성화 시킬 수 있다.