問題タブ [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.
ios - iOS のオンデマンド リソースでパージ/クリーン アセットを停止する方法はありますか?
22000 以上の画像を含む 1 つの大きなプロジェクトがあります。私のipaサイズは400MB以上なので、オンデマンドリソースを追加しました。正常に動作しますが、しばらくすると、ダウンロードしたアセットがシステムによって消去されます...
だから私の質問は:
1) ダウンロードしたアセットの自動実行システムであるパージ (クリーニング) を停止する方法はありますか?
2) オンデマンド リソースの代替ソリューションはありますか?
ios - iOS シミュレーターで Xamarin.iOS を介してオンデマンド リソースを使用する際の問題
Xamarin.iOS アプリを介して Apple のオンデマンド リソース機能で使用するためにタグ付けされたアセットにアクセスできないという問題が発生しましたが、シミュレーターで実行した場合のみです。これは、環境を更新した後にのみ発生しました。以前は Visual Studio for Mac バージョン 8.3.9 と Xcode バージョン 11.2.1 を使用していましたが、アプリはシミュレーターと物理デバイスの両方で問題なく ODR リソースにアクセスできました。
現在、Visual Studio バージョン 8.4.2 と Xcode バージョン 11.3.1 を使用していますが、アプリが正しく機能していません。ただし、iOS シミュレーター (すべての iOS バージョン) で実行している場合にのみ問題が発生します。物理デバイス (iOS バージョン 13.0 を実行) でビルドして実行でき、問題は発生していません。
Visual Studio for Mac を使用して Apple ODR で使用するアセットを作成してタグ付けしています。アプリの iOS プロジェクトにリソースとして直接追加する ZIP ファイルがあります。そのプロパティで、BuildAction を BundleResource として設定し、出力ディレクトリに [コピーしない] を選択して、オンデマンド リソース タグを付けます。
ソリューションをビルドすると、この ZIP ファイルが の下の *.assetpack ディレクトリにネストされていることがわかりますbin/iPhone/Debug/device-builds/iphone12.3-13.0/OnDemandResources
。bin/iPhone/Debug/OnDemandResources/
代わりに入れるべきだと思います。NSBundleResourceRequest
'sを呼び出すコードを実行すると、BeginAccessingResourcesAsync
何もしないように見えます。関数が呼び出された後、VS のアプリケーション出力デバッグ ウィンドウに次のエラー メッセージが表示されます。
他にスローされるエラーや例外はありません。オブジェクトからリソース パスを取得しようとすると、NSBundleResourceRequest.Bundle
予想どおり null が返されます。
これが発生する理由と、これが物理デバイスではなく iOS シミュレーターでのみ発生する理由は何ですか? 上記のエラー メッセージを検索しても、役立つ情報は見つかりませんでした。バンドルされたアセットがデバッグ モードでビルドされる方法に関して、Visual Studio で何か変更がありましたか?