Я создаю приложение для iPhone, которое должно запускаться в режиме камеры (с пользовательским макетом вверху, но это будет позже). Я уже создал версию этого приложения, в которой я нажимаю кнопку, которая позволяет мне выбрать фотографию из альбома iPhone или сделать новую фотографию.
Попытка использовать один и тот же код в другом сбое.
Изначально у меня была функция takePicture, которую я использовал для запуска камеры
- (void)takePicture
{
isInCaptureMode = YES;
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.mediaTypes =
[UIImagePickerController availableMediaTypesForSourceType:
UIImagePickerControllerSourceTypeCamera];
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
imagePicker.videoQuality = UIImagePickerControllerQualityTypeMedium;
// set delegate
[imagePicker setDelegate:self];
// Place image picker on the screen
[self presentModalViewController:imagePicker animated:YES];
[imagePicker release];
}
Поэтому я подумал про себя: «Я, вероятно, могу создать одно приложение представления, добавить этот код в функцию viewDidLoad контроллера представления и использовать его в качестве отправной точки». Но, увы, я застрял там. Когда я это делаю, приложение запускается и (если на устройстве есть камера) экран становится черноватым, если на устройстве нет камеры (iPad или симулятор), приложение вылетает.
Первоначально я создал приложение с использованием Xcode 3, но теперь перешел на 4.2, хотя оригинальное приложение работает нормально в 4.2 (хотя после небольшой настройки)
Может кто-нибудь объяснить, почему это происходит?