1

アプリケーションが完全に閉じていても、アプリケーション内のファイルを1時間ごとにサーバーにバックアップする機能を開発したいiphoneアプリケーションを開発しています。

使用しようとしましNSLocalNotificationたが、メソッドを呼び出していません

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

appdelegateで。キャンセルと表示のボタンが付いたアラートボックスを表示する通知機能。表示をクリックすると、アプリケーションは開きますが、メソッドは呼び出されません。ユーザーがキャンセルと言った場合でも、このメソッドを呼び出す必要があります。

したがって、ファイルのバックアップを取るためにWebサービスを呼び出すことはありません。誰かが私に同じことをするリンクを教えてもらえますか?

ありがとう、Rohit Jankar

4

2 に答える 2

2

あなたは本当にあなたが望むことをすることができません。VOIPiOSでは、クライアント、AudioPlayer、またはユーザーの場所を追跡しない限り、アプリケーションをバックグラウンドで実行することはできません。

のソリューションの問題UILocalNotificationは、iOSが通知を処理することです。ユーザーが[キャンセル]をクリックしても、アプリはこれについて通知されません。表示ボタンのクリックのみを処理できます。

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification、アプリが実行されているか、バックグラウンド実行から復元された場合にのみ呼び出されます。

ユーザーがローカル通知の[表示]をクリックしたときにアプリがシステムによって起動される場合は、- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptionsメソッドに通知があるかどうかを確認する必要があります。

UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; 

if (notification) {
    //handle the notification.
}
于 2012-05-21T09:41:46.550 に答える
1

アプリケーションが完全に閉じていても、アプリケーション内のファイルを1時間ごとにサーバーにバックアップする機能を開発したいiphoneアプリケーションを開発しています。

数時間ごとに自分のサーバーにファイルをバックアップすることについて話している場合、それを行う方法は実際にはありません。一方、アプリが実行されていないときにもそれを行う必要はありません-アプリが実行されていない場合、ファイル内のデータを変更することはできず、バックアップする必要はありません上。代わりに、アプリの実行中にデータを定期的にバックアップするようにしてください。

アプリのデータがどこかにバックアップされていることを確認したいだけの場合は、 iCloudの使用を検討してください。iCloudを使用するようにアプリを設定すると、更新するたびにデータがバックアップされます。

于 2012-05-21T10:10:36.833 に答える