2017-01-26 11 views
0

特定の時刻にLocalNotificationsを送信するiOS-appを作成したいとします(Alarm-App)。夜中にLocalNotificationsを設定する

私の問題は、現在の日付の00時01分に通知を設定したいということです。特定の時間にバックグラウンドでの作業が許可されていないため、これを達成する方法がわかりません(Stackoverflow-Post)。

EDIT:

鳴ることを可能にする必要があります

  • 毎日
  • 週の特定の日に(例えば:毎週月曜日と金曜日)
  • 初日リング、2日目のリング、3日目のリングではなく、4日目のリングではありません(これが最大の問題です)
  • 私は時にはnotificaンのAndroidで

(あまりにも大きな問題)(ユーザーが既にそれを得たので)私は0時01時に当日の

のアラームを設定することで、この問題を解決することで、これも可能ですiOS?

+0

まずは通知をご覧ください。あなたは実際にあなたが選んだ日にそれらのスケジュールを立てます。 – shallowThought

+0

はい、6時に毎日鳴って夜中に通知を設定したい場合はどうすればいいですか? – Lee

+0

毎日6時に通知を設定するよりも、 – shallowThought

答えて

0

これを実現するには、ユーザーがアラームを設定したときに通知を設定する必要があります。 UNTimeIntervalNotificationtriggerを使用する代わりに、UNCalendarNotificationTriggerを使用してください。カレンダー通知をスケジュールすることで、特定の時間にスケジュールを設定し、それに応じて繰り返すことができます。これに関する最も良いことは、日付コンポーネントを指定するときに、通知を繰り返す曜日を指定することができます。たとえば、月曜日に通知を繰り返す場合は、weekdayプロパティを2と設定します。今

let calendar = Calendar.current 
      var components = calendar.dateComponents([.hour, .minute], from: date) 
      components.weekday = 2 

      //creating trigger 
      let trigger = UNCalendarNotificationTrigger(dateMatching: components, repeats: true) 

      //setting content 
      let content = UNMutableNotificationContent() 
      content.title = "Title" 
      content.body = "Body" 

      //requesting notification 
      let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger) 

      //scheduling notification 
      UNUserNotificationCenter.current().add(request) 

あなたが通知を繰り返ししたい1つの以上の平日を持っている場合は、単にループでこのコードを実行すると、別の平日を渡します。

私はこのアプローチを使用してアラームアプリを作ったが、それは完全に正常に動作します。

これが役に立ちます。 :)

関連する問題