PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Overview
  • Generating the application for MAC
  • Generating the application
  • Content of the generation directory "Project_name.xcode.gen"
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Overview
Several steps must be performed to develop an iPhone/iPad application:
You have been using the pre-version: see the list of modifications for the development of iPhone/iPad applications.
Caution: From February 1st 2015, Apple imposes that all the iOS applications are necessarily compiled in 32 bits AND in 64 bits. The iOS generation in 64-bit mode is a new feature of the version 20 of WINDEV Mobile. Therefore, it is important to recompile the WINDEV Mobile applications in version 20 so that they can be distributed in the AppStore after this deadline!
Versions 20 and later
Caution: From February 1st 2015, Apple imposes that all the iOS applications are necessarily compiled in 32 bits AND in 64 bits. The iOS generation in 64-bit mode is a new feature of the version 20 of WINDEV Mobile. Therefore, it is important to recompile the WINDEV Mobile applications in version 20 so that they can be distributed in the AppStore after this deadline!
New in version 20
Caution: From February 1st 2015, Apple imposes that all the iOS applications are necessarily compiled in 32 bits AND in 64 bits. The iOS generation in 64-bit mode is a new feature of the version 20 of WINDEV Mobile. Therefore, it is important to recompile the WINDEV Mobile applications in version 20 so that they can be distributed in the AppStore after this deadline!
Caution: From February 1st 2015, Apple imposes that all the iOS applications are necessarily compiled in 32 bits AND in 64 bits. The iOS generation in 64-bit mode is a new feature of the version 20 of WINDEV Mobile. Therefore, it is important to recompile the WINDEV Mobile applications in version 20 so that they can be distributed in the AppStore after this deadline!
Generating the application for MAC

Generating the application

