私は携帯電話番号をタップして携帯電話をかけることができるセクションから1つのセクションを持つアプリケーションに取り組んでいます。コールするには、次のコードを使用しています。私のアプリケーションにVOIP機能がない場合でも、CallKitフレームワークを使用して進行中のコールのステータスをチェックすると、私のアプリケーションは拒否されますか?
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 {
}
}
このデリゲートメソッドは、発信呼び出しの開始時または終了時にコールバックを受け取ります。
私のアプリはVOIPに関連する機能を持っていないので、このようなCallKitフレームワークを使って通話の状態を知ることができれば分かります。
このようにCallKitを使用し、アプリでVOIP機能を使用していないと、Appstoreのアップロードで自分のアプリが拒否されますか? これに関するお手伝いをさせていただきます。
App Storeのアップロードに関する疑問を解決してくれてありがとうStuart。はい、私はまた、ダイヤラから行われたコールがこれらのデリゲートコールバックをトリガできることにも同意します。乾杯... – AMUL