请问这是什么语法,方法前面既没有+,也没有-,是省掉了+,还是省掉了-@implementation UIDevice (IOKit_Extensions)
#pragma IOKit Utils
NSArray *getValue(NSString *iosearch)
{
mach_port_t masterPort;
CFTypeID propID = (CFTypeID) NULL;
unsigned int bufSize;
kern_return_t kr = IOMasterPort(MACH_PORT_NULL, &masterPort);
if (kr != noErr) return nil;
io_registry_entry_t entry = IORegistryGetRootEntry(masterPort);
if (entry == MACH_PORT_NULL) return nil;
CFTypeRef prop = IORegistryEntrySearchCFProperty(entry,kIODeviceTreePlane, (__bridge CFStringRef) iosearch, nil,kIORegistryIterateRecursively);
if (!prop) return nil;
propID = CFGetTypeID(prop);
if (!(propID == CFDataGetTypeID()))
{
mach_port_deallocate(mach_task_self(), masterPort);
return nil;
}
CFDataRef propData = (CFDataRef) prop;
if (!propData) return nil;
bufSize = CFDataGetLength(propData);
if (!bufSize) return nil;
//NSString *p1 = [[[NSString alloc] initWithBytes:CFDataGetBytePtr(propData) length:bufSize encoding:1] autorelease];
NSString *p1 = [[NSString alloc]initWithBytes:CFDataGetBytePtr(propData) length:bufSize encoding:NSUTF8StringEncoding] ;
mach_port_deallocate(mach_task_self(), masterPort);
return [p1 componentsSeparatedByString:@"/0"];
}
#pragma IOKit Utils
NSArray *getValue(NSString *iosearch)
{
mach_port_t masterPort;
CFTypeID propID = (CFTypeID) NULL;
unsigned int bufSize;
kern_return_t kr = IOMasterPort(MACH_PORT_NULL, &masterPort);
if (kr != noErr) return nil;
io_registry_entry_t entry = IORegistryGetRootEntry(masterPort);
if (entry == MACH_PORT_NULL) return nil;
CFTypeRef prop = IORegistryEntrySearchCFProperty(entry,kIODeviceTreePlane, (__bridge CFStringRef) iosearch, nil,kIORegistryIterateRecursively);
if (!prop) return nil;
propID = CFGetTypeID(prop);
if (!(propID == CFDataGetTypeID()))
{
mach_port_deallocate(mach_task_self(), masterPort);
return nil;
}
CFDataRef propData = (CFDataRef) prop;
if (!propData) return nil;
bufSize = CFDataGetLength(propData);
if (!bufSize) return nil;
//NSString *p1 = [[[NSString alloc] initWithBytes:CFDataGetBytePtr(propData) length:bufSize encoding:1] autorelease];
NSString *p1 = [[NSString alloc]initWithBytes:CFDataGetBytePtr(propData) length:bufSize encoding:NSUTF8StringEncoding] ;
mach_port_deallocate(mach_task_self(), masterPort);
return [p1 componentsSeparatedByString:@"/0"];
}
解决方案 »
- 在XIB中排列的布局为什么到了IPHONE模拟器中就变了??!!!!有JB
- 很苦恼
- 给童鞋们散散分
- nsxmlparser解析xml出错
- Hybrid App?
- ios 程序中安装 描述文件
- Presenting view controllers on detached view controllers is discouraged 警告
- 望有高人指点一下如何学习ios开发这方面的东西~~
- 请教IOS页面跳转动画问题(手机淘宝)
- iOS开发,今天遇到个比较棘手的问题,关于tableview的
- uinavigationcontroller 导航栏透明度 alpha
- [分享]XMIDI V1.1 ,一款IOS上的MIDI文件播放引擎
我使用后,报错;
Undefined symbols for architecture armv7:
"_IOMasterPort", referenced from:
_getValue in network.o
"_IORegistryGetRootEntry", referenced from:
_getValue in network.o
"_IORegistryEntrySearchCFProperty", referenced from:
_getValue in network.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
为什么C和OC混在一个文件里,会有这个错误?哪里还需要设置吗?