To generate the application that must be compiled on MAC:
  1. Select "Workshop .. Generate the iPhone/iPad application". The generation wizard starts.Click among the quick access buttons. The generation wizard starts.
    Note: If the current configuration does not correspond to the iOS application, expand the generation icon among the quick access buttons, click "Other generations" and select "Generate the iPhone/iPad application".
  2. In the wizard for generating the application, specify the general information about the application to create:
    • Application name
    • Company
    • Copyright
    • Bundle identifier. This identifier is the unique identifier of your application beside Apple. It is defined and saved on the Apple developer account.
      This identifier will be used to save your application in order to run its test and to deploy it. By default, WINDEV Mobile automatically proposes an identifier that respects the development standard of Apple. This identifier can be modified.
      See the iOS documentation for more details.
  3. Go to the next step.
  4. Specify the path of different application icons: icon for iPad, icon for iPhone 4, icon for iPad Retina, ...
    Versions 19 and later
    Note: The "Optional icons" button is used to specify the path of additional icons.
    New in version 19
    Note: The "Optional icons" button is used to specify the path of additional icons.
    Note: The "Optional icons" button is used to specify the path of additional icons.
  5. Go to the next step.
  6. Choose the mode for managing the launch image.
    Versions 21 and later
    Frrom iOS version 8, two modes can be used to manage the launch image.
    You can:
    • Use the new management system: allows you to resize the application (Split View) but requires iOS version 8.0 (or later) and an iPad Air version 2 (or later) to be displayed.
    • Use the former management system: supports all the iOS versions but does not allow you to resize the application (Split View).
    • Use both systems:
      • on iOS version 8.0 (or later) and an iPad Air version 2 (or later), the application can be resized (Split View).
      • in the other cases, the application cannot be resized (Split View).
    New in version 21
    Frrom iOS version 8, two modes can be used to manage the launch image.
    You can:
    • Use the new management system: allows you to resize the application (Split View) but requires iOS version 8.0 (or later) and an iPad Air version 2 (or later) to be displayed.
    • Use the former management system: supports all the iOS versions but does not allow you to resize the application (Split View).
    • Use both systems:
      • on iOS version 8.0 (or later) and an iPad Air version 2 (or later), the application can be resized (Split View).
      • in the other cases, the application cannot be resized (Split View).
    Frrom iOS version 8, two modes can be used to manage the launch image.
    You can:
    • Use the new management system: allows you to resize the application (Split View) but requires iOS version 8.0 (or later) and an iPad Air version 2 (or later) to be displayed.
    • Use the former management system: supports all the iOS versions but does not allow you to resize the application (Split View).
    • Use both systems:
      • on iOS version 8.0 (or later) and an iPad Air version 2 (or later), the application can be resized (Split View).
      • in the other cases, the application cannot be resized (Split View).
  7. Go to the next step.
  8. Specify the path of different images for starting the application for iPhone then for iPad. These images are in PNG format. Default images are automatically created for your application.If you have chosen to use:
    • Versions 21 and later
      the new system for managing the launch image, specify:
      • the elements that will be displayed in the splash screen:
        • the application name.
        • the application version.
        • the message displayed when loading the application.
        • if necessary, the image of the application logo in the splash screen.
        • whether an animation will be used when loading the splash screen.
        • the background image of the splash screen if necessary. In this case, specify the background image and its display mode.
          You can retrieve the background image and its display mode before starting the wizard by clicking the "Reinitialize the background image" button.
      • the style of splash screen: the color of captions and the background color.
      New in version 21
      the new system for managing the launch image, specify:
      • the elements that will be displayed in the splash screen:
        • the application name.
        • the application version.
        • the message displayed when loading the application.
        • if necessary, the image of the application logo in the splash screen.
        • whether an animation will be used when loading the splash screen.
        • the background image of the splash screen if necessary. In this case, specify the background image and its display mode.
          You can retrieve the background image and its display mode before starting the wizard by clicking the "Reinitialize the background image" button.
      • the style of splash screen: the color of captions and the background color.
      the new system for managing the launch image, specify:
      • the elements that will be displayed in the splash screen:
        • the application name.
        • the application version.
        • the message displayed when loading the application.
        • if necessary, the image of the application logo in the splash screen.
        • whether an animation will be used when loading the splash screen.
        • the background image of the splash screen if necessary. In this case, specify the background image and its display mode.
          You can retrieve the background image and its display mode before starting the wizard by clicking the "Reinitialize the background image" button.
      • the style of splash screen: the color of captions and the background color.
    • the former system for managing the launch image: specify the path of the different images used to start the application for iPhone then for iPad. These images are in PNG format. Default images are automatically created for your application.
    • Versions 21 and later
      the two systems for managing the launch image: the steps for choosing the parameters of the new then former system for managing the launch image are displayed.
      New in version 21
      the two systems for managing the launch image: the steps for choosing the parameters of the new then former system for managing the launch image are displayed.
      the two systems for managing the launch image: the steps for choosing the parameters of the new then former system for managing the launch image are displayed.
  9. Go to the next step.
  10. Specify the version number of generated application. This format corresponds to a set of 4 numbers separated by dots.
    • The first group of 4 digits corresponds to the number of major changes performed in the application.
    • The second group of 4 digits corresponds to the number of minor changes performed in the application.
    • The third group of 4 digits corresponds to the generation number.
      We advise you to automatically increment this number at each generation. This increment operation is automatically performed if "Automatically increment the version at each generation" is checked.
    • The last group of 4 digits corresponds to the number of reviews (branches in the SCM for example).
  11. Go to the next step.
  12. Specify (if necessary) the external libraries to include.
    • These libraries can be system libraries or non-system libraries.
    • These libraries may be required if you have entered native Objective C code that is using specific libraries for example. See Typing Objective C code for more details.
      Versions 20 and later
      Note: You also have the ability to add an external framework. All you have to do is expand the "Add" button and select "Add an external framework". Then, you have the ability to select the ".framework" directory containing the external library.
      New in version 20
      Note: You also have the ability to add an external framework. All you have to do is expand the "Add" button and select "Add an external framework". Then, you have the ability to select the ".framework" directory containing the external library.
      Note: You also have the ability to add an external framework. All you have to do is expand the "Add" button and select "Add an external framework". Then, you have the ability to select the ".framework" directory containing the external library.
  13. Go to the next step.
  14. Specify whether files must be included in the executable. You have the ability to include:
    • specific resources.
    • specific images.
    • data files.
  15. Specify the options of files:
    • If the "Write" option is checked for the files, these files will be automatically checked out (files that must be modified by the application for example). In this case, specify the application directory into which this file must be checked out ("Documents" directory or "Library" directory).
    • If the "Write" option is unchecked for the files, these files can be:
      • used directly (files to read for example: sound files, image files, ...). These files are included in the application and they will not be checked out. fResourceDir is used to access these files in read-only.
      • checked out by programming with fExtractResource.
        Caution: the iOS system is case sensitive.
  16. Go to the next step.
  17. Versions 21 and later
    If your application contains an HTML control, you must respect the security options in an iOS application version 9.0 (and later). By default, the HTML control can only access the sites that use an HTTPS connection complying with the Apple recommendations. This step is used to:
    • provide the list of domains for which the security can be disabled. You must specify:
      • the domain name (windev.com for example).
      • the minimum TLS version for the HTTPS connections. All the connections greater than or equal to the selected version are allowed. If "Default" is selected, the minimum TLS version depends on the Xcode version.
      • if the non-secure HTTP connection is allowed.
      • whether the sub-domains must be included.
    • disable the security for all the domains ("Disable the security for all the domains" option).
    New in version 21
    If your application contains an HTML control, you must respect the security options in an iOS application version 9.0 (and later). By default, the HTML control can only access the sites that use an HTTPS connection complying with the Apple recommendations. This step is used to:
    • provide the list of domains for which the security can be disabled. You must specify:
      • the domain name (windev.com for example).
      • the minimum TLS version for the HTTPS connections. All the connections greater than or equal to the selected version are allowed. If "Default" is selected, the minimum TLS version depends on the Xcode version.
      • if the non-secure HTTP connection is allowed.
      • whether the sub-domains must be included.
    • disable the security for all the domains ("Disable the security for all the domains" option).
    If your application contains an HTML control, you must respect the security options in an iOS application version 9.0 (and later). By default, the HTML control can only access the sites that use an HTTPS connection complying with the Apple recommendations. This step is used to:
    • provide the list of domains for which the security can be disabled. You must specify:
      • the domain name (windev.com for example).
      • the minimum TLS version for the HTTPS connections. All the connections greater than or equal to the selected version are allowed. If "Default" is selected, the minimum TLS version depends on the Xcode version.
      • if the non-secure HTTP connection is allowed.
      • whether the sub-domains must be included.
    • disable the security for all the domains ("Disable the security for all the domains" option).
  18. Go to the next step.
  19. Specify:
    • Versions 21 and later
      whether the Split View is allowed. The option "Allow the application to be resized (Split View)" allows the end user to display two windows of two different applications side by side on iPAD Air 2.
      New in version 21
      whether the Split View is allowed. The option "Allow the application to be resized (Split View)" allows the end user to display two windows of two different applications side by side on iPAD Air 2.
      whether the Split View is allowed. The option "Allow the application to be resized (Split View)" allows the end user to display two windows of two different applications side by side on iPAD Air 2.
    • whether files can be shared with iTunes.
      If "Allow the share with iTunes" is checked, the application files can be retrieved on the PC during the synchronization.
      For example, if data files have been supplied with the application, the iTunes application will allow you to retrieve these files. To do so:
      • Connect the mobile device.
      • In iTunes, click "Apps" and choose your application.
      • The list of files is displayed. A simple Drag and Drop allows you to add or retrieve files.
    • the minimum version of iOS required to run the application.
      Note: The minimum supported version is iOS 5.0.Note: The minimum supported version is iOS 6.0.
    • Versions 21 and later
      the runtime mode in background: This option is found only if GPSFollowMovement is used in the application. The option "Allow the GPSFollowMovement function to be called when the application is in background" is used to continue the geo-localization when the device is in standby mode.
      New in version 21
      the runtime mode in background: This option is found only if GPSFollowMovement is used in the application. The option "Allow the GPSFollowMovement function to be called when the application is in background" is used to continue the geo-localization when the device is in standby mode.
      the runtime mode in background: This option is found only if GPSFollowMovement is used in the application. The option "Allow the GPSFollowMovement function to be called when the application is in background" is used to continue the geo-localization when the device is in standby mode.
      the runtime mode in background: This option is found only if GPSFollowMovement and/or BeaconDetectPrecise are used in the application. The option "Allow GPSFollowMovement and BeaconDetectPrecise to be called when the application is in background" is used to continue the geo-localization and/or the precise detection of Beacon tags when the device is in stand-by mode.
    • Versions 20 and later
      The "Advanced options" button is used to enter specific options for Xcode.
      New in version 20
      The "Advanced options" button is used to enter specific options for Xcode.
      The "Advanced options" button is used to enter specific options for Xcode.
  20. Go to the next step.
  21. Versions 21 and later
    The "Signature" step is used to choose the signature mode of your iOS application. This step is mainly required to compile applications in Xcode 8. See Signature of iOS applications for more details. Go to the next step.
    New in version 21
    The "Signature" step is used to choose the signature mode of your iOS application. This step is mainly required to compile applications in Xcode 8. See Signature of iOS applications for more details. Go to the next step.
    The "Signature" step is used to choose the signature mode of your iOS application. This step is mainly required to compile applications in Xcode 8. See Signature of iOS applications for more details. Go to the next step.
  22. Versions 21 and later
    If your iOS application is published on the App Store, a text must be specified for each feature used. When one of these features is used for the first time by the end user, an authorization window will display this text to inform the user.
    New in version 21
    If your iOS application is published on the App Store, a text must be specified for each feature used. When one of these features is used for the first time by the end user, an authorization window will display this text to inform the user.
    If your iOS application is published on the App Store, a text must be specified for each feature used. When one of these features is used for the first time by the end user, an authorization window will display this text to inform the user.
  23. Versions 21 and later
    Apple Watch If your IOS application is linked to an Apple Watch application, specify the path of the different icons for the Apple Watch application:
    • icon for iPhone,
    • icon for iPhone 6,
    • home screen for Apple Watch.
    • Go to the next step.
    New in version 21
    Apple Watch If your IOS application is linked to an Apple Watch application, specify the path of the different icons for the Apple Watch application:
    • icon for iPhone,
    • icon for iPhone 6,
    • home screen for Apple Watch.
    • Go to the next step.
    Apple Watch If your IOS application is linked to an Apple Watch application, specify the path of the different icons for the Apple Watch application:
    • icon for iPhone,
    • icon for iPhone 6,
    • home screen for Apple Watch.
    • Go to the next step.
  24. Validate the wizard. A project configuration is created if necessary. The generation is performed in the EXE folder of the project directory. The directory containing the sources that will be used on the Mac is named "Project_Name.xcode.gen". This directory must be copied onto the MAC.

