Search code examples
objective-ciosuniversal

Apple App Rejection reason


We found that your app does not comply with the Apple iOS Human Interface Guidelines, as required by the App Store Review Guidelines.

Specifically, we noticed your app only supported the top up variant of the portrait orientation, but not the bottom up variation.

While supporting both variants of both orientations, each with unique launch images, provides the best user experience and is recommended, we understand there are certain applications that must run in the portrait orientation only. In this case, it would be appropriate to support both variants of that orientation in your application, e.g., Home button up and down.

Addressing this issue typically requires only a simple and straightforward code modification. However, if you require assistance, the Apple Developer Support Team is available to provide code-level assistance.

For more information, please review the Aim to Support All Orientations section of the iOS Human Interface Guidelines.

Could anyone point me some code for troubleshooting that? The main app was all fine about that but now on the update my app was rejected for the second time for the same reason.

Here is my code for that

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);}

@end

But it's npt working


Solution

  • since you said it's an universal app everything becomes clear.

    On iPads you have to support all interface orientations, especially all 180 degree variants. So if you support portrait you have to support portrait upside down too. If you support landscape left you have to support landscape right too.

    On iPhones there is no need to support portrait upside down. That's the default apple puts into their UIViewController templates.

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
            // on iPad support all orientations
            return YES;
        } else {
            // on iPhone/iPod support all orientations except Portrait Upside Down
            return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
        }
        return NO;
    }
    

    put that into every view controller in your app.