Flutter 프로젝트에서 iOS/Android HTTP 허용
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