//-------------------------------------------------------------------------
// 오류 상황
//-------------------------------------------------------------------------
가로모드 전용의 앱을 개발중.
사진앨범에서 사진을 가져오려고. UIImagePickerController 를 사용하는데.
다음과 같은 오류가 발생함.
Supported orientations has no common orientation with the application, and [PUUIAlbumListViewController shouldAutorotate] is returning YES
앨범을 사용하려면 앱이 반드시 세로모드를 지원해야만 함.
//-------------------------------------------------------------------------
// 해결 방법
// xcode 8.0
// ios 10.1
// 해결하는데 꼬박 하루 걸렸음. ㅠㅠ
//-------------------------------------------------------------------------
* 프로젝트 설정 > General > Deployment Info > Device Orientation 에서 아래처럼 3개를 체크함
Portrait
Landscape Left
Landscape Right
* AppDelegate.m 에서 supportedInterfaceOrientationsForWindow 메소드는 필요없음.
* 만약 UINavigationController 를 사용한다면
AppDelegate.m 에 아래처럼 카테고리 추가.
@implementation UINavigationController (Rotation_IOS6)
-(BOOL)shouldAutorotate
{
return [[self.viewControllers lastObject] shouldAutorotate];
}
-(NSUInteger)supportedInterfaceOrientations
{
return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation];
}
@end
* 부모 ViewController 에 아래의 내용추가.
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeLeft | UIInterfaceOrientationLandscapeRight;
}
- (BOOL)shouldAutorotate
{
return YES;
}
* UIImagePickerController 를 상속받아서 새로 클래스를 만들 필요는 없음.
* UIImagePickerController 호출
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.allowsEditing = YES;
picker.delegate = self;
[self presentViewController:picker animated:NO completion:nil];
* 끝
'iOS 초보' 카테고리의 다른 글
UIView deep copy (0) | 2018.11.14 |
---|---|
이미지에 텍스트 추가하기. (0) | 2017.01.19 |
ios. ssl. client certificate. 클라이언트 인증서. pinning (0) | 2016.10.21 |
GPUImage 사용 (0) | 2016.09.21 |
Barcode 이미지 생성하기 (0) | 2016.08.26 |