Show: Object Pascal C++
Display Preferences

Target Platforms Overview

From Appmethod Topics
Jump to: navigation, search

Go Up to Developing Multi-Device Applications

The Target Platforms node in the Project Manager specifies the target platform for a project.

AllTargetPlatforms.png

The Target Platforms node is displayed only for project types that support more than one platform, such as:

Basic Tasks to Perform with Target Platforms

  • To add a target platform to the current project, open the Project Manager and right-click the Target Platforms node itself, and then click Add Platform on the context menu.
  • To activate a target platform for the current project, double-click the target platform (or right-click and then select Activate on the context menu).
  • To assign a connection profile and an SDK, right-click a platform and select Properties on the context menu. Then on the Platform Properties dialog box, do either of the following:
    • Select the connection profile, or choose Add New from the combo box to create a new profile.
      Note: You only need a connection profile if the target platform is:
      • Mac OS X
      • iOS
      • 64-bit Windows, and your development system is 32-bit Windows
    • Select the SDK, or choose Add New from the combo box to install a new SDK.
      Note: You only need an SDK for mobile projects and for C++ Mac OS X projects.
  • To display the context menu commands for a target platform, right-click the name of a specific multi-device target (such as 64-bit Windows) in the Target Platforms node.

After a connection profile is assigned to the active platform, the name of the connection profile appears alongside the active platform in the Project Manager. For example:

Activatedprofile.png

If you assign an SDK to your target platform, the name of the SDK appears alongside the platform in the Project Manager as well. See Activating and Configuring the Target Platform for a description of the steps to follow in Appmethod to configure a project that supports more than one platform.

Build Configurations Node

The Build Configurations node lists various build configurations you have for your project. The IDE contains two build configurations (Debug and Release). There is a default build configuration which is called Base.

Base Configuration

The Base configuration acts as a default set of option values that is used in all the configurations you subsequently create. The option values mentioned, are the compiling and linking and other set of options you can alter for your project using the Project Options dialog (Project > Options).

You can change the option values in any configuration, including Base. You can delete the Debug and Release configurations, but you cannot delete the Base configuration.

Debug Configuration

The Debug configuration extends Base by disabling optimization and enabling debugging, as well as setting specific syntax options.

The default build configuration Debug, that is located in the Project Manager for your Object Pascal project, is created by Object Pascal after you created a new application/project.

Note: It is advisable to use Debug configuration while you are developing, debugging and changing your application.

Release Configuration

The Release configuration extends Base to not produce symbolic debugging information, as well as the code is not generated for TRACE and ASSERT calls, meaning the size of your executable is reduced.

The default build configuration Release, that is located in the Project Manager for your Object Pascal project, is created by Object Pascal after you created a new application/project.

Note: It is advisable to use the Release configuration when you are building your application for release. The produced executable file does not have debug information, and is smaller in size and faster than an application built with the Debug configuration.

Setting Specific Compiler Options

On the Project > Options > Object Pascal Compiler > Compiling page, consider setting the following specific options:

Specific Options

Code generation

Debugging

Optimization

Stack Frames

Debug Information

Local symbols

Debug configuration

OFF

The compiler does NOT perform a number of code optimizations.

ON

Stack frames are always generated for procedures and functions.

ON

When a program or unit is compiled with this option enabled, the integrated debugger lets you single-step and set breakpoints.

ON

When a program or unit is compiled with this option enabled, the integrated debugger lets you examine and modify the module's local variables.

Release configuration

ON

The compiler performs a number of code optimizations.

OFF

Stack frames are NOT generated for procedures and functions.

OFF

When a program or unit is compiled with this option enabled, the integrated debugger does NOT let you single-step and set breakpoints.

OFF

When a program or unit is compiled with this option enabled, the integrated debugger does NOT let you examine and modify the module's local variables.

Using the Target and Configuration Nodes

Nodes of target platforms may provide none, one, or both of the following child nodes:

  • Target. Lists available devices and simulators running the target platform.
  • Configuration. Lists build configurations that are specific to the target platform.

To activate a platform target or configuration, double-click the node of that target or configuration (or right-click and then select Activate on the context menu).

Using the Target Node

The Target node within a target platform node shows a list of available target devices and simulators (iOS) or emulators (Android).

The names that appear in the list depend on the target platform and the type of target device, simulator or emulator:

  • For the iOS Device target platform, devices are listed by device name. For example: "Jane's iPhone".
  • For the iOS Simulator target platform, simulators are listed by device model. For example: "iPhone 5".
  • For the Android target platform, devices are listed by device model, and emulators are listed by emulator name. For example: "GT-I9505" or "MyEmulator".

The Target node of the iOS Device target platform node displays the iOS devices connected to your Mac.

The Target node of the iOS Simulator target platform node provides a fixed list of iOS simulators that you can choose:

  • iPad (for the iPad form factor in the iOS Simulator)
  • iPhone (a generic iPhone; the default target platform of the iOS Simulator platform)
  • iPhone 5 (for the iPhone 5 form factor in the iOS Simulator)
Appmethod displays different icons depending on whether emulators are running or not

The Target node of the Android target platform node displays the Android devices connected to your development system and the installed Android emulators. As you connect and disconnect Android devices to your development system, Appmethod detects them automatically and updates the Project Manager entries accordingly.

To manually refresh the list of available targets for a target platform (iOS Device or Android), right-click the Target node and select Refresh. If after you refresh the list of targets the Target node does not show the entries that you expect, see Troubleshooting: No Android Targets Listed on the Project Manager.

When the active target device, simulator or emulator of the active target platform disappears from the list of targets, Appmethod selects the first available target device, simulator or emulator automatically. If there are no target devices, simulators or emulators available anymore for the active target platform, you cannot run your application on the target platform.

Using the Configuration Node

The Configuration node shows a list of platform-specific build configurations that you can use to build your application.

This node is only available for the OS X, iOS Device, and Android target platforms:

  • OS X
    • Normal. For development cycles.
    • Application Store. For the final build before submitting your app to the Mac App Store.
  • Android
    • Debug. For development cycles.
    • Application Store. For the final build before submitting your app to an application store.

Using the Android Libraries Node

ProjectManagerAndroidLibrariesExample.png

The node of the Android platform provides an additional node, Libraries, that you can use to add custom Java libraries to your application for Android. See Adding A Java Library to Your Application Using the Project Manager.

See Also

Personal tools
In other languages