IOS中的Callkit重新加载扩展

时间:2018-04-21 11:13:12

标签: ios swift4 ios-app-extension callkit

我正在创建像trucaller一样的app。一切都完成了,只剩下一个问题。问题是如何在应用程序中从服务器添加新联系人号码后重新加载应用程序扩展。首先,我在数组中输入一些静态数字,然后将其存储在userdefault中。我通过app-groups功能得到了这个。我希望当用户在我的应用程序中同步他们的联系人时,我想要重新加载联系人列表。

这是我的代码

manager.reloadExtension(withIdentifier: extensionIdentifer, completionHandler: { error in
                print("error \(error?.localizedDescription)")
                if let _ = error{
                    print("A error \(error?.localizedDescription as String!)");
                }
            })

这给我一个错误如下

  

“sqlite3_step for query \'INSERT INTO PhoneNumberBlockingEntry   (extension_id,phone_number_id)VALUES(?,(SELECT id FROM PhoneNumber   WHERE(number =?)))\'返回19(2067)errorMessage \'UNIQUE   约束失败:PhoneNumberBlockingEntry.extension_id,   PhoneNumberBlockingEntry.phone_number_id \'“

1 个答案:

答案 0 :(得分:1)

Jaydeep:调用您的新联系人网络服务或同步应用程序中的联系人,然后重新加载扩展名为 -

 CXCallDirectoryManager.sharedInstance.getEnabledStatusForExtension(withIdentifier: "com.compname.sampleapp", completionHandler: { (enabledStatus,error) ->

                        Void in if let error = error {
                            print(error.localizedDescription)

                        }
                        CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier:"com.compname.sampleapp", completionHandler: {
                            (error) ->

                            Void in if let error = error {
                                print(error.localizedDescription)


                            }

                            DispatchQueue.main.async {
                                self.hud?.hide(animated: true)
                            }
                        })

                        print("No error")
                    })

让我知道仍有问题。我做到了这一点并且工作正常。