[iOS] HTTP 접근 허용 설정하기.

0

ios9부터 HTTP가아닌 HTTPS로의 접근만 허용하였기 때문에 HTTP로 접근 하기위해서는 설정이 필요하다.

자세히 설명하자면 Apple 에서 앱 자체의 보안성을 위해 ATS(App Transport Security)라는 정책을 통하여 iOS9 버전 이후 부터는 보안에 취약한 네트워크를 차단 시킨다.

현재 Flutter를 이용하여 사내 서버에 올려둔 동영상을 앱을 통해 보려고 할때 위와 같은 상황으로 업로드한 동영상을 볼 수가 없다...
현재 사내 서버는 테스트로 이용중이기때문에 HTTPS가 아닌 HTTP로 주소가 설정 되어있기 때문..

그렇기 때문에 아래 설정을 하지 않으면 동영상이 제대로 보이지 않는다.😂
참고로 동영상 업로드와 보기위한 패키지는

image_picker와 video_player를 이용 하였다.

이제 올려둔 동영상을 보기 위한 설정을 해보자.

HTTP 접근 허용은 info.plist에서 설정한다.
info.plist파일의 HTTP 연결 권한을 줘야 통신이 가능하다.

  1. Xcode 프로젝트 내부에서 info.plist 설정하는 방법
  • Runner/Runner/info를 열어서 표 최상단 Information Property List 에 마우스를 올리면 우측에 + 버튼이 보인다. + 버튼을 클릭
  • App Transport Security Settings을 선택.
  • 위에 동일하게 App Transport Security Settings에 마우스를 올린 후 우측에 + 버튼 클릭
  • Allow Arbitrary Loads를 선택 후 Value 값에 YES로 설정한다.
  1. XML Type으로 추가 하는 방법.
    위 1번처럼 설정하면 이미 등록이 되어 있을 것이지만.
    직접 소스에서도 추가 가능하다.
<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSAllowsArbitraryLoads</key>
		<true/>
	</dict>

이렇게 설정하고 소스 클린 후 빌드하면 정상적으로 동영상이 보인다.

참고로, 위 방법은 모든 사이트를 오픈하는 것이기에 비추천을 한다고 함.
해당 사이트만 오픈하기 위해서는 위 소스를 아래처럼 수정하면 된다.

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>도메인주소(www.naver.com)</key>
            <dict>
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
    </dict>

이제 업로드한 동영상을 정상적으로 확인이 가능해졌다.

0개의 댓글