2017-06-08 15 views
-1

現在の時刻(24時間または12時間am/pm)がちょうど12時を過ぎているかどうか確認したいですか?
私はビューでそのような何かをしましたが、それはまだ朝の12でなかった場合は、この場合には、私がチェック:バックグラウンドで現在の時刻が12時を過ぎていないか確認してください

let date = Date() 
let calendar = Calendar.current 
let hora = calendar.component(.hour, from: date) 
let minutos = calendar.component(.minute, from: date) 
if hora < 12 && minutos <= 59 { ... } 

私はそれをよく説明している場合、私は知らない...私は思っていましたAppDelegateで時間が経過したかどうかを、バックグラウンドで常に確認して、午前12時が経過したら関数を実行することができます。可能です?

+3

いいえ、iOSの特定の時刻にバックグラウンドでコードを実行する方法はありません。 – Paulw11

+0

@ Paulw11ああ、それは残念です):まあ、ありがとうございます! – bey23

答えて

2

私は少なくともあなたがiOSフレームワークで達成するとは思わない。

アップルでは、​​特定の時間間隔でバックグラウンドでコードを実行することを許可しません。それは、いくつかの悪意のある行為とほぼ同じだからです。

追加しかし、アプリのフォアグラウンドではなく、ときにバックグラウンドでコードを実行したくない場合は、それは、タイマーを使用可能です。

1

あなたがやろうとしている内容に応じて、ローカル通知はあなたに使用であるかもしれない:

https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/SchedulingandHandlingLocalNotifications.html#//apple_ref/doc/uid/TP40008194-CH5-SW1

は、あなたがそれらをスケジュールすることができ、アプリが入っている場合でも、彼らは、ユーザーに配信されますバックグラウンドまたは実行中ではありません。ユーザーは通知で特定の操作を行ってアプリを起動することができます。

関連する問題