2017-08-23 11 views
1

URLからtxtファイルをダウンロードしてストレージに保存してから解析するアプリがあります。 AndroidとiOS用のシミュレータでは、動作は期待どおりで、うまく動作します。実際のiPhoneでは、URLからのストリームは空白です。コードネームワン - iOSで動作しないURLからtxtファイルをダウンロードする

public void getDailyMTX() { 
     String mtxURL = "https://someURLhere.com/file.txt"; 
     FileSystemStorage fs = FileSystemStorage.getInstance(); 
     Util.downloadUrlToStorage(mtxURL, fileName, true); 

     try { 
       InputStream is = fs.openInputStream(fileName); 
       s = Util.readToString(is, "UTF-8"); 
       Dialog.show("downloaded file", s, "OK", 
       null); 
      } catch (IOException e1) { 
       // handle exception 
      } 
     } 

何が起きているのかを見るのを助けるために、私はDialog.show()をデバッグ目的で配置しました。ダイアログがポップアップし、その本文が空白になります。私は以前のバージョンのアプリケーションでこのコードが動作していたので、かなり混乱しています。私が何を犯したか分からない。ありがとう!

+0

エラーをログで確認しましたか? URLは有効な証明書を使用していますか(ATS規則に準拠していますか)それは実際に有効なUTF-8ですか? – jcaron

+0

ええ、ログに投稿されたエラーはありません。このファイルはUTF-8でエンコードされています。私は、それがファイルそのものであるかどうかを確認するために、他のいくつかのファイルをダウンロードしようとしましたが、その結果は同じです。私はATSの要件を詳しく見ていきます - 私はその分野の私の知識がかなり弱いと認めます。提案していただきありがとうございます。 – FlapsFail

答えて

2

ファイルをにダウンロードしていますが、FileSystemStorageからの読み取りを試みています。これらは2つの異なるものです。いくつかのプラットフォームでは、のストレージをファイルシステムに格納しているため、一部のプラットフォームではこれがうまくいく可能性があります。しかし、あなたはこれを信じることはできません。

FileSystemStorageを使用する場合は、ダウンロードにUtil.downloadUrlToFileを使用してください。 Storageを使用する場合は、Storage.createInputStreamを使用してファイルを読み取ります。

関連する問題