Content of the generation directory "Project_name.xcode.gen"

The generation directory contains the following elements:
  • A libDevice directory. This directory contains the WINDEV Mobile framework for iOS in Device mode, which means for the distribution of the application on the device (iPhone and/or iPad).
  • A libSimulator directory. This directory contains the WINDEV Mobile framework for iOS in Simulator mode, which means for the simulation of the application on the Mac in Xcode.
  • A lib directory. This directory contains the WINDEV Mobile Framework for iOS.
    Note: From version 170061, the content of the generation directory was modified. If your project was compiled with a version earlier than version 17, we advise you to delete the generation directory and to re-generate your application.
  • A directory named like the project containing:
    • The .WDL library of the project objects. This library is identical to the library generated in WINDEV or WEBDEV.
    • Several files required by the xCode compiler on the MAC (main.m, WDAppDelegate.h, WDAppDelegate.mm, Info.plist).
  • A folder named <Project Name>.xcodeproj. In this folder, the project.pbxproj file corresponds to the project that must be opened in Xcode on the MAC.
To perform the operations in Xcode, see Compiling a WINDEV Mobile project in Xcode.
Related Examples:
WM Click on Chart Cross-platform examples (WINDEV Mobile): WM Click on Chart
[ + ] The "WM Click on Chart" example proposes a solution for pulling out the sections of a Pie chart via a simple click.
This example includes a control template named "TPLC_PullOutChart". This control template is used to pull out the chart sections via a simple click.
To include this feature in another application, all you have to do is import the "TPLC_PullOutChart" template.
WM Managing Contacts Cross-platform examples (WINDEV Mobile): WM Managing Contacts
[ + ] This example presents the management of contacts for Android et iOS.
It is used o:
- list the contacts found on the phone
- call the contacts
- send SMSs to the contacts
- ...
WM Registered Cross-platform examples (WINDEV Mobile): WM Registered
[ + ] This application is an attendance manager. It allows you to list the persons who attended a meeting.
The database is filled beforehand with the list of registered persons.
You have the ability to find a person by using his/her name.
The following topics are presented in this example:
1/ using a browsing looper based on a query
2/ using a database in HFSQL format.
WM RSS Reader Cross-platform examples (WINDEV Mobile): WM RSS Reader
[ + ] This example is a reader of RSS stream for the Android and iOS devices. This application allows you to follow the features of your favorite streams. This reader supports the images containing a post as well as the links toward an external site. Furthermore, it also included a system for managing the favorites.
WM Password Cross-platform examples (WINDEV Mobile): WM Password
[ + ] Web sites, bank accounts, ... passwords are everywhere in out life. With WM Password, no need to store all the passwords of your different accounts. The application stores all your passwords in a secure way. WM Password can also generate secure passwords for you.
WM Expense Account Cross-platform examples (WINDEV Mobile): WM Expense Account
[ + ] This example allows you to manage your fees.

Let's see the main features of this application:
- The input of invoices
- Management of foreign currencies
- Inclusion of photo document for the invoices
- Ability to email the expense account
- Ability to track the expense accounts
- ...
WM Stocks Cross-platform examples (WINDEV Mobile): WM Stocks
[ + ] This application is used to perform stocktaking and to save the results in a database.
The example is used to create entries/exits in the stock, by directly scanning the bar code of products.
It is optimized to be run on tablets.
iOS System iPhone/iPad (WINDEV Mobile): iOS System
[ + ] This application is an example presenting the use of various features.
The features are as follows:
- Playing videos
- Trace in the logs
- Slider
- Popup control
- Hourglass
...
WM Tic Tac Toe Cross-platform examples (WINDEV Mobile): WM Tic Tac Toe
[ + ] WM Tic Tac Toe
This example is a version of the famous "Tic Tac Toe" game.

Summary of the example supplied with WINDEV Mobile:

This example allows you to play "Tic Tac Toe" on an Android device, on an iOS device or on a device compatible with Universal Windows 10 App.

The purpose of this game is straightforward: align 3 pawns before your opponent does
Minimum required version
  • Version 17
Comments
Click [Add] to post a comment