【发布时间】:2011-11-01 08:26:31
【问题描述】:
我的 xcode 版本是 3.2.5。
我的应用程序是在 iPhone 上创建的。我希望我为 iPhone 编写的内容可以在 iPad 上运行和工作。如何解决这个问题?
帮助我的朋友,如何创建这种类型的应用程序?
【问题讨论】:
标签: iphone objective-c universal-binary
我的 xcode 版本是 3.2.5。
我的应用程序是在 iPhone 上创建的。我希望我为 iPhone 编写的内容可以在 iPad 上运行和工作。如何解决这个问题?
帮助我的朋友,如何创建这种类型的应用程序?
【问题讨论】:
标签: iphone objective-c universal-binary
第一步:升级您的 Xcode。第二:打开您的应用程序并将目标的“设备”更改为“通用”。 Xcode 可能会提示您通过自动调整大小来为 iPad 创建 XIB - 如果可以,请执行此操作,否则为 iPad 创建 XIB。我通常发现最好有一个基类,然后是两个包含功能覆盖的子类 - 例如
@interface ViewController : UIViewController
@end
@interface ViewController_iPad : ViewController
@end
@interface ViewController_iPhone : ViewController
@end
【讨论】:
要使您的应用在 iPhone 和 iPad 等设备上通用,您需要在大多数情况下复制代码。如果您使用的是 XIB,请同时为 iPhone 和 iPad 制作。在需要时使用 IDIOM 检查 以避免创建重复的类(即包含重复逻辑的类)。
详情可以参考这个链接How to make Universal Apps
【讨论】:
我们最近使用了this 模板,我们非常喜欢它!让您避免 IDIOM 检查,并且继承允许代码重用。
【讨论】:
【讨论】:
要为 iPhone 和 iPad 构建通用应用程序,我强烈建议放弃 IB/XIB/Storyboard,更喜欢直接使用代码创建任何 UI 组件。我们可以使用宏来检查哪个设备,只为全屏使用相同的宏等。我知道有些人更喜欢 IB,因为很容易看到他们构建了什么,但这会为不同的 XIB 版本带来一些努力。
【讨论】: