我正在使用Google 自定义搜索引擎编写应用程序。
我收到了我的搜索引擎 ID XXXXXXXX21914382657 1:7 h9XXXXXXX(最有趣的部分加粗)。
现在我正在尝试使用 NSURLQueryItem 将我的 ID 嵌入到 URL 中,方法是:
let params = ["cx" : engineID,...]
...
components.queryItems = parameters.map {
NSURLQueryItem(name: String($0), value: String($1))
}
它应该将转义项百分比转换为XXXXXXXX21914382657 1%3A 7h9XXXXXXX(我在测试时使用 Google APIs explorer 时得到的这个值,它显示了使用的 urldress)。它没有这样做。我在没有转义的情况下获取 url,没有任何变化。如果我在此映射中使用转义字符串作为引擎 ID,我将得到转义字符串XXXXXXXX21914382657 1%253A 7h9XXXXXXX(查询中添加了额外的“25”)。
有人可以告诉我如何解决吗?我不想使用 String 然后将其转换为 URL by NSURL(string: str)!
。它并不优雅。
编辑:
我正在使用应用程序 Info.plist 来保存 ID,并通过调用来检索它:
String(NSBundle.mainBundle().objectForInfoDictionaryKey("ApiKey")!)