React Native/React Native_error

[React Native - ios] TypeError: Network request failed

bocoder
728x90
반응형

* fetch() 를 사용해 api 를 호출 시, android 에서는 이상이 없었으나 ios 에서만 에러가 발생

TypeError: Network request failed

 

 

# 원인

 - 확인해보니 다양한 원인으로 발생할 수 있지만, 나의 경우는 호출 url 주소가 http 프로토콜을 사용하고 있어서 발생함

 -  iOS 9 버전 이후부터 적용된 보안 정책으로, 보안에 취약한 네트워크를 차단시킬 목적이라고 함

 

# 해결

- Info.plist 파일에서 NSAllowsArbitraryLoads 를  직접 코드를 추가하거나, xcode 에서 항목을 추가하여 해결

...

	<key>NSAppTransportSecurity</key>
	<dict>
		<!-- 전체 url에 대해 http 허용할 때 -->
		<key>NSAllowsArbitraryLoads</key> 
		<true/> 

		<!-- 특정 url에 대해 http 허용할 때 -->
		<key>NSExceptionDomains</key>
		<dict>
			<key>localhost</key>
			<dict>
				<key>NSExceptionAllowsInsecureHTTPLoads</key>
				<true/>
			</dict>
		</dict>
	</dict>

...

 

# 참고

 - stackoverflow : https://stackoverflow.com/questions/38862837/react-native-ios-network-request-failed

728x90
반응형