//-------------------------------------------------------------------------
// 오류 상황
//-------------------------------------------------------------------------
가로모드 전용의 앱을 개발중.
사진앨범에서 사진을 가져오려고. 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
Posted by 돌비
,