MacでObjective-Cのから接続されているiPhoneのデバイスのUUIDを探します

StackOverflow https://stackoverflow.com/questions/1504335

  •  19-09-2019
  •  | 
  •  

質問

私は、Mac上の目的-cから接続されているiPhoneのデバイスのUUIDを見つけることができますか?接続されたiPhoneのリストのようなものは、USBケーブルを谷ます。

役に立ちましたか?

解決

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」プロパティをチェックすると、さらにデバイスの身元を確認します。この方法で、私は実際に接続されているiPhone / iPodのデバイスのリストを作成し、「USBシリアル番号」プロパティから自分のUUIDのを得ることができます。

他のヒント

AppleはかなりロックダウンされたiPhoneを保持します。私はあなたはそれが簡単にUSB経由いくつかの低レベルのコードなしでiPhoneから何かを照会するために見つけるだろうとは思いません。

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

これを試してください:

[[UIDevice device] uniqueIdentifier]

あなたの接続されたデバイスのそれぞれについてます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top