iOS/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
반응형