iOS7端末でLEDランプを点灯させるための方法を紹介します。

実装方法

AVFaundation.frameworkのAVCaptureDeviceというクラスを使って実現できます。 実装方法はこんな感じです。

#!!{"brush":"objc","title":"ViewController.m"}
@implementation ViewController{
AVCaptureSession *captureSession;
}
- (void)viewDidLoad
{
[super viewDidLoad];
//captureSession = [self session];
}
//LEDライトを点灯
-(IBAction)lighton:(id)sender {
[captureSession startRunning];
NSError *error = nil;
AVCaptureDevice *captureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
[captureDevice lockForConfiguration:&error];
captureDevice.torchMode = AVCaptureTorchModeOn;
[captureDevice unlockForConfiguration];
}
//LEDライトを消灯
-(IBAction)lightoff:(id)sender {
NSError *offerror = nil;
AVCaptureDevice *offcaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
[offcaptureDevice lockForConfiguration:&offerror];
offcaptureDevice.torchMode = AVCaptureTorchModeOff;
[offcaptureDevice unlockForConfiguration];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

ソースコードの解説

AVCaptureDeviceをインスタンス化して「torchMode」というプロパティの値を「AVCaptureTorchModeOn」にすればLED点灯します。 逆に「AVCaptureTorchModeOff」にすると消灯します。
LEDランプは懐中電灯アプリなどでよく利用されています。 是非参考にしてみてください。

サンプルコード

サンプルコードをGitHubにアップしておきますので自由にお使いください。 https://github.com/imagepit/LedControllSample

参考サイト

■iPhone4のLEDフラッシュを使って、ライトを点灯させる方法
http://applewalker.blog8.fc2.com/?no=144 

■AVFondation.frameworkを使って懐中電灯アプリを作る
http://luminosite-jwell.blogspot.jp/2012/03/avfondationframework.html