我将 CallKit 框架集成到我的应用程序中,并拨打电话。
我可以在本地电话最近记录中看到拨出电话。
但是当我点击拨出电话并想要获取电话信息时。它崩溃了。
*** 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
它不违反要求
我搜索了一整天,但似乎没有人遇到这个问题。
代码级别有什么问题或有其他方法获取电话信息吗?