uiwebview or NSURL error for pipe(%7C) character

ISSUE

URL문자열에 | 파이프 문자열이 들어가 있으면 NSURL 생성시 익셉션이 발생한다.

if let url = NSURL(string: "http://m.isplus.joins.com/news/article/article.aspx?total_id=16150910&cloc=rss|isplus") {
// is working?
} else {
// error occur
}

RESOLVE

이를 해결하기 위해서 파이프 문자를 %7C 형태로 치환해야 한다.

extension String {
    public func safeUrl() -> String {
        return self.stringByReplacingOccurrencesOfString("|", withString: "%7C", options: NSStringCompareOptions.LiteralSearch, range: nil)
    }
}

if let url = NSURL(string: "http://m.isplus.joins.com/news/article/article.aspx?total_id=16150910&cloc=rss|isplus".safeUrl()) {
// is working?
} else {
// error occur
}

Subscribe to flynn's devnote

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe