Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

iOS testing on iPhone vs iPad

Discussion in 'iOS and tvOS' started by GKdev1980, Feb 8, 2021.

  1. GKdev1980

    GKdev1980

    Joined:
    Dec 10, 2013
    Posts:
    29
    Hello everyone.

    I've never used MacOS or iOS before, I'm an Android and Windows guy. I'm thinking of buyind an iOS device so that I can start testing my apps on a different ecosystem. I (think I) have the MacOS part needed for the deployment covered, so I need an iOS device. I'm looking at an iPad Air that I can use for my everyday "tablet" needs, I was wondering if that would suffice for my testing purposes. I mean, is there a chance that an app I make works fine on an iPad Air and has bugs on an iPhone? As far as I have seen iPadOS is the same as iOS (with some extra features and optimizations) but I could really use some confirmation from someone using both devices. I'm wondering if there would be some code modifications needed for an app tested on an iPad to work properly on an iPhone or vice versa.
     
  2. Johannski

    Johannski

    Joined:
    Jan 25, 2014
    Posts:
    816
    If an app runs on an iPad air, it will also run on an iPhone.
    Things to consider:
    • Notch support: iPhone X and newer have a notch, which you need to support, so your UI does not break
    • Rounded Corners: Newer iPads have rounded courners for their displays, so also keep that in mind
    • FPS: There are iPads supporting 120Hz, but probably you want to anchor the framerate to 60 (Application.targetFrameRate=60;)
    • Performance: Not sure about which iPad Air version you are talking about. If you have a newer iPad, you might have to debug for older ones as well. iPhones that are in the same release time or newer than your iPad will most certainly run your app smoother (unless there is a bug)
    • UI Scaling: Well, should be obvious. Since the aspect ratio is different, and UI is used differently on an iPad you will want to tweak you UI for iPhones as well. Should be doable inside the editor.
     
  3. GKdev1980

    GKdev1980

    Joined:
    Dec 10, 2013
    Posts:
    29
    Hi and thanks for the useful information.

    I'm looking at the new iPad Air 4 (2020). Is there any way to know which generations of iPads/iPhones I should feel safe about? Does it have to do with changes among iOS versions? Or changes in hardware?

    EDIT. Are you talking about performance? Meaning that I should make sure it runs smoothly on older generation iOS devices? Or is there a chance that I would not be running at all?
     
    Last edited: Feb 8, 2021
  4. Johannski

    Johannski

    Joined:
    Jan 25, 2014
    Posts:
    816
    Yes, I was talking mostly about performance. As for not running at all: This might happen, when you hit their memory limit. This probably won't happen unless you want to target very old devices which don't support astc compression (https://stackoverflow.com/questions/41916922/which-ios-devices-dont-support-astc-texture-compression) and are using ASTC for your textures.
    But yeah, as for performance there is a huge gap between iPhone 12 Pro and e.g. an iPad mini 4, so you might want to watch out for weaker tablets.
     
    GKdev1980 likes this.
  5. GKdev1980

    GKdev1980

    Joined:
    Dec 10, 2013
    Posts:
    29
    Got it. Thank you very much, you've been more than helpful...
     
  6. JohnnyFactor

    JohnnyFactor

    Joined:
    May 18, 2018
    Posts:
    343
    When developing for iOS, you have to choose a minimum iOS version to target and from that number you get a list of devices. What I do is get the lowest power device on that list (usually the oldest). This will serve as your lowest common denominator. Once your app/game runs well on that device, you can pretty much count on it running well on all other devices too. Sometimes I'll get another device that may be unique, like one with a notch.

    My target right now is iOS 13 so I have an iPhone SE 1, an iPad mini 4, and an iPhone XR (for notch and gesture testing).

    The SE 1 is the same as an iPhone 6S but with a much smaller screen. Good for testing "fat fingers" and readability. The mini 4 has the slowest CPU and a large retina screen, so it's perfect for testing fill rates.

    I've attached a pdf table for reference of all devices that support iOS 13.
     

    Attached Files:

  7. bladerunner69008

    bladerunner69008

    Joined:
    May 2, 2019
    Posts:
    21
    "
    • UI Scaling: Well, should be obvious. Since the aspect ratio is different, and UI is used differently on an iPad you will want to tweak you UI for iPhones as well. Should be doable inside the editor."
    By the way, how do you achieve different screens for iPhone and iPad (or Mac) ?
    On my game, there is no difference, but just curious
     
  8. Johannski

    Johannski

    Joined:
    Jan 25, 2014
    Posts:
    816
    I think building a completly different ui and maintaining the UIs is an overkill in most of the cases. It maybe necessary when having a very special UI and supporting portrait phones/tablets and AppleTV/MacOs. But even then, it might be better to keep just one ui that adapts accordingly.
    I think a lot can be achieved by setting the scaling correct for the canvas (see https://forum.unity.com/threads/canvas-scaler-issues-with-iphone-x.505711/).
    Another good idea is to think about the scale of the font. Oftentimes, it just looks too big when just scaling it plain from an iPhone to an iPad.
    Also keep in mind, that the drag threshold should adapt to the DPI (Handy script over here: https://forum.unity.com/threads/but...icult-to-press-on-mobile.265682/#post-2583353)

    In web development terms: Don't use a normal and a mobile css, but make one css file that is responsive in its design.