Flutter 프로젝트에서 iOS/Android HTTP 허용

less than 1 minute read

Flutter앱에서 HTTP/HTTPS 활성화

Flutter (Channel stable, 3.3.9, on Microsoft Windows [Version 10.0.19044.2604], locale ko-KR)

Flutter 프로젝트에서 Webview나 통신을 위해서 기본적으로 HTTPS를 허용해주지만

보안측면에서 HTTP 접근을 막고 있습니다.

하지만 아직까지 HTTP 사이트가 많고 어떤 사이트에 접근을 할지 모르기 때문에

필요하다면 직접 허용을 시켜줘야합니다.


Flutter 프로젝트 설정

iOS

경로 : Project > ios > Runner > Info.plist

Info.plist 하단에 NSAppTransportSecurity에 대한 Dict 속성을 추가해 주시면 됩니다.

NSAllowsLocalNetworking : 로컬 네트워크 요청 허용

NSAllowsArbitraryLoadsInWebContent : WebView http 요청 허용

<key>NSAppTransportSecurity</key>
<dic>
	<key>NSAllowsLocalNetworking></key>
	<true/>
	<key>NSAllowsArbitraryLoadsInWebContent></key>
	<true/>
</dict>

Android

경로 : Project > android > app > src > main > AndroidManifest.xml

AndroidManifest 파일에 아래 항목들을 추가해주시면 됩니다.

  • Network만 사용해야하는 경우

Flutter 페이지에서 실 기기에서 네트워크를 사용하기 위해선

아래 옵션을 적용시켜야 합니다.

android.permission.INTERNET

<manifest ...>
<uses-permission android:name="android.permission.INTERNET"/>
  • 추가적으로 HTTP허용이 필요한 경우 (모든 URL)

usesCleartextTraffic

목적지 domain이 확실하다면 network_security_config를 활용하시기를 권장 드립니다.

<application
        android:label="@string/test"
        ...
        android:usesCleartextTraffic="true">

Leave a comment