I have a universal landscape mode app. SKStoreProductViewController works fine on iPad. But crashes on iphone ios 7. Even I set the SKStoreProductViewController to display on portrait on iPhone.
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
NSLog(@"iphone portrait");
return UIInterfaceOrientationPortrait;
}
else
return [super preferredInterfaceOrientationForPresentation];
}
The SKStoreProductViewController shows on portrait on iphone iOS 7, but when I rotate the phone, it crashes. I got error message says:
* Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES'
Anyone knows how to solve the issue?
Thanks
You want should autorotate to return NO if the application and the ViewController have no common interface orientations. Here's my solution:
Subclass SKStoreProductViewController and override -shouldAutorotate with the following:
- (BOOL)shouldAutorotate {
UIInterfaceOrientationMask applicationSupportedOrientations = [[UIApplication sharedApplication] supportedInterfaceOrientationsForWindow:[[UIApplication sharedApplication] keyWindow]];
UIInterfaceOrientationMask viewControllerSupportedOrientations = [self supportedInterfaceOrientations];
return viewControllerSupportedOrientations & applicationSupportedOrientations;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With