Iphone 将精灵套件游戏限制在较新的手机上?

Iphone 将精灵套件游戏限制在较新的手机上?,iphone,sprite-kit,frame-rate,Iphone,Sprite Kit,Frame Rate,我刚刚完成一款SpriteKit游戏,该游戏已经在iPhone5/5S(1136*640)上开发和测试,在两款设备上都以60 fps的速度运行。我还编写了一个支持iPhone4/4S(960*640)的版本,虽然我在速度较慢的iPhone4上进行测试,但这个版本的速度很慢,即使我在预加载我的所有资产,也会在初始加载时延迟/跳跃 我目前的理解是,我需要提交两个版本,但可以在说明中指定“此应用程序需要iPhone 5或更高版本” 我的问题是:我能否将应用程序限制在iPhone5/5S上,我在想可能会

我刚刚完成一款SpriteKit游戏,该游戏已经在iPhone5/5S(1136*640)上开发和测试,在两款设备上都以60 fps的速度运行。我还编写了一个支持iPhone4/4S(960*640)的版本,虽然我在速度较慢的iPhone4上进行测试,但这个版本的速度很慢,即使我在预加载我的所有资产,也会在初始加载时延迟/跳跃

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


我的问题是:我能否将应用程序限制在iPhone5/5S上,我在想可能会有一个[所需的设备功能]像“需要高级处理器”或我可以设置的东西。对于游戏来说,要想在旧硬件上提供良好的体验而不进行全面的精简版本是非常困难的,我只是意识到发布iPhone4/4S版本可能会吸引一些人下载它,并获得不太理想的体验,在提交应用程序时,除了在我的描述中添加上述注释之外,我还能做些什么吗?

我自己也在研究这个问题。从我的想法来看,答案是你可以(也应该)明确规定你的应用程序的最低要求,但你还必须使它与所有当前的iPhone型号兼容

Apple的->部分设置体系结构->“重要提示:商店拒绝只支持armv7s的二进制文件。如果有效体系结构列表中包含armv7s,则还必须包含armv7。”


如果你的应用程序在4s上运行不好,你可以选择推迟发布,直到4s兼容性要求取消为止(可能是在iPhone 6发布时)。

我在发布iOS游戏时遇到了同样的问题,出于性能原因想取消iPhone 4的兼容性

  • 我同意你的看法。我会避免使用“此应用程序需要iPhone N或更高版本”的解决方案,因为许多用户不阅读应用程序描述。他们可能会将你的游戏下载并安装到你不支持的设备上,并因为性能不佳而给你留下不好的反馈
  • 您可以根据需要排除添加iOS 8的iPhone4。事实上,iOS 8将在以下iPhone/iPod上运行:iPhone4S、iPhone5、iPhone5C、iPhone5S、iPodtouch第五代:(如果你计划在iOS 8发布几个月后发布游戏,考虑到iOS的典型高采用率,这应该不是一个大问题)
  • 我在游戏中采用的解决方案是在游戏中检测设备是否是iPhone4/4s,并禁用一些与游戏无关的图形效果。我不知道你的游戏,但你可以做很多事情(例如,移除粒子发射器,使用更简单的背景等等)。这是我为检测编写的代码(第二种方法):
  • (很抱歉使用老式的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