これは、作成しようとしているプロセスのかなり具体的なシナリオです。私が使用しているアプリには、ユーザーが信号やインターネット接続がないときにアプリを起動できるように、オフライン モードで起動する目的があります。
問題:
以下を使用してビルドを作成した後、sqlite db ファイルといくつかの画像アセット (PNG/JPG) を xcode プロジェクトにキャッシュしようとしています。
xcodebuild -target $TARGET_NAME -configuration "AdHoc"
そのコマンドの後、(.app ファイルを圧縮した後) 指定された ipa を自分の電話にインストールできます。
ただし、アプリが新しく取得したリソースはキャッシュしませんでした。シミュレーターを実行し、リソース内のすべての画像と db ファイルをコピーし、それらをプロジェクトのディレクトリに貼り付ける外部タスクがあります。xcodebuild コマンドの後に、シェル スクリプトに次のコマンドがあります。
find -L $1/$TARGET_NAME/Resources -type f -not -name ".*" -not -name "`basename $TARGET_NAME/Info.plist`" | xargs -t -I {} cp {} $BUILD_DIR/$TARGET_NAME.app
基本的に、これはキャッシュされたリソースを .app ファイルに入れています。
ここで助けが必要です。皆さんは、「いいえ、これはできません。.app ファイルまたは .ipa ファイルが改ざんされていると、アーカイブが破損し、Apple がアプリのインストールを許可しないため、これを行うことはできません。
私の質問は、これらの特定のリソースを .app または .ipa にキャッシュするにはどうすればよいですか? Apple が私のファイルを破損することなくこれを行うことを許可するプロセスの別の機会はありますか?
もちろん、ユーザーがセルラー サービスのない地域に出かける前に初めてアプリを起動するだけでよいと主張することもできますが、ユーザーが入る前にアプリが完全にキャッシュされるようにする必要があります。
お手伝いありがとう。