iOS中的呼叫目录扩展如何更新

时间:2018-07-22 01:49:21

标签: ios directory callkit

我有一个正在开发的应用程序,我想使用CallKit的呼叫目录扩展来存储数千个电话号码。

我很困惑的是,如何以及何时调用该扩展名?似乎并不是每个电话都会发生这种情况。启动应用程序时会发生这种情况吗?

我要问的原因是,我不想在应用程序中保留成千上万个电话号码。我不希望用户看到这些电话号码(当然,除非他们接到其中一个打来的电话)。因此,我要做的是使用扩展程序一次保存电话号码,并从Web服务加载电话号码,但只能定期进行。

谢谢!

1 个答案:

答案 0 :(得分:6)

每当用户从呼叫者ID设置中打开扩展名时,都会加载该扩展名。您也可以使用reloadExtension的{​​{1}}方法手动重新加载它。

您需要使用应用程序组在主应用程序和扩展程序之间共享数据。

您的主应用程序负责定期获取数据(使用您喜欢的任何方法;例如由用户手动触发或后台获取)并更新共享数据库。然后,它调用CXCallDirectoryManager重新加载扩展名。 CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier:completionHandler:)是您的CallKit扩展的字符串捆绑ID。

扩展名仅需要从共享数据库中检索所有数据,并向identifier

注册