Se la vostra applicazione sfrutta la fotocamera per catturare immagini, o per offrire funzionalità legate alla realtà aumentata, o per qualsiasi altro motivo, potreste aver bisogno di verificare la sua presenza all’interno del dispositivo su cui sta girando il vostro programma. Ricordate che l’App Store è raggiungibile non solo dagli iPhone, ma anche dagli iPod Touch e da poco anche dagli iPad. Se la vostra App ha quindi una funzionalità legata alla fotocamera, potreste voler decidere, ad esempio, se mostrare o meno il relativo pulsante di apertura.

Certo, se la vostra App, invece, facesse uso esclusivo di questo componente in tutta l’applicazione, o cmq questa fosse di vitale importanza e non solo un’appetibile opzione, allora occorrerà fornire questa informazione ai possibili clienti in modo chiaro e preciso nella descrizione dell’applicazione in App Store.

Vediamo ora come possiamo rilevare quest’informazione con poche righe di codice:

if (![UIImagePickerController  isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
 
        // Fotocamera non presente
	UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"ATTENZIONE" message:@"Non hai una fotocamera" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
	[alertView show];
	[alertView release];
 
	pulsanteApriFotocamera.enabled = NO;	
 
} else {
 
        // Fotocamera presente
	UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"TRANQUILLO" message:@"Hai una fotocamera" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
	[alertView show];
	[alertView release];
 
	pulsanteApriFotocamera.enabled = YES;
}

Se provate questo codice nel simulatore, ad esempio inserendolo all’interno del metodo “viewDidLoad, questo sarà il risultato:


TIPS#010 - Test su iPhone Simulator

Eseguendolo sui vostri iPhone la fotocamera verrà invece rilevata:


TIPS#010 - Test su iPhone