2016-11-17 9 views
0

Iタブネイティブ電話更新ムービー に私のアプリで作られた発信通話しかし、私は唯一のID(EX:12345678)を取得することができますが、説明(EX:デビッド)を取得することはできませんネイティブの電話のrecentsからVoIP電話の名前の説明を取得するには?

native phone recents

ここで

info of the outgoing callは、私がDESCRに関するすべての情報を見つけていないことができ

- (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; 
} 

AppDelegate.mで私のコードですINPersonオブジェクトのiption(EX:David)

電話の説明を得る他の方法はありますか?

答えて

0

私はあなたがそうすることはできないと思います。

あなたCXProviderオブジェクトを構成するとき、あなたは例えば、サポートハンドル・タイプ(CXHandle.HandleType)を指定:

providerConfiguration.supportedHandleTypes = [.phoneNumber] 

CXHandle documentationによると:

テレフォニープロバイダが受信した場合には、着信コールまたはユーザ が発信コールを開始し、もう1人の発信者がCXHandle オブジェクトによって識別されます。電話番号で識別される発信者の場合、ハンドルタイプは CXHandleTypePhoneNumberで、値は一連の数字です。電子メールアドレスで識別される 発信者の場合、ハンドルタイプは CXHandleTypeEmailAddressで、値は電子メールアドレスです。他の方法で識別された 発信者の場合、ハンドルタイプは CXHandleTypeGenericであり、値は通常、ユーザー名、数値ID、URLなどの一部のドメイン固有の形式( )に従います。

あなたは、アウトバウンドコールのための一般的なCXHandle追加することができます。

- (instancetype)initWithType:(CXHandleType)type 
         value:(NSString *)value; 

を、それは、この情報がアプリに渡されるuserActivityに渡されているかどうかわからないのです。

編集: ユーザー102008が指摘したように、Apple's Speakerbox exampleをご覧ください。連絡先を解決するには

、あなたの意思ハンドラに

func resolveContacts(forStartAudioCall intent: INStartAudioCallIntent, with completion: @escaping ([INPersonResolutionResult]) -> Void) { 
    // Your code here 
} 

EDIT 2このコールを追加することができます。 を私は学ぶことがたくさんより多くを持っている:(ここではより多くの情報とのリンクです: CallKit find number used to start app from native phone app

+0

」この情報がアプリケーションに渡されるuserActivityに渡されるかどうかは不明です」Speakerboxのサンプルコードを参照してください。 – user102008

関連する問題