gpt4 book ai didi

iphone - 核心电话框架在 4.0 中部分公开

转载 作者:行者123 更新时间:2023-12-03 20:57:53 24 4
gpt4 key购买 nike

由于我不想越狱我的 iPhone,因此我正在开发一个需要访问 Core Telephony 框架的个人应用程序。

在 4.x 中,核心电话框架已部分公开,但其大部分 future 仍然隐藏并保持私有(private)。

我已经从seriot.ch下载了头文件

我找到了所有已知的 CoreTelephony functions 的列表但我无法让我的代码做应该做的事情。一些建议?

在这些无用的情况下拒绝所有来电。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {        
// Override point for customization after application launch.
[window makeKeyAndVisible];
CTCallCenter *callCenter = [[CTCallCenter alloc] init];
callCenter.callEventHandler = ^(CTCall* call){
if (call.callState == CTCallStateIncoming) {
CTCallDisconnect(call);
}
};
return YES;

}

最佳答案

您不能将公共(public) CoreTelephony 调用事件处理程序与私有(private) CoreTelephony 函数(如 CTCallDisconnect)一起使用。您可以在此处查看所需私有(private)事件处理程序代码的工作示例:http://tech.ruimaninfo.com/?p=83 - 他们的关键位:

// Register our event handler
id ct = CTTelephonyCenterGetDefault();
CTTelephonyCenterAddObserver(ct, NULL, callback, NULL, NULL, CFNotificationSuspensionBehaviorHold);

// Our callback
static void callback(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo)
{
NSString *notifyname=(NSString *)name;
if ([notifyname isEqualToString:@"kCTCallIdentificationChangeNotification"])
{
NSDictionary *info = (NSDictionary *)userInfo;
CTCall *call = (CTCall *)[info objectForKey:@"kCTCall"];
NSString *caller = CTCallCopyAddress(NULL, call);
NSLog(@"Incoming call: %@",caller);
CTCallDisconnect(call);
}
}

我已经确认这可以在 iOS5.1 上运行

关于iphone - 核心电话框架在 4.0 中部分公开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3644557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com