【问题标题】:Coverting iphone app to universal将 iphone 应用程序转换为通用应用程序
【发布时间】:2015-11-19 03:36:31
【问题描述】:

我知道这个问题有几个答案,但我不清楚结果。这里有几个问题:

1) 如果我将项目创建为 iPhone 项目,在部署信息中选择设备作为 iPhone,并使用通用情节提要设计应用程序(即任意宽度和任意高度 (600x600) )。一旦设计完成并在 iPad 上运行,UI 看起来并不好。如果是这样,那么选择该设备作为 iPhone 的意义何在?我是对的,在选择设备作为iPhone或iPad时,Xcode将允许应用程序仅在这些设备上运行?

2) 现在将 iPhone 应用程序转换为通用应用程序:由于图像分辨率因 iPhone 和通用应用程序而异,我们是否必须将所有旧图像替换为支持通用应用程序的新图像?

3) 如果我有 iPhone 应用程序,Apple 团队将在 iPhone 和 iPad 上对其进行测试。如果他们发现 UI 与 iPad 不匹配,他们会拒绝该应用程序吗?

【问题讨论】:

    标签: ios universal


    【解决方案1】:
    1. 我想 UI 看起来就像它在 iPhone 上的样子,只是放大以适应 iPad。基本上这是因为只有 iPhone 的应用程序可以在 iPad 上运行,反之则不行。如果您将应用更改为通用应用,它将尝试在 iPad 上本地运行,并且如果您适当地使用了自动布局和大小类,它可能看起来会更好。

    (可选的其他原因)另一个选项是您遇到了 iOS 8 问题,如果您使用 storyborad 或 nib 作为启动文件,它会错误地将仅 iPhone 的应用程序作为通用应用程序工作。在 iOS 8.0、8.0.1 和 8.0.2 中使用 Launch Screen File 会让你变得通用。

    这是一个已知错误,已在 iOS 8.1 中修复,您唯一的选择是使用带有启动图像的资产目录。

    或者您可以在启动文件名中添加设备修饰符,例如<launchNib>~iphone.nib

    1. 就图像而言,您需要确保拥有不同分辨率(@1x、@2x、@3x)的图像。如果您还没有,我建议您阅读资产目录 (http://schlu.org/2013/10/01/Xcode-Asset-Catalogs.html)。 iPhone 和 iPad 之间的图像本质上并没有不同(启动图像除外),但真正重要的是像素密度(旧设备是 1x,大多数 Retina 设备是 @2x,而 6 Plus 是 @3x)。

    2. 如果它真的只是一个 iPhone 应用程序,Apple 不会拒绝该应用程序,因为它在 iPad 上看起来像素化且丑陋。在 iPad 上运行仅限 iPhone 的应用程序的能力源于 iPad 的初始版本,当时人们还没有创建 iPad 或通用应用程序。如果有人真的想要一个尚未创建来专门支持 iPad 的应用程序,Apple 基本上会提供它。

    也就是说,我会继续将其作为通用应用程序发布。如果您没有创建单独应用程序的收入原因,我不建议您有两个应用程序的额外麻烦。当然,如果您的应用在 iPad 上没有意义,只需将其设为 iPhone。

    【讨论】:

    • 不是单独的项目。有些人出于经济原因拥有单独的应用程序。您可以在单个项目中使用两个目标创建两个不同的应用程序。如果您想出售您的 iPad 应用程序并在您的 iPhone 应用程序之外获得报酬,您需要这样做。正如我所说,大多数人应该创建一个单一的通用应用程序。
    【解决方案2】:

    这些是根据您的问题的常见做法

    1. 用户界面不依赖于部署设备。 用户界面取决于您实现的 UI 逻辑。正如您所说,默认情节提要尺寸为 600x600(这可以很容易地更改),但这并不意味着所有设备都应该是这个分辨率。当分辨率不同时,图像和 UI 元素会错位。有几种方法可以实现 UI 逻辑并使 UI 灵活,但我想您的问题与此无关。因此,简短的回答 - 设备选择更多的是关于部署而不是 UI。

    2. 对于不同的设备可能会有一些不同的图像,但按钮或文本字段等图像应该是灵活的

    3. 不,Apple 不关心您的应用程序外观和设计

    希望我已经回答了你的问题。

    【讨论】:

    • 嘿汤姆,谢谢你的回答,那么在部署信息中选择设备有什么意义呢?你不觉得有点混乱吗?
    • 你会习惯的。您是否只为 iPhone 开发应用程序?也许适用于 iPad?或者两者兼而有之?这应该是选择部署设备的标准。此外,您可以在常规项目设置中更改它。
    • 实际上,部署应该控制应用程序可以安装在哪些设备上。问题在于 iPhone 应用程序可以安装在 iPad 上这一事实以及 iOS 8 中的一个错误,该错误将使用 nib 或情节提要的应用程序与通用应用程序混淆,导致它们无法在 iPad 上显示为 iPhone 应用程序。请参阅上面我的答案中第 1 项的可选答案。
    • 是的。您可以为 iPad 和 iPhone 提供不同的用户界面逻辑。这将使应用程序具有交互性。无需重复代码...
    • 另外,我不得不不同意你在#3 上的回答。 Apple 已经并且可以拒绝您的应用程序,因为您的应用程序用户体验/用户界面不佳。尤其是如果该 UI 在 iOS 生态系统中感觉不自在。不过,他们不会因为在 iPad 上运行 iPhone 应用程序的放大版而拒绝你,因为 Apple 是一开始就允许这样做的人。但是,通用应用程序将在 iPad 上进行测试,糟糕的体验可能会导致您被拒绝。
    猜你喜欢
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多