我將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時是否需要添加任何密鑰? –
你解決了這個問題嗎? –