在iPhone上调试分析JSON值与模拟器的差异
问题描述:
我遇到了一个问题,当我在我的iPhone上运行应用程序时,我的表视图正在填充看起来像中文字符的字符。但是,当我通过模拟器运行应用程序时,我得到了预期的(英文)结果。以下是该问题的截图。在iPhone上调试分析JSON值与模拟器的差异
下面是填充对象的代码
private func populateArtists(_ maxRecordsToPopulate: Int, json: JSON) {
let artists = json["artists"]["items"]
for i in 0 ..< artists.count {
if i < maxRecordsToPopulate {
let artist = Artist()
print(artists[i]["name"].string!)
artist.name = artists[i]["name"].string!
artist.detailUrl = artists[i]["href"].string!
artist.id = artists[i]["id"].string!
self.searchResults.artists.append(artist)
}
}
}
当我在里面放置一个断点时,它看起来像被返回的JSON值被解析的方式不同。从应用
运行我想这可能是一个本地化设置或一些地方在手机上,但不知道如何查明是否属实。我尝试从手机中删除应用程序并重新安装,这也没有帮助。
我使用的框架是Facebook SDK,Alamofire和Swifty-JSON,以防其中任何一个可能导致这个奇怪的问题。
答
通常,这是HTTP请求中的Accept-Language
标题的问题。设备是否设置为其他语言?如果是这样,它将默认使用该语言。您可以使用NSMutableURLRequest
手动更改标题值,并将该值更改为described here。
设备未设置为其他语言,但无论出于何种原因,它都在设置>常规>语言和地区下添加了日语。我的猜测是我的一个孩子拿到了我的手机,并偶然添加了这个。感谢您指点我正确的方向。 – dstepan