2016-11-16 63 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