我正在开发一个 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/