gpt4 book ai didi

ios - 如果我使用 CallKit 框架检查正在进行的通话状态,即使我的应用程序没有任何 VOIP 功能,我的应用程序是否会被拒绝?

转载 作者:行者123 更新时间:2023-11-29 11:39:02 33 4
gpt4 key购买 nike

我正在开发一款应用程序,该应用程序有一个部分,用户可以在其中点击手机号码来调用手机电话。要调用电话,我使用以下代码。

if let phoneCallURL = URL(string: "tel://\(9999999999)") {

let application:UIApplication = UIApplication.shared
if (application.canOpenURL(phoneCallURL)) {
if #available(iOS 10.0, *) {
application.open(phoneCallURL, options: [:], completionHandler: nil)
} else {
// Fallback on earlier versions
application.openURL(phoneCallURL)
}
}
}

这会显示带有调用或取消选项的警报。现在,当我选择调用选项时,我需要检查正在进行的调用的状态。为此,我使用了 CallKit 框架。

var callObserver = CXCallObserver()

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
callObserver.setDelegate(self, queue: nil)
}

func callObserver(_ callObserver: CXCallObserver, callChanged call: CXCall) {

if call.hasConnected {

}

if call.isOutgoing {

}

if call.hasEnded {

}

if call.isOnHold {

}
}

此委托(delegate)方法在拨出电话开始或结束时接收回调。

现在由于我的应用程序没有任何与 VOIP 相关的功能,我只想知道是否可以像这样使用 CallKit 框架来了解通话状态。

如果我像这样使用 CallKit 并且在应用程序中没有 VOIP 功能,我的应用程序是否会被 Appstore 上传拒绝?对此的任何帮助将不胜感激。

最佳答案

一般来说,CallKit.framework 的 CXCallObserver API 可以被任何应用程序使用,无论该应用程序本身是否提供 VoIP 调用功能。

但请注意,我们不能保证您的应用程序观察到的任何特定调用都是用户根据您的应用程序打开 tel: URL 决定调用的结果。用户可能拒绝打开您的应用提供的打开的 tel: URL,而是单独调用电话或在大约同一时间段接听来电,并且您的应用会收到类似的-looking CXCallObserver 无论如何委托(delegate)回调。无法可靠地区分在您的应用外部发起的调用和从您的应用发起的调用。

关于ios - 如果我使用 CallKit 框架检查正在进行的通话状态,即使我的应用程序没有任何 VOIP 功能,我的应用程序是否会被拒绝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47589631/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com