我将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
这并不违反规定
我搜索了一整天,但似乎没有人符合这个问题。
代码级别有什么问题,或者有其他方式获取手机信息?
你提到在info.plist中NSUserActivityTypes? –
不,我不在info.plist中添加NSUserActivityTypes键。 使用callkit时是否需要添加任何密钥? –
你解决了这个问题吗? –