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

Posted

技术标签:

【中文标题】我可以为 iPad 发布针对 iPhone 的应用程序吗?【英文标题】:can i release an app which targets iPhone for the iPad? 【发布时间】:2011-09-05 22:44:58 【问题描述】:

我正在开发一个 iPhone 应用程序,并决定研究使其具有通用性。如果我将构建设置设置为以 iphone/ipad 为目标,那么很多尺寸和对齐方式都会被破坏(如我所料),而且通常看起来不太好。

如果我只针对 iPhone,但在 iPad 上运行它,然后点击 2x 按钮,它看起来很棒。我想在 iPad 的应用商店上发布我的应用,尽管将目标平台保留为 iPhone,因为它看起来和工作得更好。

我想知道当我提交时这是否会成为问题?如果应用程序以 iPad 为目标,您是否只能在商店中发布适用于 iPad 的应用程序?

谢谢!

【问题讨论】:

【参考方案1】:

如果您为 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 上运行,默认情况下它已经这样做了。

【讨论】:

【参考方案2】:

如果您以 iPhone 为目标(使其在 iPad 上以 1x/2x 模式显示),它将仅出现在 iPhone App Store 中。

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

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

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

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

【讨论】:

是的,我不喜欢“高清”的全部附加费。我知道很多人只是为了重新调整他们的 iPad 应用程序并收取双倍费用而赚大钱,但我会走通用路线,主要是因为道德立场 我同意。如果您实际上是在添加功能(不包括镜像),例如额外媒体或全新且很棒的重新设计之类的东西,那么充值是有道理的,但除此之外,我喜欢购买/制作通用的应用程序【参考方案3】:

如果您的应用程序专门针对 iPad(仅 iPad 或通用应用程序),您的应用程序将只能在商店的 iPad 部分中查看。

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

将其视为 Apple 鼓励您设计在 iPad 和 iOS 上运行良好的应用程序的一种激励措施。

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

【讨论】:

以上是关于我可以为 iPad 发布针对 iPhone 的应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap 只针对 iPhone(不是 iPad)?

如何以不同的 iPhone/ipad 尺寸将我的应用程序上传到 App Store

通常,同时针对 iPhone 和 iPad 会增加多少开发时间?

我想将 iPad 资源更改为 iPhone [重复]

如何为 iPhone 创建一个可以在 iOS 9 中针对 iPad 多任务进行调整的 Popover?

我只想使用 Phonegap 定位 iPhone(不是 iPad)