问题标签 [callkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
420 浏览

ios - iOS 10 中 CTCallStateIncoming 的模拟是什么?

在 iOS 10 之前我们可以使用[[self.call callState] isEqualToString:@"CTCallStateIncoming"]来检测来电。在 IOS10 callState 已弃用并由 CallKit/CXCall.h 属性替换。但是CallKit中没有“Incoming”这样的状态,他们想出了“outgoing”,“onHold”,“hasConnected”,“hasEnded”状态。我需要传入或模拟。到目前为止有什么解决方法吗?感谢您的任何建议。

0 投票
1 回答
667 浏览

ios - IOS 中的 CallKit 扩展

我有一个场景,例如从联系人框架中获取联系人并从联系人框架中选择选定的联系人并将选定的联系人列表(数组)传递给 CALLKIT。

一旦我接到任何选定的电话(我之前从联系人框架中选择并将其传递给呼叫套件扩展)......我的蓝牙设备必须振动(通常通知用户)

我想知道...我们是否可以将数组(选定联系人)传递给呼叫套件扩展,并在我们从传递给呼叫套件扩展方法的数组(选定联系人)中收到呼叫时得到通知

  • (BOOL)addIdentificationPhoneNumbersToContext:(CXCallDirectoryExtensionContext *)context;
0 投票
2 回答
1023 浏览

objective-c - 使用 CallKit 无法从本地电话最近获取 voip 电话信息

我将 CallKit 框架集成到我的应用程序中,并拨打电话。

我可以在本地电话最近记录中看到拨出电话。

但是当我点击拨出电话并想要获取电话信息时。它崩溃了。

这是我在 AppDelegate.m 中的代码

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler NS_AVAILABLE_IOS(8_0) { INInteraction *interaction = userActivity.interaction;
INStartAudioCallIntent *startAudioCallIntent = (INStartAudioCallIntent *)interaction.intent;
INPerson *contact = startAudioCallIntent.contacts[0];
INPersonHandle *personHandle = contact.personHandle;
NSString *phoneNumber = personHandle.value;
}

我撞车了INInteraction *interaction = userActivity.interaction;

我检查了交互信息

以下是我的环境

mac: 10.12.1 xcode: 8.1 iOS: 10.1.1

它不违反要求

我搜索了一整天,但似乎没有人遇到这个问题。

代码级别有什么问题或有其他方法获取电话信息吗?

0 投票
1 回答
1376 浏览

ios - 如何从本地电话最近获取 voip 电话名称描述?

当我在本地电话最近使用我的应用程序发出的拨出电话时,但我只能获取 id (EX: 12345678),无法获取描述 (EX: David)

本机电话最近

拨出电话信息

这是我在AppDelegate.m中的代码

我在 INPerson 对象中找不到有关描述(例如:David)的任何信息。

有没有其他方法可以获取电话描述?

0 投票
5 回答
3044 浏览

ios - iOS在一分钟内杀死CallKit VoIP应用程序在后台工作

我有一个 VoIP 应用程序,它使用 CallKit 和 PushKit。当应用程序关闭并且 iOS 收到推送通知时,应用程序已在后台模式下被唤醒,它通过 CallKit 接听电话,一切正常,大约持续 50 秒。在那之后,iOS 用信号 9 杀死了应用程序。我选择了下一个背景模式:音频voip,但 iOS 想要更多的东西来继续无限的后台任务。

我忘记做什么来防止系统杀死我的应用程序?

PS当我在前台调用我的应用程序时,通话会持续数小时。那么它不是内存压力是应用程序被杀的原因。

0 投票
1 回答
3407 浏览

ios - Callkit 呈现应用程序 UI 而不是原生 UI

当智能手机被锁定时,我想使用 Callkit 框架在我的 voip 应用程序的来电中呈现 iOS 本机 UI(比简单的通知更有效),但是在回答后我想转到我的应用程序 UI 而不是 callkit 提供的 UI。

最好我想在接听电话后立即去,第二个选项将是 callkit UI 中的一个选项来移动到我的应用程序。

知道这是否可能吗?到现在也没想出什么解决办法。

谢谢何塞

0 投票
3 回答
2190 浏览

ios - iOS 10 中的呼叫阻止功能

我正在尝试集成 CallDirectory Extension 以阻止某些来电。但应用程序甚至无法识别为阻止提供的数字。有没有人成功做到这一点?你可以看到我使用的格式..

而且,我将此用于开发。http://iphoneramble.blogspot.in/2016/07/ios-10-callkit-directory-extension.html

测试设备和 iOS 版本 - iphone 5s ,iOS 10.1

0 投票
1 回答
336 浏览

ios - 呼叫目录扩展不会在 iPhone 5 上运行,但会在所有其他设备类型上运行

我有 3 部 iPhone 5、2 部 iPhone SE、2 部 iPhone 6、1 部 iPhone 6+ 和 1 部 iPhone 7。

我发现我的使用呼叫目录扩展的应用程序无法在三款 iPhone 5 设备中的任何一款上运行,但它在其他 6 款各种设备上都没有问题。

如果我的应用程序出现问题,我创建了一个带有呼叫扩展的新应用程序,它完全使用 XCode 项目模板创建(Xcode 调用目录目标模板创建了许多样板代码,这些代码功能齐全,可以运行和工作无需进一步更改)。

我得到了相同的结果——模板应用程序也不能在任何 iPhone 5 上运行,但它可以在其他 6 台设备上运行。

由此得出的结论似乎是,由于某种原因,电话扩展在 iPhone 5 上不起作用,但这不是一个正确的假设,因为我从应用商店 (Hiya) 下载了一个使用电话扩展的应用到 iPhone 5它的电话扩展没有类似的问题。

所以对我来说,为什么我的应用程序和 Xcode 模板应用程序都不能在我的任何 iPhone 5 上运行但在其他所有设备上都可以,这对我来说是个谜。

因此这就是我的问题——有没有人遇到过类似的情况,或者有任何猜测为什么他们不能在 iPhone 5 上工作?(iPhone5 之后是否有架构更改,并且可能需要更改呼叫扩展的构建设置才能使其在 iPhone 5 上运行?)

我的应用程序和 Xcode 模板应用程序在 iPhone 5 上失败的方式是相同的 1) 扩展程序没有出现在设置 | 电话 | 呼叫阻止和识别。这意味着它可能没有正确安装/注册到操作系统,但是在查看操作系统日志时,我没有看到操作系统在控制台中记录了任何问题。

