2016-12-15 8 views
0

Swift 3で書かれたiOSアプリケーションに画像を提供しようとしていますが、画像のHTTPSが存在しないため、そのURLから直接画像を読み込むことができます、私はイメージを取り込み、HTTPS経由で予約することができるPHPでラッパーを書くことを余儀なくされています。私はCakePHPを使って画像を表示していますが、iOSアプリケーションは画像を表示していません。イメージは取得されていますが、UIImageViewには表示されません。どんな助けもありがとうございます。ここにあなたのApp-Info.plistPHPとSwiftを使用してiOSアプリケーションに画像を配信する

スウィフト3

let mugshotParams: [String:Any] = [ 
    "action":"632", 
    "params":[ 
     "offender_id":"\(self.delegate.predators[index].id)" 
    ] 
] 

do { 
    let mugshotObject = try JSONSerialization.data(withJSONObject: mugshotParams, options:[]) 
    let request = NSMutableURLRequest(url: URL(string: delegate.urlMobile! as String)!, cachePolicy:NSURLRequest.CachePolicy.reloadIgnoringLocalCacheData, timeoutInterval: 30) 

    request.httpBody = mugshotObject 
    request.httpMethod = "POST" 

    let task = URLSession.shared.dataTask(with: request as URLRequest, completionHandler: {data, response, error in 
     DispatchQueue.main.sync { 
      infoWindow.imageMugshot.image = UIImage(data: data!) 
      infoWindow.imageMugshot.contentMode = .scaleAspectFit 
     } 
    }) 

    task.resume() 
} catch { 

} 

CakePHPの

private function getPredatorMugshot() { 
    $image = file_get_contents('http://domain.com/predator/image.jpg'); 

    $this->response->type('jpg'); 
    $this->response->body($image); 
} 

答えて

0

私はあなたのApp Transport Security Settingsでこれを解決するだろうが、あなたがこのファイルに追加するXMLです。

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSExceptionDomains</key> 
     <dict> 
      <key>domainservingimages.com</key> 
      <dict> 
       <key>NSIncludesSubdomains</key> 
       <true/> 
       <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
       <true/> 
       <key>NSTemporaryExceptionMinimumTLSVersion</key> 
       <string>TLSv1.1</string> 
      </dict> 
     </dict> 
    </dict> 
+0

問題は1月1日に始まり、AppleはApp Transport Securityの例外を持つアプリケーションを受け入れないか、App Transport Securityをfalse/noに設定するため、これは機能しません。 – recoilnetworks

関連する問題