これが Apple の意図した使用法に違反しているかどうかは不明です。この例は、承認プロセスを経た製品アプリでテストされていませんが、新しいバックグラウンド フェッチ API を試すことができます。ターゲット機能で、「Background Fetch」を有効にします。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
これを必ずアプリのデリゲートに追加してください:
[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
次に、このデリゲート メソッドを追加します。
-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
...Schedule your local notifications here...
completionHandler(UIBackgroundFetchResultNewData);
}
実際にはデータを取得していないため、どのステータスを返す必要があるかは不明ですが、完了ハンドラを呼び出す必要があります。