問題タブ [on-demand-resources]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
890 参照

ios - NSBundleResourceRequest bundlePath

[質問の最後に更新]

アプリでいくつかのオーディオファイルを再生するために使用します。

以前はファイルをアプリに保存していましたが、その後 と に移動しましOn Demand ResourcesNSBundleResourceRequest

IBAction ランダム ファイルを再生する がありますが、 に移動してから動作ODRしません。私が唯一変更したのはNSString *bundleRoot = [[NSBundle mainBundle] bundlePath];(3行目)

次のdirContentsようになります。

ここに画像の説明を入力

mp3ファイルが含まれていると想定される場合。

私は何が間違っていbundleRootますか?

私のviewDidload

実際には、選択したオーディオを再生する別の方法があります(ランダムなものではありません)

そしてそれはうまくいっています。

そのため、に問題bundleRootがあります。私のファイルがある場所ではありません。

[アップデート]

私は実際にやった

ほとんど機能していますが、常にディレクトリ内の最初のオーディオを再生しています。

0 投票する
2 に答える
149 参照

ios - リソースの差し戻し時 - 推定時間 (およびダウンロードの進行状況に応じてアラートを表示する方法)

オンデマンド リソースのダウンロードの推定時間を取得する方法はありますか?

それらがすべてダウンロードされるまでアラートを表示したいと思います。

今、私は持っています

ただし、ダウンロードが完了してもアラートは自動的に消えるわけではなく、アラートの期間が表示されます。

0 投票する
1 に答える
134 参照

ios - On Demand Resources タグに応じてボタンを有効/無効にする

IBActionサウンドを再生するにリンクされたボタンがいくつかあります。

私のファイルはOn Demand Resourcesで整理されており、3 つのタグがあります。

  • レベル1
  • レベル2
  • レベル3

だから私が達成したいのは:

level1ユーザーがレベル 1 の場合、タグが付いたファイルのみを再生できますlevel2タグ オーディオをクリックすると、アラートが表示されます。

ファイルに特定のタグが付いているかどうかを確認するにはどうすればよいですか?

0 投票する
0 に答える
708 参照

ios - オンデマンド リソースのパージ

アプリの 1 つにオンデマンド リソースを採用することを考えています。ほとんどのユーザーが一度しか見ることのない約 30 のビデオが含まれます。そのため、オンデマンド リソースの有力な候補のようです。このアプリの寿命は約 1 週間と予想されるため、ユーザーが使い終わって削除を忘れた場合、システムがその資産をパージするのは良いことです。

ただし、アプリがまだ使用されているときに、いくつかのアセットを利用できるようにしたいのは明らかです。公式ドキュメントによると:

関連するすべてのタグがリクエストによって保持されなくなった場合、アセット パックはパージの対象となります。タグに関連付けられたリソースは、アプリの起動時など、削除されるまでしばらくデバイスに残る場合があります。

この説明は非常にあいまいです。アセットがダウンロードされた後、いつパージできるかについて十分なヒントが得られないからです。デバイスのメモリが不足している場合にのみ発生しますか? または、デバイスに多くの空き容量がある場合でも、システムは常に使用可能なメモリを最適化しようとしますか?

誰かが上記のどれが正しいかを自分の経験から教えてくれたら本当にありがたいです. 私のアプリの場合、上記の不確実性は 2 つのシナリオにつながる可能性があります。

1) 一部のビデオは、メモリが不足しているユーザーのためにパージされます。すべてのビデオをアプリにバンドルすると、それらのユーザーはアプリをダウンロードできなくなるため、これは素晴らしいことです。この不都合は完全に許容されます。

2) 128 GB のデバイスに 64 GB の空き容量があるユーザーは、一部のビデオにアクセスできなくなり、再度ダウンロードする必要があります。これにより、ODR のパフォーマンスが低下し、単にすべてのビデオを 1 つにまとめることになるため、このシナリオは避けたいと考えています。

ODR に関する WWDC ビデオを見ましたが、上記の質問に対する回答もありません...

0 投票する
1 に答える
575 参照

swift - オンデマンド リソース「0 アセット パック」

最近、自分のアプリにオンデマンド リソースを実装し始めました。Xcode から自分の携帯電話にアプリをデプロイすると、すべてがうまくいきます。しかし、バイナリを iTunes Connect にアップロードすると、「0 Asset Packs」と表示されます。

ここに画像の説明を入力

Xcode のアセット タグは問題なく表示されます。

ここに画像の説明を入力

Assets のビルド設定は次のようになります。

資産

TestFlight でテストしていますが、アプリで「要求されたアプリケーション データが存在しません」というエラーが表示されます。

私は次のことを試しました:

  • Xcode のリソース タグを削除/再追加しました
  • わずかに異なる 3 つのバイナリをストアにアップロードしました
  • ベータテストのオフ/オン
  • テスターの削除/再追加

すべての助けに感謝します!