На самом деле, я думаю, что настоящая причина в том, что вы пропускаете протокол
в UIImagePickerController.h вы можете увидеть определение делегата:
@property(nonatomic,assign) id <UINavigationControllerDelegate, UIImagePickerControllerDelegate> delegate;
Итак, если вы хотите назначить делегата следующим образом:
picker.delegate = self;
Самоконтроль представления должен реализовывать как UINavigationControllerDelegate , так и UIImagePickerControllerDelegate
Если вы реализуете только UIImagePickerControllerDelegate , вы не сможете найти какой-либо литерал ошибки, но вы получите предупреждение " Назначение идентификатору из несовместимого типа" 'CameraVIewController ' '* ", добавьте UINavigationControllerDelegate к объявлению протокола вашего viewController, избавьтесь от него.
Это очень поздний ответ, но я только что встретил и решил его, надеюсь, это поможет.