SWIFT/UIKit

[UIKit] Thread 16: "*** +[NSURLComponents setPercentEncodedQueryItems:]: invalid characters in percentEncodedQueryItems"

늘스토리 주인장 2023. 5. 6. 00:42
728x90
반응형

🧸 시작

Thread 16: "*** +[NSURLComponents setPercentEncodedQueryItems:]: invalid characters in percentEncodedQueryItems"

에러 발생

setPercentEncodedQueryItems: 인코딩된 백분율의 잘못된 문자항목 쿼리

유요하지 않은 문자가 쿼리항목으로 가서 에러가 발생한 경우이다.

 

 

🧸 에러 발생한 기존 코드

    func asURLRequest(completion: @escaping (URLRequest) -> Void) {
        guard var urlComponents = URLComponents(string: Constants.APIURL.KakaoAPI.searchURL) else { return }
        
        urlComponents.path = endPoint
        //이 부분에서 에러 발생
        urlComponents.percentEncodedQueryItems = parameters
        
        guard let url = urlComponents.url else { return }
        var request = URLRequest(url: url)
        
        for (key, value) in headers {
            request.setValue(value, forHTTPHeaderField: key)
        }
        request.httpMethod = method
        
        completion(request)
    }

 

검색하는 API로 검색 단어가 영어면 잘 작동하지만 한글을 입력했을 때는 에러가 발생한다.

 

//urlComponents.percentEncodedQueryItems = parameters
urlComponents.queryItems = parameters

쿼리아이템으로 변경해주면 잘 작동된다!

 

 

 

 

 

728x90
반응형