1

如果設備不支持LED調光,我正嘗試關閉手電筒應用中的圖像。最好的方法來處理這個錯誤? [AVCaptureFigVideoDevice setTorchModeOnWithLevel:error:]:發送到實例的無法識別的選擇器

NSError* outError; 
     BOOL success = [device setTorchModeOnWithLevel:brightnessLevel error:&outError]; 
     if(!success){ 
      [self.lightDialIndicator setHidden: YES]; 
      self.lightDial.image = [UIImage imageNamed:@"light_dial_disabled.png"]; 
     } 

,但我的應用程序崩潰並出現以下錯誤

[AVCaptureFigVideoDevice setTorchModeOnWithLevel:error:]: unrecognized selector sent to instance 0x73ad460 

的檢測時設備不會允許我使用setTorchModeOnWithLevel更好的/工作方式的任何想法?

回答

2

首先,setTorchModeOnWithLevelAVCaptureDevice類的一個屬性。

第二,如果你想測試,如果一個類可以給你在它調用某個選擇迴應,你使用這個:

BOOL isSuccessful = NO; 
if ([device respondsToSelector:@selector(setTorchModeOnWithLevel:error:)]) { 
    NSError* outError; 
    isSuccessful = [device setTorchModeOnWithLevel:brightnessLevel error:&outError]; 
} 
if (!isSuccessful) { 
    [self.lightDialIndicator setHidden: YES]; 
    self.lightDial.image = [UIImage imageNamed:@"light_dial_disabled.png"]; 
} 

你沒有告訴你如何在實例device您例如,但這適用於您不確定是否具有某種方法的任何課程。

1

Any idea of a better/working way

是的,做文檔告訴你要做的事情。 setTorchModeOnWithLevel:error:實例方法,而不是方法。將它發送給一個實例。你正在發送它到一個類(AVCaptureFigVideoDevice)。

相關問題