2

私はMonoTouchで書かれたiOSアプリを持っています-新しいバージョンごとに新しい機能が追加され、データベースにフィールドを追加するか、データ保守タスクを実行する必要があります(実行に1分ほどかかる場合があります)。多くの場合、ユーザーがアプリケーションにアクセスできるようにする前に、データ/スキーマを更新する必要があります-起動時にこれらのメンテナンスタスクを実行するための標準化された方法または場所がObj-CまたはMonotouchにありますか?理想的には、ロード表示をユーザーに表示して、これが1回限りのことであることをユーザーに知らせたいと思います。

これまでの私の考え:

  • AppDelegate内のFinishedLaunchingに配置しますが、間違った場所のようです。

  • ホームビューを、データベースをアップグレードしてから次のビューにプッシュするだけのビューに変更しますが、これはやり過ぎのようです。

4

2 に答える 2

1

ホームビューを、データベースのみをアップグレードしてから次のビューにプッシュするビューに変更しますが、これはやり過ぎのようです。

それが私のアプリのいくつかでのやり方です(ここに例があります)。

私がしていることはFinishedLoading、このバージョンでスキーマの更新が必要かどうかを AppDelegate でチェックインすることです。必要な場合は、をバックグラウンドとしてwindow.RootViewController使用する DialogViewController を作成しDefault.png、そこから更新を行います。

これにより、スプラッシュ スクリーンの上部にプログレス バーが表示されているように見えます。

読み込み画面では、ATM Hudを使用して進行状況バーをエンド ユーザーに表示できます。

ここに画像の説明を入力

于 2012-12-10T12:44:12.690 に答える
1

Finished Launching は、このような長い操作には間違いなく不適切な場所です (時間がかかりすぎると iOS がアプリを強制終了するため)。

あなたの2番目のオプションは、私には正しいアプローチのようです。このようにして、ユーザーが何を待っているかを伝えることができます。このビューを使用して、アプリの新機能をユーザーに伝えることもできます

于 2012-12-10T10:47:40.637 に答える