我可以发布针对iPad的iPhone应用吗?

时间:2011-09-05 22:44:58

标签: iphone ios ipad itunesconnect

我正在开发一款iPhone应用程序,并决定着手实现它。如果我将我的构建设置设置为目标iphone / ipad,很多大小和对齐会受到影响(正如我所料),而且通常看起来不太好。

如果我只定位iPhone,但是在iPad上运行,并点击2x按钮,它看起来很棒。我想在iPad的应用程序商店发布我的应用程序,尽管将目标平台留作iPhone,因为它的外观和工作效果要好得多。

我想知道提交时这是否会成为一个问题?如果他们的目标是iPad,您是否只能在iPad上发布适用于iPad的应用程序?

谢谢!

3 个答案:

答案 0 :(得分:2)

如果您为iPhone开发,则需要使用具有iPhone / iPod所有正确尺寸的界面“xib”文件。 iPad将被允许使用该应用程序

在你的plist中,你可以选择为应用程序提供一个启动xib文件[NSMainNibFile]。

或者您也可以包含[NSMainNibFile~ipad]并将其编译为Universal。这将告诉ios它应该为iPhone / iPod打开NSMainNibFile,并且应该为iPad打开NSMainNibFile~ipad。

需要为ipad的图标,默认屏幕以及其他项目设置许多其他设置。但是Nib文件设置是最需要的。

然后你为每个平台都有单独的xib文件。按照模型 - 视图 - 控制器设置,将新视图(xib)连接到现有控制器(.h / .m)并将新外观连接到代码并创建一个全新的应用程序会相对简单。

部分代码需要根据您在iPad或iPod上的天气情况进行更改。 (例如布局,特殊iPad / iPod功能等)。

以下是我使用的代码确定我是否在iPad上。

#define IS_IPAD() ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] ? \
[[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad : NO)

一些开发人员完全不遵守MVC范例,因此您的项目可能需要一些重组才能在两个平台上运行。但是,如果您能够确定从一个平台到另一个平台的区别,那么您的应用程序将能够在两个平台上无缝运行。 (可能在iPad上有更好的布局,因为在布置控件时有更多的空间可以玩)

或者,如果您希望应用程序为iPhone风格但在iPad上运行,则默认情况下已经这样做了。

答案 1 :(得分:1)

如果您定位iPhone(以便它在iPad上以1x / 2x模式显示),它将仅显示在iPhone App Store中。

iPad用户仍然可以下载应用程序,但它将在iPhone应用程序部分中。

iPad App Store. See the iPhone App Section on the bottom

因此,除非您明确定位iPad,否则它不会出现在iPad商店中。您可以考虑重做iPad应用程序的图形和对齐方式,并将其作为高清应用程序出售。

如果您需要它是通用的,请看这样的事情:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    controller = [[MyController alloc] initWithNibName:@"MyiPadNib" bundle:nil];
else
    controller = [[MyController alloc] initWithNibName:@"MyiPodNib" bundle:nil];

答案 2 :(得分:1)

只有专门针对iPad(无论是iPad还是通用应用程序),您的应用程序才能在商店的iPad部分中查看。

您所说的是在iPad上运行的iPhone应用程序:您选择仅定位iPhone设备。这些应用程序不会显示在商店的iPad部分。

将其视为Apple的一项激励措施,让您设计一款在iPad和iOS上表现良好的应用。

请记住,iPad用户仍然可以通过商店下载仅限iPhone的应用程序,它们只是在一个单独的部分。