1

MacのObjective-cから接続されたiPhoneデバイスのUUIDを見つけることはできますか?USBケーブルを介して接続されたiPhoneのリストの一部。

4

3 に答える 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;
  }

「usbシリアル番号」プロパティが設定されているデバイスがリストにある場合に備えて、さらにチェックを組み込み、結果をさらに解析して、実際にiPhoneであることを確認できます。「SupportsIPhoneOS」プロパティをチェックすると、デバイスのIDがさらに確認されます。このようにして、接続されているiPhone / iPodデバイスのリストを実際に作成し、「usbシリアル番号」プロパティからそれらのUUIDを取得できます。

于 2009-10-05T13:51:42.967 に答える
0

AppleはiPhoneをかなりロックダウンし続けています。USB経由の低レベルのコードがなければ、iPhoneから何かをクエリするのは簡単ではないと思います。

これを行う必要がある特定の理由はありますか?Xcodeのオーガナイザーウィンドウを見て、そこに接続されているデバイスを確認するだけではいけませんか?オーガナイザーは、UUIDと、クラッシュロング、iPhoneのコンソール、スクリーンショット、プロビジョニングなど、接続されているデバイスに関する詳細情報を表示します。

于 2009-10-01T23:52:31.613 に答える
-1

これを試して:

[[UIDevice device] uniqueIdentifier]

接続されているデバイスごとに。

于 2009-10-01T14:40:15.850 に答える