質問編集履歴

1 質問内容の編集

tlshi

tlshi score 15

2018/11/11 22:28  投稿

Swiftのシミュレーターでは動くが実機ではエラーが出る
サーバーから受け取った画像URL情報を元に、サーバーから画像を取得して表示するというプログラムなのですが、シミュレーターでは問題なく動作するのに対し、実機で動かそうとすると「Failed with exit code 1」というエラーが発生してしまいます。
設定はhttp通信を許可にした程度で、他は特に変更していません。
エラーの原因がわかれば一番良いのですが、一度こちらのプログラムが皆様の環境で動作するかどうかを確認していただけないでしょうか?
 
追記  
これまではシミュレーターが動けば実機でも問題なく動作してました。  
今回もXcodeや実機のアップデートはしていません。  
このエラーが環境の問題なのか、それとも文法の問題なのかを確かめたいです。  
```swift
コード
import UIKit
class ViewController: UIViewController {
 @IBOutlet weak var imageView: UIImageView!
//ストーリーボードで画像を表示
   
   override func viewDidLoad() {
       super.viewDidLoad()
       let postString = "command=getCoupon"
       
       var request = URLRequest(url: URL(string: "http://52.194.224.50/srv.php")!)
       request.httpMethod = "POST"
       request.httpBody = postString.data(using: .utf8)
       
       let task = URLSession.shared.dataTask(with: request, completionHandler: {
           (data, response, error) in
           
           if error != nil {
               return
           }
           do {
               let json = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments)as![[String:Any]]
 
               for i in json{
                   let json_id = i["imageUrl"]as! String
                   if json_id != ""{
                       self.requestImage(requestUrl: json_id)
                   }
               }
           } catch {
               print(error)
           }   
       })
       task.resume()   
   }
   
   func requestImage(requestUrl: String){
       print(requestUrl)
       let url = URL(string: requestUrl)
       downloadImage(from: url!)
   }
   func downloadImage(from url: URL) {
       print("Download Started")
       getData(from: url) { data, response, error in
           guard let data = data, error == nil else { return }
           print(response?.suggestedFilename ?? url.lastPathComponent)
           print("Download Finished")
           DispatchQueue.main.async() {
               self.imageView.image = UIImage(data: data)
           }
       }
   }
   func getData(from url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
       URLSession.shared.dataTask(with: url, completionHandler: completion).resume()
   }
}
```
  • iOS

    5065 questions

    iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

  • Xcode

    5449 questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

  • Swift

    9687 questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

  • iPhone

    1170 questions

    iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

  • PHP

    26019 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る