aboy

バックグラウンド関連

http://www.omnibase.net/iphone_blog/?p=27

http://d.hatena.ne.jp/glass-_-onion/20100630/1277909762

http://d.hatena.ne.jp/kamiyan2/20100623/1277232956

 

◆マルチタスク対応のデバイス、OSかの判定
UIDevice* device = [UIDevice currentDevice];
BOOL backgroundSupported = NO;
if ([device respondsToSelector:@selector(isMultitaskingSupported)])
backgroundSupported = device.multitaskingSupported;

 

◆バックグラウンドでも実行したい処理
.h
UIBackgroundTaskIdentifier bgTask;

.m

UIApplication *app = [UIApplication sharedApplication];

// ここから「アプリがバックグラウンドに入っても実行し続けたい処理」が始まると通知
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
// このブロック内は一定時間内 (10分程度)に処理が完了しなかった場合に実行される。
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];

 

◆バックグラウンドからのアラート

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
if (localNotif) {
localNotif.alertBody = @”データ更新完了”;
localNotif.alertAction = @”アプリを開く”;
localNotif.soundName = @”alarmsound.caf”;
[[UIApplication sharedApplication] presentLocalNotificationNow:localNotif];
[localNotif release];
}