iOS のガイドラインでは、バックグラウンド タスクを10 分以上使用することは許可されていないようです。ユーザーが特定の時間を設定してカウントダウンを開始できるようにする調理タイマーアプリを設計しています。
ただし、10 分以上実行されるバックグラウンド タスク ( UILocalNotificationの使用や[NSRunLoop mainRunLoop]へのNSTimerの追加など) を設定することは不可能のようです。
これを回避する方法はありますか? 開発者は、10 分以上続くタイマーをトリガーするアプリをどのように設計しますか?
可能な解決策:
- A: サーバー サービスを使用してタイマーをリモートで実行し、タイマーが終了したらサーバーから通知をプッシュして、ユーザーに「警告」します。短所:サーバーの実行に費用がかかり、開発に時間がかかります。
- B: アプリが起動したら、フォアグラウンドでアクティブなままにします (スクリーンセーバーのトリガーを許可しないでください)。短所:バッテリーが高価です。
他のアイデアはありますか?
編集: アプリが iWatch で動作することを望みます。したがって、タイマーがトリガーされると、iWatch に一目で通知が表示されます。これはiPhoneアプリによってガイドされるため、アプリがアクティブでない限り、そうすることができません.