2011-10-29 17 views
1

私のアプリが起動するたびに(バックグラウンドから復元されている場合でも)、アクションを実行する(たとえばTWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init];)ようにしたいと思います。 私はまた、このアクション(起動時)は、アプリケーションの設定バンドルのスイッチによって無効にすることができます。私は何をすべきか?ご注意いただきありがとうございます。アプリケーションの起動時のアクション

p.s.私は間違った言葉を使用する場合は謝罪。私は初心者です:)

答えて

2

UIApplicationDelegateプロトコルで利用できるアプリケーションデリゲートには、いくつかの方法を実装できます。

あなたのアプリが最初に起動されるとき、applicationDidFinishLaunchingが呼び出されます。

アプリがバックグラウンドから復元されると、applicationWillEnterForegroundが呼び出されます。

設定バンドルに追加するスイッチには、NSStringというキーが関連付けられています。スイッチは、としてエンコードされたブール値を、そのキーの下の標準NSUserDefaultsに格納します。標準ユーザーのデフォルト値からブール値を読み取り、それを使用してアクションを実行するかどうかを判断できます。

設定バンドルを追加する方法に関するAppleのドキュメントはhereです。 設定バンドルにトグルスイッチが必要です。標準のユーザーデフォルトで調べるキーは、Keyフィールドで指定します。トグルスイッチのデフォルト値は、DefaultValueフィールドで指定します。ここでSee here

はあなたのapplicationDidFinishLaunching方法もあなたに

static NSString *const kTakeActionOnLaunchSettingKey = @"Key"; 

- (void)applicationDidFinishLaunching 
{ 
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 
    BOOL doTakeActionOnLaunch = [userDefaults boolForKey:kTakeActionOnLaunchSettingKey]; 
    if (doTakeActionOnLaunch) { 
    // Do something 
    } 
} 
+0

ありがとうございます!あなたは非常に明確で迅速です。 – Netnyke

1

voidDidLoad {}メソッドで初期化します。これを無効にするには、オブジェクトライブラリからスイッチを使用することができます

1

これは簡単ですし、スプラッシュ画面からホームページにすばやく移行するために使用しました。 AppDelegateファイル内にコードを配置する必要があります。

使用

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

は、起動時にコードを実行します。

その背景<管理するには、次の方法を使用 - >フォアグラウンド遷移:

- (void)applicationWillResignActive:(UIApplication *)application 
- (void)applicationDidEnterBackground:(UIApplication *)application 
- (void)applicationWillEnterForeground:(UIApplication *)application 
- (void)applicationDidBecomeActive:(UIApplication *)application 

希望、これはあなたを助けます。

+0

おかげで何をする必要があるかであります! – Netnyke

関連する問題