我可以从mac上的objective-c找到连接的Iphone设备的UUID吗?通过 USB 电缆连接的 Iphone 列表。
问问题
1594 次
3 回答
1
使用 ioreg 命令,并 grep 接收到的结果。一个极简的实现:
- (NSString*)getConnectedIphoneUIID
{
NSTask *ioRegTask = [[NSTask alloc] init];
[ioRegTask setLaunchPath:@"/usr/sbin/ioreg"];
[ioRegTask setArguments:[NSArray arrayWithObjects:@"-Src",@"IOUSBDevice",nil]];
NSTask *grepTask = [[NSTask alloc] init];
[grepTask setLaunchPath:@"/usr/bin/grep"];
[grepTask setArguments:[NSArray arrayWithObjects:@"-i", @"usb serial number", nil]];
NSPipe *ioregToGrepPipe = [[NSPipe alloc] init];
[ioRegTask setStandardOutput:ioregToGrepPipe];
[grepTask setStandardInput:ioregToGrepPipe];
NSPipe *outputPipe = [[NSPipe alloc] init];
[grepTask setStandardOutput:outputPipe];
NSFileHandle *outputFileHandle = [[outputPipe fileHandleForReading] retain];
[ioRegTask launch];
[grepTask launch];
NSData *outputData = [[outputFileHandle readDataToEndOfFile] retain];
[ioRegTask release];
[grepTask release];
[outputData release];
NSString *nvcap = [[NSString alloc] initWithData:outputData encoding:NSUTF8StringEncoding];
return nvcap;
}
我可以合并更多检查并进一步解析结果,以确保它真的是一部 iPhone,以防万一那里列出了更多设置了“usb 序列号”属性的设备。检查“SupportsIPhoneOS”属性将进一步确认设备的身份。这样,我实际上可以建立一个连接的 iPhone/iPod 设备列表,并从“usb 序列号”属性中获取它们的 UUID。
于 2009-10-05T13:51:42.967 回答
0
苹果保持 iPhone 相当锁定。我认为如果没有一些通过 USB 的低级代码,你会发现从 iPhone 查询任何东西都不容易。
您需要这样做有什么具体原因吗?你能不能只看一下 Xcode 的 Organizer 窗口,看看那里连接了哪些设备?Organizer 显示 UUID 和有关连接设备的更多信息,包括崩溃长、iPhone 的控制台、屏幕截图和配置。
于 2009-10-01T23:52:31.613 回答
-1
尝试这个:
[[UIDevice device] uniqueIdentifier]
每个连接的设备。
于 2009-10-01T14:40:15.850 回答