This is an old revision of the document!
A GUI Archive is a .zip file which contains one or more guiDesigner projects. This includes the .gui file along with any assets such as graphics, scripts, sounds, etc.
As of v4.1 onwards, iViewer is capable of automatically loading a specific GUI file in an archive based on a naming structure described below. This allows a single archive to include GUIs for various screen sizes (iPhones, iPads, etc).
Each GUI file can be in a separate folder with its own assets, or in a single folder sharing assets, or a mix! All depends how your assets are referenced in your guiDesigner project.
Prior to v4.1, iViewer would simply load the first .gui file it found in the archive.
iViewer v4.1 onwards supports archives with multiple GUI files inside. The GUI file that is loaded is determined based on the size of the screen of the device loading the archive.
This is achieved by the naming of your GUI file or folder within the archive. Any part of the full path to the GUI file within the archive must match one of the following strings to be loaded correctly. The string search is case-insensitive, so ipad
or iPad
will work the same.
So the path to the file could be GUI-iPad/myproject.gui
or even a file in any folder of the zip named myproject-GUI-iPad.gui
and it will be chosen for iPads.
Android devices choose which GUI file to load based on a few different file naming options, checked in the following order:
1080w2280h
)h
character (eg. 1024h
)GUI-896h
. If still no match for the closest iOS string, it will continue to look for the next smallest resolution.GUI-iPad
For iPads or tablets using a logical resolution of 1024×768 (All iPads except iPad Pro) the app will first look for filepath containing GUI-iPad
iPhone devices choose which GUI file to load based on a few different file naming options, checked in the following order:
GUI-
. For example logical resolution of iPhone XR is 414w x 896h, so it will look for a filepath matching GUI-896h
.GUI-812h
.GUI
Here is a list of the GUI sizes (in their search order) and the iPhones that support it:
GUI-896h
= iPhone XS Max, XRGUI-812h
= iPhone XS, XGUI-736h
= iPhone 8+, 7+, 6S+, 6+GUI-667h
= iPhone 8, 7, 6S, 6GUI-568h
= iPhone SE, 5S, 5, 5CGUI
= iPhone 4S, 4, 3GS, 3G, 2GFor more info on iOS logical resolutions (Points), see this excellent guide: https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions
Within guiDesigner there is a special property for scaling that only affects android devices. When the project page size does not match the device resolution, you can choose to scale the project a variety of ways. See here for more info.