我正在尝试构建一个返回以下信息的应用程序:
我看到我可以使用CoreTelephony,但我开始怀疑:要使用这些头文件(从类转储导入CoreTelephony.h ),设备必须被越狱?
如果不是,则CoreTelephony为iOS6提供有效的只读。
我就是这样做的:
CTServerConnectionRef conn;
void ConnectionCallback(CTServerConnectionRef connection, CFStringRef string, CFDictionaryRef dictionary, void *data) {
NSLog(@"ConnectionCallback");
CFShow(dictionary);
}
- (NSString *)coreTelephonyInfoForKey:(const NSString *)key {
NSString *retVal = nil;
conn = _CTServerConnectionCreate(kCFAllocatorDefault, ConnectionCallback,NULL);
if (conn) {
struct CTResult result;
CFMutableDictionaryRef equipmentInfo = nil;
_CTServerConnectionCopyMobileEquipmentInfo(&result, conn, &equipmentInfo);
if (equipmentInfo) {
retVal = [NSString stringWithString:CFDictionaryGetValue(equipmentInfo, (__bridge const void *)(key))];
CFRelease(equipmentInfo);
}
CFRelease(conn);
}
return retVal;
}
- (NSString *)IMEI {
return [self coreTelephonyInfoForKey:@"kCTMobileEquipmentInfoIMEI"];这是我的CoreTelephony.h
发布于 2013-09-24 15:04:36
部分回答你的问题:
回到你的问题上。我没有在CoreTelephony 7上试过。你试过了吗?(我不确定“如果不是,CoreTelephony只对iOS6有效吗?”暗示你试过了)。
发布于 2013-10-09 07:18:14
它可能需要com.apple.coretelephony.Identity.get的权利。在首选项应用程序中找到的。
https://stackoverflow.com/questions/18972242
复制相似问题