サーバーから受け取った画像URL情報を元に、サーバーから画像を取得して表示するというプログラムなのですが、シミュレーターでは問題なく動作するのに対し、実機で動かそうとすると「Failed with exit code 1」というエラーが発生してしまいます。
設定はhttp通信を許可にした程度で、他は特に変更していません。
エラーの原因がわかれば一番良いのですが、一度こちらのプログラムが皆様の環境で動作するかどうかを確認していただけないでしょうか?
追記
これまではシミュレーターが動けば実機でも問題なく動作してました。
今回もXcodeや実機のアップデートはしていません。
このエラーが環境の問題なのか、それとも文法の問題なのかを確かめたいです。
swift
1コード 2import UIKit 3class ViewController: UIViewController { 4 5 @IBOutlet weak var imageView: UIImageView! 6//ストーリーボードで画像を表示 7 8 override func viewDidLoad() { 9 super.viewDidLoad() 10 11 let postString = "command=getCoupon" 12 13 var request = URLRequest(url: URL(string: "http://52.194.224.50/srv.php")!) 14 request.httpMethod = "POST" 15 request.httpBody = postString.data(using: .utf8) 16 17 let task = URLSession.shared.dataTask(with: request, completionHandler: { 18 (data, response, error) in 19 20 if error != nil { 21 return 22 } 23 24 do { 25 let json = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments)as![[String:Any]] 26 27 for i in json{ 28 let json_id = i["imageUrl"]as! String 29 if json_id != ""{ 30 self.requestImage(requestUrl: json_id) 31 } 32 } 33 } catch { 34 print(error) 35 } 36 }) 37 task.resume() 38 } 39 40 func requestImage(requestUrl: String){ 41 print(requestUrl) 42 let url = URL(string: requestUrl) 43 downloadImage(from: url!) 44 } 45 func downloadImage(from url: URL) { 46 print("Download Started") 47 getData(from: url) { data, response, error in 48 guard let data = data, error == nil else { return } 49 print(response?.suggestedFilename ?? url.lastPathComponent) 50 print("Download Finished") 51 DispatchQueue.main.async() { 52 self.imageView.image = UIImage(data: data) 53 } 54 } 55 } 56 func getData(from url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) { 57 URLSession.shared.dataTask(with: url, completionHandler: completion).resume() 58 } 59 60} 61 62
回答1件
あなたの回答
tips
プレビュー