Найти UUID подключенных устройств Iphone от объектива-C на Mac - PullRequest
1 голос
/ 01 октября 2009

Могу ли я найти UUID подключенных устройств Iphone от объектива-c на Mac? Что-то из списка подключенных Iphones через USB-кабель.

Ответы [ 3 ]

1 голос
/ 05 октября 2009

Используйте команду ioreg и получите полученные результаты. Минималистская реализация:

- (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 serial number». Проверка свойства «SupportsIPhoneOS» еще раз подтвердит подлинность устройства. Таким образом, я мог бы фактически создать список подключенных устройств iPhone / iPod и получить их UUID из свойства «серийный номер USB».

0 голосов
/ 02 октября 2009

Apple держит iPhone довольно закрытым. Я не думаю, что вам будет легко запросить что-либо с iPhone без какого-либо низкоуровневого кода через USB.

Есть ли конкретная причина, по которой вам нужно это сделать? Разве вы не можете просто посмотреть в окне «Органайзер» в Xcode и посмотреть, какие устройства там подключены? Органайзер показывает идентификаторы UUID и дополнительную информацию о подключенных устройствах, в том числе о сбоях, консоли iPhone, снимках экрана и подготовке.

0 голосов
/ 01 октября 2009

Попробуйте это:

[[UIDevice device] uniqueIdentifier]

для каждого подключенного устройства.

...