Bug Issue: iOS device detection blocks are not working correctly

Pages: 1


  • Level 2 Stencyler
March 28, 2019, 06:26:25 am
I just updated to version 10310.

The "running on" blocks (in Flow/Advanced) that detect which device the game is running on is not working. I've tested on iPhone 5c and 6s, and they both claim to be running on the 3.5" iPhone

The iPad, however, is correctly detected (at least with the model I tested - an old iPad 2).


  • Level 2 Stencyler
May 03, 2019, 06:39:02 am
Still occurring on Stencyl v10331
Also, the Scale To Fit (Fullscreen) is broken on iOS. I have my game running in Portrait with black bars across the top and bottom of the screen. Possibly related to the above bug?

(hmmm - there's no way of selecting the correct Stencyl version in the dropdown box on the right)
  • Version changed from (none) to 3.5.0 beta 1
« Last Edit: May 03, 2019, 06:43:13 am by GuyCockcroft »


  • Level 2 Stencyler
May 16, 2019, 09:27:22 am
Aha. This issue can be closed. It was an issue with the PLIST.


  • Master Stencyler
  • *
May 17, 2019, 05:50:32 am
Can you elaborate on that? Were you using your own custom plist that caused an issue?


  • Level 2 Stencyler
May 17, 2019, 07:19:10 am
Yes. It’s a bit hacky, but I was using a custom template to define the different languages for localisation (so that the languages show up in the App Store listing).  It looks like some more lines have been added to the PLIST template recently (lines of code that didn’t exist in my old PLIST). 

Issue updated by Justin - June 25, 2019, 04:09:47 am
  • Status changed from New to Closed


  • Subscriber - Stencyl Studio
  • *
June 25, 2019, 07:39:03 am
Hey, so I can confirm that this is still an issue, I've been doing some testing for device scales and the plus device scales (5.5) are not being recognised by Stencyl as working correctly.

I have a bool set up to determine what device it is then use that bool to determine the offset of my UI:

"If running on 3.5 or 4 or 4.7 or 5.5 or iPad, Device Select = 0
Otherwise Device Select = 32"

The numbers in question refer to pixel distance, which is used to reposition on devices such as the iPhone X that would hide the UI with the notch if not adjusted.

As it stands, it works for every instance except "iPhone Plus" devices. This code has worked reliably in the past (The people who were having problems with the UI overlapping the gameplay checked my previous games and they didn't have this problem).

If you can look into this ASAP I'd appreciate it, I'm aiming to submit my game to Apple this week. Thanks Justin


  • Master Stencyler
  • *
June 25, 2019, 01:13:34 pm
This was closed because the OP said it was never an actual issue to begin with. Sorry about taking so long to get around to updating the status. I'll look into this.

Could you post the beginning of your games logs? The part where it prints out a bunch of info relating to screen dimensions when you start your game.
  • Status changed from Closed to Need Info


  • Master Stencyler
  • *
June 26, 2019, 02:40:50 am
I've just tested myself with the latest build (b10372), and I don't see any issue.

Here's the output I get at the beginning of my log.

Code: [Select]
ToolsetInterface.new (46): GCI attempting to connect to toolset @
ToolsetInterface.connectHandler (98): connectHandler: [Event type="connect" bubbles=false cancelable=false]
ToolsetInterface.packetReady (223): GCI connected. Waiting for updated assets.
Universal.initScreen (91): initScreen
Universal.initScreen (138): Game Width: 640
Universal.initScreen (139): Game Height: 480
Universal.initScreen (140): Game Scale: 1
Universal.initScreen (141): Window Width: 2208
Universal.initScreen (142): Window Height: 1242
Universal.initScreen (143): FullScreen Width: 2208
Universal.initScreen (144): FullScreen Height: 1242
Universal.initScreen (145): Enabled Scales: [1x,1.5x,2x,3x,4x]
Universal.initScreen (146): Scale Mode: NO_SCALING
Universal.initScreen (250): Theoretical Scale: 2
Universal.initScreen (251): Asset Scale: 2x
Universal.initScreen (353): Logical Width: 640
Universal.initScreen (354): Logical Height: 480
Universal.initScreen (355): Scale X: 1
Universal.initScreen (356): Scale Y: 1
GLUtil.initialize (35): GL value of MAX_TEXTURE_SIZE: 4096
Purchases.notifyListeners (124): Purchases: Started
Data.loadAtlas (304): Load Atlas: 2
Data.loadAtlas (304): Load Atlas: 0
Data.loadAtlas (304): Load Atlas: 3
Data.loadAtlas (304): Load Atlas: 1
Events for 'blank scene'.init (79): Device checks
Events for 'blank scene'.init (94): 1242x2208
Events for 'blank scene'.init (112): End device checks

You can see at the end, I have a "device checks" section. I used an if block with each of the device types, and the only one that reported true was the 5.5'' (1242x2208). The same numbers reported in Universal.initScreen (above) for "Window Width" and "Window Height".

1) What build are you on?

2) Could I get the log from the start of the game, similar to the one I posted?

3) Are you sure you don't have any modifications on your side? Engine extensions, or a modified Info.plist template, like GuyCockcroft had?
If you do a clean build and then test on iOS simulator, you can search your log for a line containing the following text:
Code: [Select]
plaf/haxe/lib/lime/lime/templates/ios/template/{{app.file}}/{{app.file}}-Info.plist -> Export/iosIf that line exists, it's likely that you're not getting a modified plist for some reason.
« Last Edit: June 26, 2019, 02:41:40 am by Justin »

Pages: 1


  • Reported
    March 28, 2019, 06:26:25 am
  • Updated
    June 26, 2019, 02:40:50 am

  • View Status
  • Type
  • Status
    Need Info
  • Priority
  • Version
    3.5.0 beta 1
  • Fixed in
  • Assigned to
  • Category