首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CallKit :- Callkit在工作,但是被叫的人没有接到电话

CallKit :- Callkit在工作,但是被叫的人没有接到电话
EN

Stack Overflow用户
提问于 2020-02-06 11:33:32
回答 2查看 1.9K关注 0票数 6

我想开发一个SOS应用程序。当我尝试使用URL ()时,它将显示一个警报,但我的要求是在尝试调用时连接调用,而不需要任何警报或弹出。所以我找到了一个使用CallKit的解决方案。当我在我的应用程序中实现CallKit时,它不请求任何许可,发出的呼叫会被放置,但被调用者不会收到任何调用。有什么解决办法吗?

我已经尝试了下面的代码来连接呼叫。

代码语言:javascript
复制
@IBAction func buttonCallTapped(_ sender: Any) {

    let provider = CXProvider(configuration: CXProviderConfiguration(localizedName: "My App"))
    provider.setDelegate(self, queue: nil)
    let controller = CXCallController()
    let transaction = CXTransaction(action: CXStartCallAction(call: UUID(), handle: CXHandle(type: .phoneNumber, value: "\(number)")))
    controller.request(transaction, completion: { error in })

    DispatchQueue.main.asyncAfter(wallDeadline: DispatchWallTime.now() + 5) {
        provider.reportOutgoingCall(with: controller.callObserver.calls[0].uuid, connectedAt: nil)
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-03 13:16:53

没有用户操作,任何iOS应用程序都无法进行本机调用。

将显示一个带有电话号码的警报,两个按钮将可用"Call“和"Cancel”,这两个按钮是从OS级别出现的。

就像我们显示弹出删除照片应用程序的照片一样。

解决方案

如果您想要实现(是的,它可以使用VoIP服务),但是您可以在app处于活动状态时进行调用(可以在没有用户操作的情况下完成,因为那里有互联网连接)。

注意:接收方也应该支持VoIP.

如何实现VoIP

我们需要IP语音业务的许可来在iPhone设备之间进行呼叫。

VoIP应用程序必须在Xcode项目>功能窗格中启用后台模式。选中“IP语音”复选框

此外,如果您真的想实现CallKit跟随CallKit教程,则只为VoIP应用程序缩进VoIP。

票数 1
EN

Stack Overflow用户

发布于 2020-02-06 14:32:23

您只是不能通过CallKit进行标准的本机调用。CallKit框架,正如文档中明确指出的,用于开发自定义VoIP应用程序,并将它们与本机电话接口集成。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60094032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档