firebaseを使って画像を読み込むアプリを作っているのですが、シミュレータでは表示されるのですが実機では表示されません。
発生している問題・エラーメッセージ
Swift で Firebase を使って画像を表示するアプリを作っているのですが、シミュレータでは画像が表示されるのですが、実機では何も表示されません。(tableView に画像を表示しています)
実機は iPhone を使っています。
実機で動かす場合は他に設定が必要なのでしょうか?
該当のソースコード
appDelegateの記述
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
return true
}
読み込み処理
import UIKit
import Firebase
import FirebaseDatabase
import FirebaseStorage
class SubViewController: UIViewController ,UITableViewDelegate, UITableViewDataSource{
var ref: DatabaseReference!
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
ref = Database.database().reference()
var i : Int = -1
ref.child(selectedNo!).observeSingleEvent(of: .value, with: { (snapshot) in
for folder in snapshot.children {
i += 1
if let snap = folder as? DataSnapshot {
let dic = snap.value as! NSDictionary
self.elements.append(dic["image"] as! String)
}
}
self.tableView.reloadData()
}) { (error) in
print(error.localizedDescription)
}
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath ) -> UITableViewCell {
var imageRef: StorageReference {
return Storage.storage().reference().child("images")
}
let cell = tableView.dequeueReusableCell(withIdentifier: "customCell") as!
SubCustomTableViewCell
cell.Earthlbl.text = comments[indexPath.row]
let downloadImageref = imageRef.child(elements[indexPath.row])
let downloadtask = downloadImageref.getData(maxSize: 1 * 1024 * 1024) { (data, error) in
if let data = data {
cell.Earthimge.image = UIImage(data: data)
self.nextImage = UIImage(data: data)
self.elementsImage[indexPath.row] = UIImage(data: data)!
}
print(error ?? "NO ERROR")
}
downloadtask.observe(.progress) { (snapshot) in
print(snapshot.progress ?? "NO MORE PROGRESS")
}
return cell
}