我想在CallKit的帮助下执行电话呼叫的操作,但根据Apple文档,它只能用于拨打VOIP电话,有什么方法可以拨打电话,结束当前通话,以及在CallKit的帮助下接听来电。CallKit Framework可以用来拨打,接听和结束电话呼叫,还是仅用于VOIP呼叫?
我正在使用私有框架(TelephonyUtilities),试图做上述活动。
NSBundle *bundlePath = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/TelephonyUtilities.framework"];
if ([bundlePath load]) {
Class TUCallCenter = NSClassFromString(@"TUCallCenter");
id tuCallCenter = [TUCallCenter sharedInstance];
}
但是没有一个TUCallCenter方法允许我从我的应用程序发起电话呼叫。虽然有定义的方法可用。 其中一些是:
- (id)_dial:(id)arg1 callID:(int)arg2 service:(int)arg3 sourceIdentifier:(id)arg4 dialType:(int)arg5 uniqueProxyIdentifier:(id)arg6;
- (id)_dialWithRequest:(id)arg1 completion:(id /* block */)arg2;
- (id)callWithCallUUID:(id)arg1;
- (id)callWithStatus:(int)arg1;
- (id)callWithUniqueProxyIdentifier:(id)arg1;
- (id)callsWithStatus:(int)arg1;
- (id)dial:(id)arg1 callID:(int)arg2 service:(int)arg3;
- (id)dial:(id)arg1 callID:(int)arg2 service:(int)arg3 sourceIdentifier:(id)arg4 uniqueProxyIdentifier:(id)arg5;
- (id)dial:(id)arg1 service:(int)arg2;
- (id)dialEmergency:(id)arg1;
- (id)dialEmergency:(id)arg1 sourceIdentifier:(id)arg2;
- (id)dialWithRequest:(id)arg1;
- (void)dialWithRequest:(id)arg1 completion:(id /* block */)arg2;
感谢您的回复,它的企业应用程序,所以我可以使用私有框架,但不是越狱设备,我会尝试使用TelephonyUtilities.framework –
@JasmeetSingh是的,私有框架允许用于企业应用程序。如果您进入TelephonyUtilities的流程,您可能可以执行上述所有操作。如果这是您第一次使用私有框架,我建议您检查同一个[git repo]的自述文件(https://github.com/nst/iOS-Runtime-Headers/blob/master/README.md) ,因为它解释了如何导入并使用它! – isklikas
我能够访问私有框架,但是当我尝试通过TUCallCenter拨打电话时,它不起作用,我使用了所有拨号方法,不知道我错过了什么。你有什么想法吗? –