我的应用根据用户当前位置显示附近的餐厅。在启动应用程序时,我会根据当前位置获取餐厅,并使用 CoreSpotlight API 对它们进行索引。这很好用。
由于用户位置不断变化,我需要更新餐厅。我有以下问题。
搜索扩展是否可以帮助我们根据当前位置在后台更新餐厅?
作为 CSIndexExtensionRequestHandler 的子类的 IndexRequestHandler 实现了 CSSearchableIndexDelegate 方法。我们如何在包含的应用程序中访问这个类?我想将这个类设置为我的 CSSearchableIndex indexDelegate。
- 我是否需要在我的应用程序中观察位置更新?这样,如果不在后台运行,我的应用程序将启动,并且我可以使用 CoreSpotlight API 根据我当前的位置更新餐厅。
- 我们什么时候去搜索扩展?
- 据我了解,容器应用程序将下载数据并使用批处理 API 对其进行索引。如果应用程序在两者之间退出,则调用委托方法。在委托方法中,使用 fetchLastClientStateWithCompletionHandler 方法来识别客户端状态并恢复它。是打网络电话的好地方吗?