私はGoogle custom search engineを使用してアプリを書いています。Google CSEで間違ったNSURLQueryItemのエンコード率
私は、検索エンジンID XXXXXXXX21914382657 1受信:7 h9XXXXXXX(最も興味深い部分太字)。
今、私が使用してURLに私のIDを埋め込むことNSURLQueryItemを使用しようとしている:
let params = ["cx" : engineID,...]
...
components.queryItems = parameters.map {
NSURLQueryItem(name: String($0), value: String($1))
}
それはすべき割合エスケープ項目をXXXXXXXX21914382657 1%3A 7h9XXXXXXX私は取得しています(この値にテスト中にGoogle APIエクスプローラを使用すると、使用されたURLドレスが表示されます)。それはやっていない。エスケープせずにURLを取得していますが、変更はありません。このマッピングでエスケープされた文字列をエンジンIDとして使用すると、エスケープ文字列XXXXXXXX21914382657 1%253A 7h9XXXXXXX(クエリに「25」が追加されています)が表示されます。
誰かに修正方法を教えてもらえますか? Stringを使用してURLに変換するのは、NSURL(string: str)!
ではありません。エレガントではありません。
編集:
私はIDを保存するために、アプリのInfo.plistを使用していると私は呼び出すことによってそれを取得:
String(NSBundle.mainBundle().objectForInfoDictionaryKey("ApiKey")!)