Apple App拒绝原因

时间:2012-03-08 21:28:25

标签: objective-c ios universal

  

我们发现您的应用不符合Apple iOS Human   界面指南,根据App Store审查指南的要求。

     

具体来说,我们注意到您的应用仅支持自上而下的变体   纵向方向,但不是自下而上的变化。

     

支持两种方向的两种变体,每种都有独特的   启动图像,提供最佳用户体验,建议使用   我们知道某些必须运行的应用程序   仅限纵向。在这种情况下,它是适当的   在您的应用程序中支持该方向的两种变体,例如,   主页按钮上下。

     

解决此问题通常只需要一个简单的和   直接的代码修改。但是,如果您需要帮助,   Apple开发人员支持团队可以提供代码级别   协助。

     

有关详细信息,请查看“支持所有人的目标”   iOS人机界面指南的方向部分。

有人能指出一些代码进行故障排除吗?主要的应用程序都很好,但现在在更新我的应用程序第二次被拒绝出于同样的原因。

这是我的代码

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

@end

但它正在工作

5 个答案:

答案 0 :(得分:4)

因为你说它是一个通用的应用程序,一切都变得清晰。

在iPad上,您必须支持所有界面方向,尤其是所有180度变体。因此,如果你支持肖像,你也必须支持肖像颠倒。如果你支持景观,你也必须支持景观。

在iPhone上,无需支持纵向倒置。这是默认的苹果放入他们的UIViewController模板。

- (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;
}

将其添加到您应用中的每个视图控制器中。

答案 1 :(得分:3)

在视图控制器中覆盖shouldAutorotateToInterfaceOrientation:

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

答案 2 :(得分:2)

我建议修复“具体来说,我们注意到您的应用仅支持纵向方向的充值变体,但不支持自下而上的变体。”并且测试它来自IOS5,或者你正在将应用程序放在那里的iOS版本。 这几乎是唯一的问题。

也许发布您的方向代码,我们可以为您解决。

无论如何,像这样的问题太过本地化了。有关针对SO的问题,请阅读FAQ。感谢

答案 3 :(得分:2)

你应该同时接受两个肖像方向:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return UIInterfaceOrientationIsPortrait(interfaceOrientation);
}

此代码同时接受UIInterfaceOrientationPortraitUIInterfaceOrientationPortraitUpsideDown

修改

现在您提到应用程序是通用的,然后是,Apple HIG建议iPad应用程序支持所有方向(4)或至少两个横向或两个纵向(2)。

如果您希望该应用支持iPad上的所有方向:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

return YES;

如果您希望该应用仅支持纵向方向

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

return UIInterfaceOrientationIsPortrait(interfaceOrientation);

答案 4 :(得分:2)

我不确定如何在帖子下面写这个,但是当您将视图上下颠倒时,应用程序是否会旋转?我解释了Apple的回应,因为你目前不支持它。

以下是有关处理视图的文档https://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIViewController_Class/Reference/Reference.html

在“处理视图轮播”下,您必须支持此处引用的枚举类型https://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/c/econst/UIInterfaceOrientationPortrait

我相信这样的事情会出现在一个基本的例子中,所以这或多或少都是他们的目标。

祝你好运,欢呼。

/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/