

iPhoneアプリで指定した間隔でユーザにお知らせするため、ローカル通知、push通知を使って通知を表示する実装を行っています。

例えば、「毎週月曜日の指定時刻」、「毎月第二、第四水曜日の指定時刻」に通知を表示するイメージです。

毎週月曜日に通知する場合でも、ハッピーマンデーなどで祝日の場合には通知を行いたくないのです。

Xcode7+Swift2で、試しにローカル通知で実装してみましたが、「repeatInterverl」で上に記述した指定は可能なようですが、祝日の通知除外を行う方法が分かりません。

(iOS標準ではない)目覚ましのアプリなどでは、祝日除外設定できるものがあるようですが、実現方法が分かりません。

どなたかご存じないでしょうか？


CC BY-SA 3.0
2016-03-15T00:31:20.570
23143
2016-03-16T05:28:31.420
14787
question
ios
iOSでローカル通知もしくはpush通知を行う際に祝日除外設定は可能でしょうか？


祝日は国や（日本以外では）地方によっても異なり、毎年変わるので、非常に複雑ですので、iOSでは標準で祝日の機能は持っていません。

祝日の除外設定のあるアプリケーションは独自で祝日のデータを参照しています。  
日本と一部の国だけに対応するだけであれば、それほど難しくはありません。

日本の祝日は、毎年法律で決定されるので、基本的には毎年データを更新する必要があります。  
アプリケーションにデータを組み込んだ場合はアップデートが必要になります。

ネットワークアクセスが使えるなら、インターネット経由でデータを取得するようにしても良いでしょう。

上記の通り、祝日の定義は面倒なので、汎用のサービスは少ないですが、いくつかAPIにて取得できるサービスがあります。

<http://calendar-service.net/api.php>

Googleカレンダーの祝日カレンダーを利用するのも手だと思います。


CC BY-SA 3.0
2016-03-16T05:28:31.420
23184
2016-03-16T05:28:31.420
5519
23143
answer