2016-11-16 62 views
1

我將CallKit框架集成到我的應用程序,並撥打電話。通過使用CallKit無法從本地電話最近獲得voip電話信息

我可以看到本機電話最近的傳出呼叫。

但是,當我選擇撥出電話,並希望獲得手機信息。 它墜毀。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSUserActivity interaction]: unrecognized selector sent to instance 0x17d4ab90' 

這是我在AppDelegate.m

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

代碼,我在INInteraction *interaction = userActivity.interaction;

崩潰和我一起互動信息

@property (readonly, nullable, NS_NONATOMIC_IOSONLY) INInteraction *interaction API_AVAILABLE(macosx(10.12), ios(10.0)); 

檢查以下是我的環境

mac: 10.12.1 xcode: 8.1 iOS: 10.1.1

這並不違反規定

我搜索了一整天,但似乎沒有人符合這個問題。

代碼級別有什麼問題,或者有其他方式獲取手機信息?

+0

你提到在info.plist中NSUserActivityTypes? –

+0

不,我不在info.plist中添加NSUserActivityTypes鍵。 使用callkit時是否需要添加任何密鑰? –

+0

你解決了這個問題嗎? –

回答

0

我希望你錯過了info.plist中的NSUserActivityTypes鍵。下面是關鍵和價值增加的基礎上,你正在處理的意圖,

enter image description here