본문 바로가기

iOS/iOS

iOS 17에서의 URL 사용시 유의점 URL(string:)

 

init(string:) | Apple Developer Documentation

Creates a URL instance from the provided string.

developer.apple.com

 

iOS 17에선 URL이 RFC3986 를 준수합니다.

여기서 주의해야할 점은

Now, URL automatically percent- and IDNA-encodes invalid characters to help create a valid URL.

이 부분입니다

기존 URL이 invalid 할 경우 자동으로 인코딩 한다는 점인데요,

따라서 iOS17에서는 종종 이중 인코딩이 되는 이슈가 생길 수 있습니다.

 

해결법

.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)

과 같은 방법으로 쿼리 부분에 들어갈 특수문자를 미리 인코딩하여 넣어줍니다

 

Reference

- https://developer.apple.com/documentation/foundation/url/3126806-init