我有我开发一个应用程序,我想存储使用CallKit的呼叫目录扩展几千个电话号码。
我感到困惑的是,如何以及何时扩展被调用?它似乎并不像它与每一个电话发生。它是否会发生,每当应用程序启动?
我问原因,我不想让数以千计的电话号码在我的应用程序。我不希望用户看到这些电话号码(当然,除非他们得到他们的一个电话)。所以,我想要做的是使用功能扩展一个时间,从网络服务加载的号码储存在电话号码,但只是周期性。
谢谢!
每当用户从呼叫者ID设置打开它的扩展将被加载。您也可以使用手动reloadExtension
的CXCallDirectoryManager
方法重新加载它。
您需要在主应用程序和使用的应用程序组扩展之间共享数据。
您的主应用程序负责周期性地获取数据(使用你喜欢的任何方法;通过用户或背景手动触发取例如)和更新共享的数据库。然后调用CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier:completionHandler:)
重新加载扩展。 identifier
是你CallKit延伸串包ID。
扩展只需要从共享数据库中检索的所有数据,并与CXCallDirectoryExtensionContext
注册它