我正在开发一个适用于 facetime 的应用程序。不幸的是,还没有可用的 Facetime 框架或 API,所以我正在使用我所拥有的。就像你们都必须知道的那样,当拨打 Facetime 电话时,本机电话应用程序会完成这项工作。唯一的问题是,当通话结束时,它会留在那儿。
我想要做的是,一旦通话结束,向用户发送本地通知,询问他是否想回到我的应用程序,这一切都在 CoreTelephony 框架的帮助下。我知道这是一个正在进行中的框架,它仍然是一个私有的,但是:
我可以在我的应用程序中使用该框架并发布它,而不会被 Apple 拒绝吗?
该框架是否也适用于 Facetime?我无法让它工作。 这是我所做的:
- 我首先在我的 appDelegate 头文件中导入了框架
- 接着...
.
- (void)applicationDidEnterBackground:(UIApplication *)application{
NSLog(@"applicationDidEnterBackground");
CTCallCenter *callCenter = [[CTCallCenter alloc] init];
callCenter.callEventHandler=^(CTCall* call){
if (call.callState == CTCallStateDialing){
NSLog(@"Call Dialing");
}
if (call.callState == CTCallStateConnected){
NSLog(@"Call Connected");
}
if (call.callState == CTCallStateDisconnected){
NSLog(@"Call Disconnected");
}
};
}
没有任何东西被追踪。有任何想法吗?
更新:我只是进行了一个小测试,我发现我的代码可以完美地与实际的电话通话。CTCallCenter 块必须放在 applicationDidBecomeActive 方法中。我还意识到(就像 Apple 文档所说的那样),框架仅在您在应用程序中时才会发送这些通知。暂停模式不会收到任何通知。