Limit game sprite kit for new phones?

I'm just finishing the SpriteKit game, which was developed and tested on the iPhone5 / 5S (1136 * 640), the game runs at 60 frames per second on both devices. I also wrote a version supporting iPhone4 / 4S (960 * 640) that I am testing on a slower iPhone 4, but this version is struggling with 20fps and may lag / jump on boot, although I preload all of my assets.

My real understanding is that I need to send both versions, but in the description you can specify that "This application requires iPhone 5 or higher . "

My question is: can I restrict the iPhone5 / 5S application, I thought there might be [Required device ability] , for example, "Requires_Advanced_Processor" or something that I could install. It’s especially hard with games to give a good experience on old hardware without a full cut version, I just realize that the release of the iPhone 4 / 4S version may tempt some people to download it and have a less perfect experience, is there anything I can do, other than adding the above note in my description when sending the application?

+5
source share
2 answers

I myself studied this question. From what I came up with, the answer is that you can (and should) clearly indicate what are the minimum requirements for your application, but you should also make it compatible with all current iPhone models.

Apple Application Distribution Guide → Configuring Architecture → “Important: The store rejects a binary file that only supports armv7s. If armv7s is enabled, armv7 must also be included in the Valid Architects list.”

If your application does not work well on 4s, you can pause the release until the 4s compatibility requirement is reset (possibly when the iPhone 6 is released).

+3
source

I had the same issue when I published my iOS game and wanted to abandon iPhone 4 compatibility for performance reasons.

  • I agree with you. I would avoid "This application requires a solution for iPhone N or higher," because many users do not read the description of the application. They can download and install your game on a device that you do not support, and leave poor feedback due to poor performance.
  • You can exclude iPhone 4 by adding iOS 8 as a requirement. Infact iOS 8 will work on the following iPhone / iPod: iPhone 4s, iPhone 5, iPhone 5c, iPhone 5s, iPod touch 5th generation: https://www.apple.com/ios/ios8/ (If you plan to release a game a couple of months after the release of iOS 8, this should not be a big problem, given the typical adoption speed of iOS).
  • The decision I made for my game is to detect inside the game if the device is an iPhone 4/4 and disable some graphic effects that are not related to the gameplay. I do not know your game, but there are many things you can do (for example, remove particles of emitters, use simpler backgrounds, etc.). This is the code I wrote for discovery (see the declaration of the second method):

(Sorry for the old Objective-C code!)

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

PS: Here you can find the device compatibility matrices https://developer.apple.com/library/ios/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html#//apple_ref/doc/uid/TP40013599-CH17-W17SW1W

+1
source

Source: https://habr.com/ru/post/1200832/


All Articles