質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

2000閲覧

UNUserNotificationCenterで通知と同時に関数を実行する

tetsutail

総合スコア81

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2017/07/30 05:20

編集2017/07/30 06:03

UNUserNotificationCenterを使って、通知と同時に関数を実行するということはできますか?
もしできるのであれば、何という関数を使えばできるのか教えていただきたいです。
一定時間ごとに通知を行い、一回ごとに通知の内容を更新したいので、通知と同時に値を更新する関数を実行したいのです。

しかし、Apple公式のものだと、

swift

1let content = UNMutableNotificationContent() 2content.title = NSString.localizedUserNotificationString(forKey: 3 "Hello!", arguments: nil) 4content.body = NSString.localizedUserNotificationString(forKey: 5 "Hello_message_body", arguments: nil) 6 7// Deliver the notification in five seconds. 8content.sound = UNNotificationSound.default() 9let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, 10 repeats: false) 11 12// Schedule the notification. 13let request = UNNotificationRequest(identifier: "FiveSecond", content: content, trigger: trigger) 14let center = UNUserNotificationCenter.current() 15center.add(request, withCompletionHandler: nil)

のように、関数を設定する場所がなく、
通知のみしか実行できないようです。
UNNotificationRequestや UNUserNotificationCenter.current().add()を調べてみましたが、関数を設定するオプションは見当たりませんでした。

リモート通知の場合、addObserver()で関数を指定することができるようなのですが、これしか方法はないのでしょうか?

追記:
とりあえず、ローカル通知を1分ごとに内容を変えて通知する場合なら、1分一個のローカル通知を大量に登録しておくことで実現できるかもしれないので、まずはこれを試してみます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ローカル通知の場合、何かボタンとかを作ってユーザにそれをタップしてもらわないと、通知だけで何か操作をすることはできません。

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

投稿2017/08/09 10:54

lovee

総合スコア92

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問