【发布时间】:2017-02-26 08:56:24
【问题描述】:
我有获取数据的 JSON 方法。即使我将应用程序从 Xcode 加载到 iPhone,一切都可以在模拟器上运行,但是当我将应用程序上传到 Testflight 进行测试时,它不起作用(数据没有出现)这是我的 fetch 方法:
private func fetchSchools(){
let requestURL: NSURL = NSURL(string: "http://somelink.com/json.txt")!
let urlRequest: NSMutableURLRequest = NSMutableURLRequest(url: requestURL as URL)
let session = URLSession.shared
let task = session.dataTask(with: urlRequest as URLRequest) {
(data, response, error) -> Void in
let httpResponse = response as! HTTPURLResponse
let statusCode = httpResponse.statusCode
if (statusCode == 200) {
print("Everything is fine, file downloaded successfully.")
do{
let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! [String: AnyObject]
if let JSONSchools = json["skoly"] as? [[String: AnyObject]]{
for school in JSONSchools {
if let name = school["nazev"] as? String {
if let city = school["mesto"] as? String {
if let id = school["id"] as? String {
self.schools.append(School.init(name: name, city: city, id: id))
}
}
}
}
self.fetchFinished = true
}
} catch {
print("Error with Json: \(error)")
}
}
}
task.resume()
}
感谢您的帮助
【问题讨论】:
-
您正在使用 HTTP。你确定你设置了ATS exceptions吗?
-
这不是问题。我允许任意负载设置为 YES。也许我必须在 Capabilities 中设置一些东西?
-
我解决了这个问题。它不是 JSON 方法,我必须将发布优化级别设置为无。
-
如果您将其添加为答案并接受它,那就太好了,这样人们就会看到,这个问题已经有了答案
标签: ios json swift xcode testflight