バックグラウンドでHLSストリームファイルをダウンロードしたい。iOSバックグラウンドHLSストリームをダウンロード
私は最初にm3u8
ファイルをダウンロードし、それを解析して多くのURL(約30〜200)を取得します。その後、私はバックグラウンドセッションを作成します。最後に、すべてのURLについて、NSURLSeessionDownloadTask
を作成し、次のタスクを作成し、前のタスクを完了した後にダウンロードします。
アプリがフォアグラウンドにあるときはうまく動作します。しかし、バックグラウンドでは、それは停止し、現在のタスクが完了した後に新しいタスクを作成しません。
だから、どうやってバックグラウンドでURLをダウンロードできますか? (私はアプリをアクティブに保つためにバックグラウンドで音楽を演奏するのは良い考えだとは思わない)
あなたのアプリのInfo.plistファイルに適切なバックグラウンドモードが指定されていますか? https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html – dgatwood
確かに、「ネットワークからのアプリケーションダウンロードコンテンツ」モードを使用します。 – kunjinkao
あなたが実際にHLSストリームの場合、おそらく "オーディオ"モードが必要です。それは、私はこれが問題だとは思わないと言いました。私はこれがエクステンションや何か(別のplist)で起こっていないと仮定しています.... – dgatwood