Я сделал тестовое приложение для съемки фотографий с помощью кнопки камеры. Я тестирую симулятор, поэтому я не могу делать снимки. Но я создал метод IBAction, который при вызове позволяет пользователю выбрать изображение из библиотеки фотографий. Это метод: -NSLog не исполняет
- (IBAction)takePicture:(id)sender {
NSLog(@"Camera button tapped");
UIImagePickerController *imagePicker= [[UIImagePickerController alloc] init];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
NSLog(@"Yes. The Camera is available");
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
}
else{
NSLog(@"The Camera isn't available. Try thru the Photo Library");
[imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
}
imagePicker.allowsEditing=YES;
[imagePicker setDelegate:self];
NSLog(@"Presenting Modal Controller");
[self presentViewController:imagePicker animated:YES completion:NULL];
}
В приведенном выше сценарии, когда вызывается метод (то есть, когда я нажмите кнопку бар элемент камеры), консоль не регистрирует кнопку камеры повернутой сообщение, а также как Представление Modal Controller message.All другие соответствующие сообщения NSLog регистрируются так, как они должны быть. Я не понимаю, почему среда выполнения не выполняет эти строки NSLog. Есть аналогичная проблема в - (void) imagePickerController: (UIImagePickerController *) picker сделалFinishPickingMediaWithInfo: (NSDictionary *) info, с которым я сталкиваюсь. Вот реализация-
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSLog(@"imagePicker called");
NSString *oldKey= _item.imageKey;
if (oldKey) {
NSLog(@"Deleting image having key- %@",oldKey);
[[BNRImageStore sharedStore] deleteImageForKey:oldKey];
}
UIImage *image= [info objectForKey:UIImagePickerControllerEditedImage];
CFUUIDRef newUniqueID= CFUUIDCreate(kCFAllocatorDefault);
CFStringRef newUniqueIDString= CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
//Use that uniqueID to set our item's imageKey
NSString *key= (__bridge NSString *)newUniqueIDString;
_item.imageKey=key;
//Store image in the BNRImageStore with this key
NSLog(@"putting %@ in dictionary table",_item.imageKey);
[[BNRImageStore sharedStore] setImage:image forKey:_item.imageKey];
//Releasing Core-Foundation objects
CFRelease(newUniqueIDString);
CFRelease(newUniqueID);
[imageView setImage:image];
NSLog(@"Dismissing Modal Controller");
[self dismissViewControllerAnimated:YES completion:NULL];
}
Здесь. сообщения NSLog - imagePicker под названием, а в третьей последней строке - Отказ от модального контроллера не отображается в консоли. Снова среда выполнения не обрабатывает эти строки NSLog.
Я полагаю, что что-то не так, потому что это поведение очень странно. Что происходит?
Это звучит как проблема с производными данными. Попробуйте удалить ваши производные данные и выполнить чистую сборку –
Что такое производные данные? – rahulbsb
Можно ли удалить содержимое этой конкретной папки? Что он будет делать? – rahulbsb