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

标签 iphone ios ipad app-store-connect

我正在开发一个 iPhone 应用程序,并决定研究使其通用化。如果我将我的build设置设置为针对 iphone/ipad,很多尺寸和对齐方式都会出现问题(如我所料),而且通常看起来不太好。

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

我想知道在我提交时这是否会成为一个问题?如果应用程序面向 iPad,您能否仅在商店中发布适用于 iPad 的应用程序?

谢谢!

最佳答案

如果您为 iPhone 开发,您将希望使用具有适用于 iPhone/iPod 的所有正确大小的界面“xib”文件。 iPad 将被允许使用该应用程序

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

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

还有许多其他设置需要为 iPad 的图标、默认屏幕等项目进行设置。但是 Nib 文件设置是最需要的。

那么每个平台都有单独的 xib 文件。遵循模型- View - Controller 设置,将新 View (xib) 附加到现有 Controller (.h/.m) 并将新外观连接到您的代码并制作一个全新的应用程序将相对简单。

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

这是我用来确定我是否在使用 iPad 的代码。

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

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

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

关于iphone - 我可以为 iPad 发布针对 iPhone 的应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7313340/

相关文章:

iphone - 将 CGGradient 添加为 UILabel 的子图层会隐藏标签的文本

ios - xCode objective-C 访问数组中类内的变量

iphone - UIView 与核心图形

ios - UIApplication 将在后台运行多长时间

ios - 通过 url 为 scrollview ios 异步请求图像

iOS10 - 透明的应用程序背景

objective-c - iOS使我的应用程序不断在后台运行

ios - ipad air 2 多任务处理取代了详细信息 View 上的主视图

iphone - 最大字体大小 UIFont

ios - 如何在 < iPhone5 和 swift 中使用长值