- Creating a project for iOS 13 widget with WINDEV Mobile
- Developing an application for iOS widget with WINDEV Mobile
- Windows of iOS 13 widget applications
Developing an iOS 13 widget
From version 26 (89)
, it is recommended to develop iOS 14 widget applications. For more details, see Developing an iOS 14 widget
An iOS widget is an application intended to be displayed as a widget on iOS devices (iPhone, iPad, etc.).
An iOS widget is always associated with an iOS application with which it can exchange data.
An iOS widget is developed in several steps:
This help page only presents the creation of an iOS widget project and its development. It is generated and compiled in the same way as a standard iOS application.
Creating a project for iOS 13 widget with WINDEV Mobile
To create an iOS 13 widget project with WINDEV Mobile:
- Create a project for iOS (for more details, see Developing an application for iPhone/iPad).
- Create an iOS 13 widget configuration:
- Start the configuration creation wizard: on the "Project" tab, in the "Project configuration" group, click "New configuration" and select "New configuration (via wizard)".
For more details, see Project configuration.
- In the "General information" step of the wizard, select "iOS widget".
- In the "Associated iOS application" step of the wizard, select the iOS configuration of the project associated with the iOS widget configuration.
Developing an application for iOS widget with WINDEV Mobile
The development of an iOS 13 widget and its associated iOS application is similar to the development of a standard application.
For the iOS application
, you create the different elements of your application. The method for developing the project is identical to the method for developing a WINDEV Mobile project. However, there are some aspects specific to iOS development. For more details, see Specific features of iOS applications
For the iOS 13 widget application, you can:
- create windows. These are iOS Widget windows (see limitations below).
- add controls into the windows. The following controls are available in an iOS widget application:
- Check Box and Swtich,
- Radio Button,
- Progress Bar, Infinite Progress Bar,
- List Box,
- Bar Code,
- Control template, Supercontrol, group of controls,
- Internal window.
- use WLanguage functions, properties and types. If a function is not available, a compilation error is displayed.
In iOS 13 widget Mode, using the keyboard or scrolling is not allowed.
Caution: iOS limits the memory available for widgets. This limitation depends on the device, iOS version, other applications, ... It is recommended to limit memory usage in your iOS 13 widget configurations as much as possible:
- Limit the number of controls.
- Prefer internal windows to plans,
- Check the size of images (especially for the style of controls).
If the widget exceeds the limit, it will be killed by iOS with the following error: EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=xxx MB, unused=xxx)
When the development is completed, you can generate the Xcode project to compile the iOS widget application and its associated iOS application on MAC:
- Click in the quick access buttons.
- Choose (if necessary) the first window displayed on the different platforms (iPhone, iPad and iOS widget).
- The generation wizard starts. For more details on Xcode project generation, see Generating the application.
Remark: A specific step ("Apple widget (iOS widget)") is displayed in the wizard. This step allows you to set the name of the widget and its signature. The widget "Bundle ID" corresponds to that of the iOS application plus ".<Name of iOS widget configuration>" at the end. It is necessary to register the 2 "Bundle IDs" (application and widget IDs) in the "Provisioning profile".
Windows of iOS 13 widget applications
In the iOS 13 widget platform, windows created in the editor have a specific size for iOS 13 widgets.
Indeed, the window width and height are set by the iOS system and depend on the device on which the widget is executed.
- The window proposed in the window editor corresponds to the minimum possible width. To manage the size of your widget at runtime, you must use anchors.
- The window proposed in the window editor corresponds to the minimum possible height for a collapsed widget. It is possible to display the widget in expanded mode. Simply define the desired maximum size with the HeightExpanded property. When the expanded height is greater than the collapsed height, the iOS 13 widget can be expanded. The expanded height will be defined by the system. It can be between the collapsed height and the desired expanded height. It is also recommended to use anchors to manage the expanded mode.