2)iPhone 5无法查询分机状态:

错误是错误的 NSError 域:“com.apple.CallKit.error.calldirectorymanager” - 代码:1

同样,这可能表明问题与未安装的扩展有关。

(问题与 iPhone 5 上使用的 iOS 10 版本无关,其结果与测试版和非测试版的几个版本相同。所有设备都在配置门户上注册)

0 投票
1 回答
994 浏览

ios - CallKit 的 didActivate 究竟是什么时候调用的?

CallKit 的didActivate究竟是什么时候调用的?

我应该如何激活会话?

官方文档和扬声器示例并没有很好地解释它。

0 投票
1 回答
3052 浏览

ios - 从应用程序委托调用时调用工具包 ui 未加载

我无法触发来自应用程序委托的呼叫工具包 UI 来电。我该怎么做呢?我尝试了扬声器箱示例,但没有帮助。当我在 ViewController 中运行 reportIncomingCall 方法时,它可以工作。当我在 AppDelegate 中使用 reportIncomingCall 时,它不起作用。我需要它在 Appdelegate 中运行,以便我可以发送 VoIP 通知来报告来电。

这是我的应用程序委托:

在 ViewController 类中:

编辑

正如下面的评论中所指出的,很明显我没有设置委托。我在vc中有以下初始化。当我尝试在 didFinishLaunchingWithOptons 函数中设置它时,它要求我添加参数编码器。

Appdelegate/didFinishLoadingWithOptions