限制Sprite Kit游戏到更新的手机?

时间:2014-08-21 12:08:35

标签: iphone sprite-kit frame-rate

我刚刚完成了在iPhone5 / 5S(1136 * 640)上开发和测试的SpriteKit游戏,游戏在两台设备上以60fps运行。我还写了一个支持iPhone4 / 4S(960 * 640)的版本,因为我在较慢的iPhone 4上进行了测试,但这个版本在20fps时遇到困难,即使我正在预加载所有资产,也可能在初始加载时滞后/跳跃。 / p>

我目前的理解是我需要提交两个版本,但可以在说明中指定“此应用程序需要iPhone 5或更高版本”

我的问题是:我可以将应用程序限制在iPhone5 / 5S,我当时认为可能有 [必需的设备功能] ,例如“Requires_Advanced_Processor”或我可以设置的内容。在没有完全缩减版本的情况下,游戏能够在较旧的硬件上提供良好的体验,我只是意识到发布iPhone 4 / 4S版本可能会诱使一些人下载它并且有一个不太理想的体验,有什么在提交应用程序时,除了在我的描述中添加上述提示之外,我可以做什么?

2 个答案:

答案 0 :(得分:3)

我自己一直在研究这个问题。从我提出的方面来看,答案是您可以(并且应该)清楚地指定您的应用程序的最低要求,但您还必须使其与所有当前的iPhone型号兼容。

Apple' App Distribution Guide - >部分设置架构 - > "重要:商店拒绝仅支持armv7s的二进制文件。如果armv7s包含在Valid Architectures列表中,则还必须包含armv7。"

如果您的应用程序在4s上运行不正常,您可以选择暂停发布,直到4s兼容性要求被删除(可能是iPhone 6发布时)。

答案 1 :(得分:1)

我在发布iOS游戏时遇到了同样的问题,并且出于性能原因想要降低iPhone 4兼容性。

  1. 我同意你的看法。我会避免使用"此应用程序需要iPhone N或更高版本"解决方案,因为许多用户不读取应用说明。他们可以在您不支持的设备上下载并安装游戏,并因性能不佳而给您留下不好的反馈。
  2. 您可以排除iPhone 4添加iOS 8作为要求。事实上,iOS 8将在以下iPhone / iPod上运行:iPhone 4s,iPhone 5,iPhone 5c,iPhone 5s,iPod touch第五代:https://www.apple.com/ios/ios8/(如果您计划在发布后几个月发布游戏考虑到典型的iOS高采用率,iOS 8应该不是一个大问题。)
  3. 我为游戏采用的解决方案是在游戏中检测设备是否为iPhone 4 / 4s,并禁用一些与游戏无关的图形效果。我不知道你的游戏,但你可以做很多事情(例如删除粒子发射器,使用更简单的背景等等)。这是我为检测编写的代码(看第二种方法): / LI>

    (抱歉旧时尚方式的Objective-C代码!)

    @implementation G1Utils:NSObject
    + (BOOL)isiPhone {
        return UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone;
    }
    + (BOOL)isiPhone3Dot5Inches {
        return [self isiPhone] && [[UIScreen mainScreen] bounds].size.height == 480;
    }
    @end
    

    P.S:您可以在此找到设备兼容性矩阵https://developer.apple.com/library/ios/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html#//apple_ref/doc/uid/TP40013599-CH17-SW1