Domanda

Posso trovare UUID di dispositivi iPhone collegato dalla Objective-C su Mac? Qualcosa di un elenco di iPhone collegati trogolo il cavo USB.

È stato utile?

Soluzione

Utilizzare il comando ioreg, e grep i risultati ricevuti. Un'implementazione minimalista:

- (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;
  }

ho potuto incorporare più controlli e l'ulteriore analizzare i risultati, per essere sicuri che sia davvero un iPhone, nel caso in cui ci sono più dispositivi elencati in là che hanno il set di proprietà "numero di serie USB". Verifica della proprietà "SupportsIPhoneOS" confermerebbe ulteriormente l'identità del dispositivo. In questo modo, ho potuto effettivamente costruire un elenco dei dispositivi iPhone / iPod collegato, e ottenere la loro UUID del dal "numero di serie usb" proprietà.

Altri suggerimenti

Apple mantiene l'iPhone piuttosto bloccata. Non credo che si può trovare facile per interrogare qualsiasi cosa, da l'iPhone senza un codice a basso livello tramite USB.

C'è un motivo specifico è necessario fare questo? Si può non solo guardare nella finestra Organizer in Xcode e vedere quali dispositivi sono collegati lì? L'Organizzatore mostra gli UUID e ulteriori informazioni sui dispositivi connessi, tra cui anela di crash, console di iPhone, screenshot e provisioning.

Prova questo:

[[UIDevice device] uniqueIdentifier]

per ognuno dei tuoi dispositivi collegati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top