• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

8-1에서 build하는 app 별 상태가 다르게 나오는데 원인이 무엇일까요?

23.07.03 00:22 작성 23.07.03 00:37 수정 조회수 266

0

 안녕하세요 강의 잘 보고 있습니다!

제가 초기에 아이폰 에뮬로 하기 귀찮아서 mac app이랑 chrome app으로 강의를 따라하고 있었는데요... 약 30분까지의 스크롤 해결 전까지 진행한 상태에서 발견한 에러입니다.

보니까 Mac App으로 하니 DioError: SockerException: Connection Failed가 되면서 아래 같이 에러가 발생합니다.스크린샷 2023-07-03 오전 12.19.15.png

chrome으로 하는 경우에는 데이터는 되는데 이미지를 못 읽는듯해요...

스크린샷 2023-07-03 오전 12.20.44.png

그래도 아이폰 에뮬로 하니 잘 되긴 하던데... 이 차이는 앱별로 동작하는게 달라서 그런가요??

혹시 동일하게 다 가능하도록 해결하는 방법도 있을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요.

우선 답변을 드리기 앞서서 이 강의는 ios,android에 초점을 맞춰 제작된 강의로

원할하게 강의를 보고 싶다면 ios,나 android 에뮬레이터를 추천 드립니다.

하지만 플러터의 강점은 하나의 소스코드로 cross platform이 지원된다는 장점이 있기 때문에 질문하신 것처럼 mac이나 web으로도 충분히 가능합니다.

단지 몇가지 환경에 따른 세팅을 추가해주셔야 합니다.

 

macos 로 build 후 실행을 하기 위해서는

macos/Runner/DebugProfile.entitlements 파일과

macos/Runner/Release.entitlements 파일에 다음과 같은 값을 추가 해줘야 합니다.

<key>com.apple.security.network.client</key>
<true/>

오류의 원인은 MacOS는 네트워크에 엑세스(권한)을 허용되어야 api 등등 네트워크적인 기능을 처리 할 수 있습니다. 이를 허용해주는 (권한 허용)을 세팅을 해줘야 정상적으로 동작됩니다.

 

web으로 build 후 실행하기 위해서는

web/index.html 에 다음과 같이 세팅값을 추가 합니다.

<script type="text/javascript">
window.flutterWebRenderer = "html";
</script>

위 항목을 어디에 추가 해야 할지 모른다면 쉽게설명 드려서

</head>

이 head 태그가 닫히는 부분 바로 위에 넣어주시면 되겠습니다.

 

감사합니다.

 

Jmob님의 프로필

Jmob

질문자

2023.07.03

아 감사합니다!