2016-12-20 24 views
3

私はVoIPアプリケーション内でCallKitサポートを実装しています。CallKit UIのFaceTimeボタンを非表示

supportsVideofalseCXProviderConfigurationに設定すると、ビデオボタンを無効にできました。これでFaceTimeボタンが表示されました。

デフォルトのUIでFaceTimeボタンを無効にする方法があるかどうかを知りたかったのは、アプリがFaceTimeとは関係のない社内の企業番号を処理しているからです。


更新:以下の回答で述べたように、それはボタンを無効にすることは可能ですが、発信者番号が失われ (Unknownとして示されています)。私は数を保持し、FaceTimeボタンを無効にしたい。


更新: iPhoneの設定でのFaceTimeを無効にするには、FaceTimeのボタンを無効にします。しかし、それは問題の有効な解決策ではありません。


更新:問題は影響しません、それに電話番号の有効でない文字を挿入するなど、CXHandle型へ の変更、 - FaceTimeのボタンがまだ示されています。

答えて

2

良いニュース/悪いニュースの静脈では、remoteHandle(削除されていないか隠されていない、グレー表示されていない)をクリアすることでFaceTimeボタンを無効にできました。

ただし、副作用としてCXCallUpdatelocalizedCallerNameプロパティを設定しないと、発信者が「不明」と表示されます。
ハンドルなしの呼び出しは、Recentsで押されないという副作用を伴います。

CXCallUpdate *callUpdate = [[CXCallUpdate alloc] init]; 
//callUpdate.remoteHandle = [[CXHandle alloc] initWithType:CXHandleTypeGeneric value:handle]; 
[self.provider reportNewIncomingCallWithUUID:uuid update:callUpdate completion:^(NSError* error) {}]; 
+0

返信いただきありがとうございます。あなたの解決策は他の場合に役立つと思います。私はそれを認識していますが、残念ながら、発信者の番号も保持したいと考えています。これは電話番号ですが、FaceTimeやグローバルな電話網とはまったく関係ありません。 –

+0

「不明」とは言えません。 'CXCallUpdate'の' localizedCallerName'プロパティを設定することで、表示される文字列を変更することができます。しかし、ハンドルのない呼び出しは、Recentsで押されないという副作用があります。 – user102008

0

それは@Eliバークが言うように、本当にremoteHandleをクリアすることでFaceTimeのボタンを無効にすることができますが、副作用が更新ムービーから呼び出して無効にされます。どうしてか分かりません。

+0

あなたは私のことを誤解していました。なぜ、FaceTimeボタンを無効にできず、その間にRecentsからの呼び出しを有効にできないのか分かりません。 – foolishBoy

0

disabling the "Add Call" buttonと同じ方法でFaceTimeボタンを無効にしていますが、これは発信者名の機能を損なうことはありませんが、ユーザーがスピーカーボタンに触れるとFaceTimeボタンが再びアクティブになります。私はなぜこの動作がAppleのバグではないのか分からないので、ちょうど適切な修正をあきらめました。

編集:最初にFaceTimeのボタンが何のCXHandleがなかったことを考えると無効になっていたので、私は、CXHandleコールが確立された一度だけCXCallUpdateに帰属した理由はここにあります。スピーカーボタンをアクティブにすると何とかCallKit UIの更新が強制されました。この時点ですでにCXHandleが存在するため、FaceTimeボタンが有効になります。

関連する問題