0

iOS アプリの次のリリースに Today 拡張機能を含めます。ウィジェットのコンテンツは、ユーザーが含まれているアプリによって管理されているデータベースに特定の変更を加えた場合にのみ更新されます。

含まれているアプリから Today ウィジェット プロセスに何らかの信号を送信して、そのデータが無効になり、ユーザーが次に通知センターをプルダウンしたときにそれ自体をリロードする必要があることを知らせる方法はありますか?

4

1 に答える 1

1

ウィジェットを自分で更新する必要はありません。iOS が定期的に更新しようとします。iOS がそれを行うたびに、ウィジェット内の関数が呼び出されます。これは機能です:

func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)!)

データが変更された場合は、呼び出します

completionHandler(.NewData)

それ以外の場合、データが変更されていない場合は、呼び出します

completionHandler(.NoData)

それでおしまい!また、iOS がウィジェットを「強制終了」する可能性があるため、その関数内で多くの時間を必要とするものを作成しないでください。

于 2015-03-08T13:36:55.760 に答える