Tag: 核心电话

如何解决在VAFieldTest应用程序中发生的_CTServerConnectionRegisterForNotification崩溃

我试图在我的设备上运行VAFieldTest应用程序,但应用程序崩溃在这一行_CTServerConnectionRegisterForNotification 。 我怎样才能解决这个崩溃? 这是我通过的参数: CTServerConnectionRef conn; void register_notification(){ if (!mach_port || !conn) return; void *libHandle = dlopen("/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony", RTLD_LOCAL | RTLD_LAZY); void *kCTCellMonitorUpdateNotification = dlsym(libHandle, "kCTIndicatorsSignalStrengthNotification"); if( kCTCellMonitorUpdateNotification== NULL) NSLog(@"Could not find kCTCellMonitorUpdateNotification"); int x = 0; //placehoder for callback _CTServerConnectionRegisterForNotification(conn,kCTCellMonitorUpdateNotification,(void*)&x); } 这是崩溃报告: (gdb) bt #0 0x344f9710 in __CFStrConvertBytesToUnicode () #1 0x344faaea in __CFStringEncodeByteStream () #2 […]

在iOS7中以编程方式断开呼叫

我想在iOS7以编程方式断开电话。 我知道我们可以通过编程来处理 iPhone上的来电,短信等的中断 (无需Appstore)。 我必须创build一个启动守护进程来获取通知,因为Cateall不会在Nate的答复中解释的背景中向UIA应用发送通知。 Nate的评论显示,使用启动守护进程(不使用Appstore)可以在iPhone上断开某些调用。 所以,我的第一个问题是可能的? 如果是的话怎么办? 注意: 我的应用程序不会在AppStore上。

iOS在Swift中获取信号强度(核心电话)

我是iOS新手,正在学习使用Swift进行编码。 我的应用需要测量信号强度。 我发现这个代码在Objective-C / C上工作,需要一些帮助来实现在Swift上。 这是我得到的。 希望有人能帮我完成它。 目标C int getSignalStrength() { void *libHandle = dlopen("/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony", RTLD_LAZY); int (*CTGetSignalStrength)(); CTGetSignalStrength = dlsym(libHandle, "CTGetSignalStrength"); if( CTGetSignalStrength == NULL) NSLog(@"Could not find CTGetSignalStrength"); int result = CTGetSignalStrength(); dlclose(libHandle); return result; } 迅速 func getSignalStrength()->Int{ var result : Int! = 0 let libHandle = dlopen ("/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony", RTD_LAZY) ** help […]

iOS打电话

我可以通过使用void CTCallDialWithID(NSString *numberToDial); 但我的目标是没有任何可见的用户界面,以某种方式隐藏调用用户界面屏幕。 任何想法如何实现? 这应该在越狱设备上工作!(我没有针对非越狱设备 )

获取单元信息后,引发EXC_BAD_ACCESS

我正在使用CellStumbler获取iPhone的手机ID,位置区号和其他信息。 调用getInfo后,我得到一个EXC_BAD_ACCESS,我不明白为什么。 这是所有无证的私人function,但肯定有人可以帮助。 这个问题与函数中的任何行都没有关联,只是在运行之后才发生。 Cell Stumbler 我知道这不是App Store可以批准的。 int cellcount; _CTServerConnectionCellMonitorGetCellCount(&t1,sc,&cellcount); printf("Cell count: %x\n",cellcount); printf("Size = %lx\n", sizeof(struct CellInfo)); unsigned char *a=malloc(sizeof(struct CellInfo)); for(b=0;b<cellcount;b++) { _CTServerConnectionCellMonitorGetCellInfo(&t1,sc,b,a); memcpy(&cellinfo,a,sizeof(struct CellInfo)); printf("Cell Site: %d, MNC: %d, ",b,cellinfo.servingmnc); printf("Location: %d, Cell ID: %d, Station: %d, ",cellinfo.location, cellinfo.cellid, cellinfo.station); printf("Freq: %d, RxLevel: %d, ", cellinfo.freq, cellinfo.rxlevel); printf("C1: %d, C2: %d\n", […]

Callkit可以用于非VOIP呼叫来获得呼叫状态在IOS?

我已经阅读了有关进行非VoIP呼叫的问题,看来,开放的url是唯一的方法来做到这一点。 由于CoreTelephony已被弃用,使用Callkit打开打开的URL时可以使用Callkit来获取呼叫状态吗? 如果没有,有没有办法通过编程获得调用状态? 我正在开发一个内部应用程序。 如何使用CallKit进行非VoIP拨打? 提前致谢!!

使用核心电话捕获传入的Callevent?

我想创build一个越狱iphone(ios 4.0或更高)的应用程序。 我希望我的应用程序保持运行状态,每当我的手机开始响铃(对于来电),我的应用程序应该能够捕捉到“呼入”事件,并基于此,我可以执行一些function,例如较低的扬声器音量。 任何人都可以指导我正确的方向,至于如何捕获这样的事件,或者如果它是在私有核心框架中可用?

如何testingEDGE或GPRS或任何其他慢/坏的networking

在我的iOS应用程序中,我支持在线和离线工作。 为此,我使用了苹果的Reachability代码 。 现在,如果蜂窝移动networking是EDGE或GPRS或者networkingbad/slow现在我想显示用户处于离线状态。 我已经使用了下面的代码(find解决scheme )。 码: CTTelephonyNetworkInfo *telephonyInfo = [CTTelephonyNetworkInfo new]; NSLog(@"Current Radio Access Technology: %@", telephonyInfo.currentRadioAccessTechnology); [NSNotificationCenter.defaultCenter addObserverForName:CTRadioAccessTechnologyDidChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { NSLog(@"New Radio Access Technology: %@", telephonyInfo.currentRadioAccessTechnology); }]; 我使用3G cellular mobile network进行设备testing,并取得了成功的CTRadioAccessTechnologyWCDMA 。 要testingEDGE或GPRS或任何其他slow/bad network我使用设备的开发人员设置的networking链接条件 ,但仍然获得CTRadioAccessTechnologyWCDMA价值。 编辑: 经过这么多的研究,我发现了另一种测量信号强度的方法。 我已经testing了它在iOS7设备上的工作,但不是在iOS8.4设备。 另外我觉得这是私人API,所以苹果可能会拒绝这个。 这是我的代码: #import <CoreTelephony/CTTelephonyNetworkInfo.h> #import <dlfcn.h> int CTGetSignalStrength(); @implementation ViewController -(int) getSignalStrength […]

在iOS 10中获得电话状态

我想在我的应用程序中获得电话状态。 经过一番search,我find了CoreTelephony框架。 但是在iOS 10中已经弃用了。那么还有其他的select吗? 我也find了CallKit 。 iOS 10中的一个新框架。但是没有得到与我search相同的调用状态。

Navita TEM应用程序如何获得通话logging信息?

Navita https://itunes.apple.com/us/app/navita-tem-personal/id590228620?mt=8如何设置显示通话logging? 如果我将应用程序从任务pipe理器中划掉,那么它将错过这些调用,这表明它必须使用CTCallCenter的callEventHandler,并且通过保存响应callEventHandlercallback的时间/持续时间来创build自己的通话logging。 但是,如果是这样的话,那么在后台怎么做呢? 我的印象是,callEventHandler只能在前台使用,而不能在后台使用? 该应用程序正在使用位置服务,但即使禁用此function,它仍然能够获得有关通话的信息​​(只要应用程序未被暂停)。 我虽然它可能使用后台位置更新,以保持自己准备接收callEventHandlercallback,但显然不是。 Navita应用程序还可以显示通话时间和通话时间。 奖励将被授予一个答案,其中包含足够的,准确的和详细的信息,使我能够模仿Navita应用程序的行为,具体来说,我必须能够编写一个应用程序,可以获得发生的电话的时间和持续时间而应用程序不在前台,而设备的位置服务被closures,并且在应用程序在后台的时间比通过使用beginBackgroundTaskWithExpirationHandler授予的〜3分钟更长之后: Here is what I observe with the Navita app that I want to be able to reproduce: 1) Run app 2) Task away from app 3) Go to device settings, privacy, and turn off Location Services. 4) Go to device settings, privacy, background app refresh and […]