将iphone应用转换为通用版

时间:2015-08-25 12:20:57

标签: ios universal

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

1)如果我将项目创建为iPhone项目,在部署信息中选择设备作为iPhone,并使用通用故事板(即任何宽度和任何高度(600x600))设计应用程序。设计完成并在iPad上运行后,UI看起来不太好。如果是这样的话,选择iPhone设备的重点是什么?我是正确的,当选择设备作为iPhone或iPad时,Xcode将允许该应用程序仅在这些设备上运行?

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

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

2 个答案:

答案 0 :(得分:0)

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

  1. 用户界面不依赖于部署设备。 用户界面取决于您实施的用户界面逻辑。如你所说,默认故事板大小是600x600(这可以很容易地改变),但这并不意味着,所有设备都应该是这个分辨率。当分辨率不同时,图像和UI元素放错了位置。有几种方法可以实现UI逻辑并使UI具有灵活性,但我猜您的问题与此无关。因此,简短的回答 - 设备选择更多是关于部署而不是UI。

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

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

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

答案 1 :(得分:0)

  1. 我认为用户界面看起来就像在iPhone上一样,只是放大到适合iPad。基本上这是因为iPhone只能在iPad上运行应用程序,反之亦然。如果您将应用程序更改为通用应用程序,它将尝试在iPad上本机运行,如果您已正确使用自动布局和大小类,可能看起来更好。
  2. (可选的其他原因)另一个选择是您遇到了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,大多数视网膜设备为@ 2x,6 Plus为@ 3x)。

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

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