【问题标题】:Different versions of app for different devices [duplicate]适用于不同设备的不同版本的应用程序[重复]
【发布时间】:2014-02-24 15:18:13
【问题描述】:

我正在开发一款适用于 4 英寸屏幕的 iOS 应用。这意味着我的应用在 3.5 英寸屏幕上看起来很糟糕,因为图像。如果我在 App Store 上发布,3.5 英寸 iphone 用户是否可以下载此应用程序?如果我想为 3.5 英寸屏幕制作我的应用版本,我应该只制作两个不同的项目吗?

【问题讨论】:

  • 你听说过自动布局吗?
  • 或struts / springs,或仅在4英寸手机的文件名中使用-568h@2x?

标签: ios iphone objective-c screen-size


【解决方案1】:

不,您无法阻止使用 3.5 英寸设备的人下载,但是:

您可以使用相同的应用程序同时支持 4 英寸和 3.5 英寸设备。

您需要以编程方式检查您当前在哪个设备上运行,然后适当地布局您的 UI。

作为一个简单的例子,您可以使用以下代码 sn-p 检查您是否使用 4 英寸设备(iPhone 5、5C、5s):

#define isFourInch  ([[UIScreen mainScreen] bounds].size.height == 568)?TRUE:FALSE


 if (isFourInch)
 {
       //4'' screen detected
 }
 else
 {

       //3.5'' screen detected
 }

因为 iOS 7 支持 3.5" 屏幕的设备,所以不能使用 only-support-iOS-x 技术。

此外,Xcode 中没有设置或 UIRequiredDeviceCapabilities 键允许您将应用程序设置为仅 4 英寸。

【讨论】:

  • 老实说,我会使用#define IS_WIDESCREEN ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON ) 这种检测而不是仅检查边界,但这是个人喜好。
  • 同意它更优雅,更新的答案。
  • 你的回答没有错,我只是根据个人喜好记录了一个替代方案,但 +1 表示更新。
  • 在 iPhone 6 上使用时要小心,因为 else 会捕获 iPhone 4 和 iPhone 6、6 Plus。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多