私のアプリケーションでは、トーチライトのオプションがあります。ただし、トーチライトを備えているのはiPhone4とiPhone4Sだけです。他のデバイスにはトーチライトがありません。現在のデバイスモデルを見つけるにはどうすればよいですか?私を助けてください。前もって感謝します。
3063 次
6 に答える
4
機能が存在するかどうかの指標としてデバイス モデルを使用しないでください。代わりに、その機能が存在するかどうかを正確に伝える API を使用してください。
あなたの場合、AVCaptureDevice
の-hasTorch
プロパティを使用したい:
NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
NSMutableArray *torchDevices = [[NSMutableArray alloc] init];
BOOL hasTorch = NO;
for (AVCaptureDevice *device in devices) {
if ([device hasTorch]) {
[torchDevices addObject:device];
}
}
hasTorch = ([torchDevices count] > 0);
詳細については、AV Foundation プログラミング ガイドおよびAVCaptureDevice クラス リファレンスを参照してください。
于 2011-12-07T16:06:46.350 に答える
3
上記のコードよりも少ないコードで、より少ないメモリを使用できます。
NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
BOOL hasTorch = NO;
for (AVCaptureDevice *device in devices) {
if ([device hasTorch]) {
hasTorch = YES;
break;
}
}
hasTorch に正しい値が含まれるようになりました
于 2014-06-12T12:23:50.727 に答える