【问题标题】:How to make universal iOS application如何制作通用的 iOS 应用程序
【发布时间】:2011-11-01 08:26:31
【问题描述】:

我的 xcode 版本是 3.2.5。

我的应用程序是在 iPhone 上创建的。我希望我为 iPhone 编写的内容可以在 iPad 上运行和工作。如何解决这个问题?

帮助我的朋友,如何创建这种类型的应用程序?

【问题讨论】:

标签: iphone objective-c universal-binary


【解决方案1】:

第一步:升级您的 Xcode。第二:打开您的应用程序并将目标的“设备”更改为“通用”。 Xcode 可能会提示您通过自动调整大小来为 iPad 创建 XIB - 如果可以,请执行此操作,否则为 iPad 创建 XIB。我通常发现最好有一个基类,然后是两个包含功能覆盖的子类 - 例如

@interface ViewController : UIViewController
@end

@interface ViewController_iPad : ViewController
@end

@interface ViewController_iPhone : ViewController
@end

【讨论】:

  • +1 表示继承的建议。尽管就我而言,我可以在不升级 xcode 的情况下实现相同的功能。
  • @Benjie Gillam 你能详细解释一下吗?我认为你的回答对我有用
  • @Naved 升级 Xcode 为您提供了更好的工具来处理通用应用程序,在我看来。
  • @Rocky 请让我确切知道您卡在哪一部分?
  • @BenjieGillam 如何开始制作这个我对此一无所知,您可以从起点告诉您如何在适用于 iphone 的同一应用程序中进行自动调整大小并为 ipad 创建 xibs
【解决方案2】:

要使您的应用在 iPhone 和 iPad 等设备上通用,您需要在大多数情况下复制代码。如果您使用的是 XIB,请同时为 iPhone 和 iPad 制作。在需要时使用 IDIOM 检查 以避免创建重复的类(即包含重复逻辑的类)。

详情可以参考这个链接How to make Universal Apps

【讨论】:

  • 我必须在哪里放这个 idom 检查你能帮我解决这个问题吗?请告诉我该怎么做
  • 您可以在 .m 文件中决定 iPhone 或 iPad 的显示 (UI)。比如“如果 (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)”。
  • 你能否提供一些示例代码,仅用于 helloworld,例如在 iphon、ipad 上运行的代码
  • 我认为,如果您按照我的回答中的链接操作,您会明白的。
【解决方案3】:

我们最近使用了this 模板,我们非常喜欢它!让您避免 IDIOM 检查,并且继承允许代码重用。

【讨论】:

  • 这看起来很有趣,但它是如何工作的?我没有看到任何代码表明应该遵循 iPhone 或 iPad 代码路径。在任何地方都有关于这种方法的文档吗?谢谢。
  • 在 info.plist 文件中,您将找到 iphone 和 ipad mainwindow.xib 文件的条目。在运行时,操作系统根据可用平台决定加载哪个。我现在无法查看代码,但我相信它有两个特定于平台的应用程序委托,它们源自一个通用委托。
【解决方案4】:

【讨论】:

  • 虽然理论上可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。
  • 明白。但人们也应该在提问之前尝试搜索。也许我最好不要在问问题之前多次回答琐碎的问题。
【解决方案5】:

要为 iPhone 和 iPad 构建通用应用程序,我强烈建议放弃 IB/XIB/Storyboard,更喜欢直接使用代码创建任何 UI 组件。我们可以使用宏来检查哪个设备,只为全屏使用相同的宏等。我知道有些人更喜欢 IB,因为很容易看到他们构建了什么,但这会为不同的 XIB 版本带来一些努力。

【讨论】:

    猜你喜欢
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    相关资源
    最近更新 更多