0

アプリでsettings.bundle値を直接編集できるように、アプリケーションに設定ビューを表示するためにinappsettingsを実装しました。

しかし、今はsettings.bundleから読みたかったのですが、iOSプログラミングガイドを読んで、アプリケーションの起動時にsettings.bundleを読む必要があることがわかりました。

私のコードでいつでもこの設定にアクセスすることはできませんか? アプリの実行中にユーザーがいつでも設定を更新できない場合、Inappsettings は意味がありません。

Inappsettings はメソッドInAppSettings registerDefaultsを提供します

- (void)initialize{
    if([self class] == [AppDelegate class]){
        [InAppSettings registerDefaults];
    }
}

しかし、いつでも設定を読み取ることができるかどうかはわかりません。助言がありますか?

編集:私のアプリには 3 つのビューがあり、1 つはダッシュボードです。もう 1 つのオプションとメール ビューは、モーダルに表示されます。

設定では、ユーザーはメッセージを送信するために必要ないくつかの基本的なことを設定できます。そのため、ユーザーが入力を開始したばかりで、たとえば送信ゲートウェイを変更したい場合、inappsettings ビューであるオプション ビューを開き、いくつかの変更を行います。アプリを再起動せずにこの変更を読みたいです。

4

1 に答える 1

1

明らかに、Apple は外部設定の UI パラダイムを私たちに課したいと考えています。Mail.app の仕組みを思い出してください。そのパラダイムが理にかなっている場合もあれば、そうでない場合もあります。不変のプリファレンス セットがある場合は、onPrefferenceChange、同時実行、同期、OS のバックアップとレプリケーションの問題などを処理するイベントについて考える必要はありません。ただし、Apple が提供する機能は、できることが非常に限られています。そこに任意の文字列を入力することさえできません (Mail.app は明らかにプライベート API を使用しています)。したがって、Apple が提供するものを使用できるか、独自の設定システムを実装できるかを選択する必要があります (NSUSerDefaultsか何か)。私は自分自身を一度実装し、それ以来それを使用しています。私は本当のアプリ内設定システムを好む. その主な利点は、アプリを離れることなくその値を変更できることです。

于 2011-04-07T21:04:00.107 に答える