사진 불러오기 기능에,
카메라 기능을 추가해 보도록 하자
사진 불러오는 버튼으로 Load 버튼을 사용하는데
이번에는 Load 버튼을 사용해서,
카메라를 불러오도록 하자
다른 구현 부분들은 다음 링크를 통하여,
사진 불러오기 기능 포스팅을 확인하면 된다
GO TO =>> 사진 불러오기 기능
이번에는 그 중에서,
LoadClick 부분만 수정을 할 것이다
사진앨범 속성을 선택하는 것처럼,
카메라 속성을 선택하고, 시뮬레이터를 실행해보면,
========================================================================
// 사진 앨범에 들어있는 이미지나 동영상을 선택할 수 있는 속성
// picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
========================================================================
그냥 사진을 불러오는 것처럼 사용했을 뿐인데,
자꾸 이해못할 에러메시지가 발생하였다
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'Source type 1 not available'
이곳저곳에서 메시지 관련하여 찾아봤지만, 답을 찾기 힘들었다
어디 물어볼 곳도 딱히 없어서 몇일간 헤매다가
결국 찾아낸 답은,
시뮬레이터에서 카메라 기능을 사용하려고 했기 때문이었다
시뮬레이터에는 카메라 기능을 테스트 할 수가 없고,
그것을 하려고 하니, 문제가 발생하는 것이었다
정상적으로 작동하기 위해서, 다음 부분이 필요하다
// + (BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType;
// returns YES if source is available (i.e. camera present)
사용하기 전에, 특정 속성이 사용가능한지 확인하는 것이다
이 부분을 적용하면, 카메라 기능 자체는 시뮬레이터 내 테스트가 불가하지만,
시뮬레이터의 동작시에 오류가 발생하지 않는다
========================================================================
// 사진 앨범에서 이미지를 가져온다
-(IBAction)LoadClick
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
// 카메라 사용가능?
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
}else{
// 카메라 사용불가능?
}
picker.delegate = self;
// 편집기능 여부 설정
picker.allowsEditing = NO;
[self presentViewController:picker animated:YES completion:nil];
}
'IT > iPhone' 카테고리의 다른 글
ios에서 테이블뷰에서, 커스터마이징된 셀을 삭제하는 법 - 검색편 (0) | 2016.05.03 |
---|---|
ios에서 PickerView 를 사용하기 위한 준비단계 (0) | 2016.04.29 |
setNeedsDisplay 와 DrawRect (0) | 2016.04.16 |
[ios앱만들기-사진편집]사진에 직접 그림을 그리기-1 (0) | 2016.04.11 |
ios에서 DB접근시 No such Table 오류 발생 및 해결방법 (0) | 2016.04.08 |