2017-07-07 26 views
8

Tôi đã phát triển ứng dụng Ionic 2 trên Android và hiện đang cố gắng đưa ứng dụng này hoạt động trên iOS.Ionic 2 fileTransfer.download không phản ứng trên iOS

Tải xuống ứng dụng nhiều tệp khi đăng nhập lần đầu và tôi làm điều đó với số Ionic-Native Transfer plugin. Trên tất cả mọi thứ Android hoạt động tốt, nhưng trên iOS ứng dụng dường như bị mắc kẹt trong lời hứa của hàm fileTransfer.download(), nó thậm chí không ném một lỗi.

Ví dụ Code:

private downloadFile(downloadURL: string, filename: string) { 
    return new Promise((resolve, reject) => { 
     this.fileTransfer.download(downloadURL, this.file.dataDirectory + filename, true).then(_ => { 
      console.log("download of " + filename + " complete"); 
      resolve("download finished"); 
     }).catch(err => { 
      console.log(err); 
      reject("download error"); 
     }); 
    }); 
} 

Tôi cũng cố gắng sử dụng this.file.documentsDirectory thay vì dành cho iOS nhưng tôi vẫn không nhận được bất kỳ lỗi hay thành công kết quả đầu ra.

URL tải xuống từ liên kết firebaseStorage nhưng tôi cũng đã thử nghiệm nó bằng URL tải xuống thông thường.

Tôi cho rằng nó có liên quan đến quyền, nhưng chưa tìm được giải pháp. Giả định khác sẽ là, rằng có một giới hạn cho nhiều chủ đề trên iOS có khoảng betwenn 30-100 lời hứa sống.

Nhưng điều lạ là các thông báo lỗi bị thiếu, nó chỉ bị kẹt và không tải xuống một lần.

Mọi trợ giúp đều được đánh giá cao!

EDIT:

tôi vẫn chưa tìm ra nguyên nhân của vấn đề, nhưng trong khi chờ đợi, Ionic phát hành một phiên bản mới của Plugin Chuyển, mà bây giờ được gọi là FileTransfer trong các tài liệu chính thức. Khi tôi đã thay đổi mã của mình để sử dụng plugin FileTransfer mới, sự cố đã biến mất.

Tôi hy vọng điều này sẽ giúp những người khác gặp phải cùng một vấn đề.

+0

Bạn đã xem một số video của Josh Morony gỡ lỗi ứng dụng Ionic khi đang chạy trên iPhone chưa? https://www.youtube.com/watch?v=9J8AxhDxtTE&feature=youtu.be – JGFMK

+0

Cảm ơn bạn đã liên kết, tôi đã giải quyết được vấn đề của mình ngay bây giờ, bằng cách cập nhật lên Plugin FileTransfer mới nhất của Ionic được phát hành giữa thời gian của tôi bài đầu tiên và hôm nay. Tôi đã chỉnh sửa bài đăng của mình ở trên. –

+0

Vui vì bạn đã giải quyết nó. Bạn biết có thể trả lời câu hỏi của riêng bạn. Những người khác upvoted/favourited này. Vì vậy, nếu họ thấy điều này như được trả lời nó sẽ giúp họ quá. – JGFMK

Trả lời

0

Tôi vẫn chưa tìm ra nguyên nhân của sự cố, nhưng trong thời gian đó, Ionic đã phát hành phiên bản mới của Plugin chuyển, hiện được gọi là FileTransfer trong tài liệu chính thức. Khi tôi đã thay đổi mã của mình để sử dụng plugin FileTransfer mới, sự cố đã biến mất.

Tôi hy vọng điều này sẽ giúp những người khác gặp phải cùng một vấn đề.

+1

Tôi có cùng một vấn đề chính xác ngay cả với plugin FileTransfer có nguồn gốc ion mới. – askilondz

Các vấn đề liên quan