相关疑难解决方法(0)

检测IOS 10中的GSM呼叫状态(Swift 3,Xcode 8)和来自后台状态的通知

TLDR:从后台检测呼叫结束事件 请参阅以下问题的更新:

是否可以使用Swift从后台状态检测/获取IOS 10中的呼叫状态事件.在早期版本中有一个CORE Telephony api,但现在似乎已经弃用了.

我见过CallKit Api, 但它说这是基于VOIP的呼叫.我需要获得正常的CDMA/GSM呼叫状态,而不是基于VOIP的呼叫,并且当呼叫结束时只需向服务器发出通知.我不需要访问任何可能是隐私问题的数据点,只需要一个事件,当呼叫结束时,然后我的应用程序将是一个后台应用程序将启动.而已.有关如何做到这一点的任何指示?

更新:使用CallKit Api虽然无法区分voip和普通的GSM呼叫,但我能够获得呼叫状态.我可以解决这个问题.我也可以通过以下方式获得本地通知.

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        application.beginBackgroundTask(withName: "showN", expirationHandler:nil)
        return true
    }

extension AppDelegate: CXCallObserverDelegate {
       func callObserver(_ callObserver: CXCallObserver, callChanged call: CXCall) {
        if call.hasEnded == true {
            print("Disconnected")
            let trigger = UNTimeIntervalNotificationTrigger(timeInterval:60,repeats:false)
            let identifier = "MyCallLocalNotification"
            let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger)
            center.add(request, withCompletionHandler: …
Run Code Online (Sandbox Code Playgroud)

ios core-telephony swift ios10 callkit

13
推荐指数
2
解决办法
2902
查看次数

CTCallCenter已弃用.有什么选择?

CTCallCenter在我的项目中使用.现在它被弃用了,我想知道什么是替代品?如何获得语音通话活动?

objective-c core-telephony swift ios10 callkit

8
推荐指数
1
解决办法
5051
查看次数

iOS 10:如何使用 CallKit/CXCallObserver 获取呼叫事件?

我在 iOS 10 中使用 CXCallObserver 更改了 CTCallCenter。

这是我的代码:

#import <CallKit/CXCallObserver.h>
#import <CallKit/CXCall.h>

-(void)viewDidLoad {

    CXCallObserver *callObserver = [[CXCallObserver alloc] init];
    [callObserver setDelegate:self queue:nil];

    ... ...
}

- (void)callObserver:(CXCallObserver *)callObserver callChanged:(CXCall *)call {
    if (call.hasConnected) {
        NSLog(@"********** voice call connected **********/n");        
    } else if(call.hasEnded) {
        NSLog(@"********** voice call disconnected **********/n");        
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我无法收到语音呼叫事件,并且收到了如下警告:

Sending 'HomeViewController *const __strong' to parameter of incompatible type 'id<CXCallObserverDelegate> _Nullable
Run Code Online (Sandbox Code Playgroud)

请帮我。

objective-c ios10 callkit

7
推荐指数
1
解决办法
4381
查看次数

标签 统计

callkit ×3

ios10 ×3

core-telephony ×2

objective-c ×2

swift ×2

ios ×1