Question

Puis-je trouver UUID des appareils connectés Iphone de l'objectif-c sur le Mac? Quelque chose d'une liste des Iphones connectés cuvette le câble USB.

Était-ce utile?

La solution

Utilisez la commande ioreg et grep les résultats reçus. Une implémentation minimaliste:

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

Je pourrais intégrer davantage de contrôles et d'analyser davantage les résultats, pour vous assurer qu'il est vraiment un iPhone, juste au cas où il y a plus de dispositifs énumérés là-bas qui ont l'ensemble de la propriété « usb numéro de série ». Vérification de la propriété « SupportsIPhoneOS » serait encore confirmer l'identité de l'appareil. De cette façon, je pouvais construire une liste de connectés iPhone / iPod appareils, et d'obtenir leur UUID de la propriété de « usb numéro de série ».

Autres conseils

Apple garde l'iPhone assez verrouillé. Je ne pense pas que vous trouveriez facile à interroger quoi que ce soit de l'iPhone sans un code de bas niveau sur USB.

Y at-il une raison particulière que vous devez faire cela? Pouvez-vous pas seulement regarder dans la fenêtre Organisateur Xcode et voir quels appareils sont connectés, il? L'organisateur montre les UUID et plus d'informations sur les périphériques connectés, y compris les longs crash, la console de l'iPhone, des captures d'écran et le provisionnement.

Essayez ceci:

[[UIDevice device] uniqueIdentifier]

pour chacun de vos appareils connectés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top