IOS Emulators Vs iOS Simulators Archives

IOS Emulators Vs iOS Simulators Archives

iOS Emulators Vs iOS Simulators Archives

iOS Emulators Vs iOS Simulators Archives

Simulator vs Real Device

At development time you can test your application both on the simulator and a real device. But what is the better approach?

Hint: This post has been updated to Swift 3, Xcode 8 and iOS 10

The Simulator

Out of the box Xcode provides you a lot of simulators (both iPhones and iPads), but you can also install further simulators (Preferences… -> Downloads).

The simulator has some advantages:

  • The deployment to the simulator is faster than to a real device. So you can save some time by using the simulator.
  • In most cases you don’t have all possible devices in terms of screen resolutions and iOS versions. In the simulator these is just one mouse click away.
  • It is easier to access the app folder because it is right on your Mac. Unfortunately this folder is not easy to find, but you can use a little trick to find the path very quickly. Just insert the following lines into the applicationDidFinishLaunchingWithOptions method of you app delegate. The path will then be printed to console after the app has launched:
    funcapplication(_application:UIApplication,didFinishLaunchingWithOptions launchOptions:[UIApplicationLaunchOptionsKey:Any]?)->Bool{

Real Device

Although you can do a lot with the simulator, there is no way to build an application without testing it on a real device. These are the advantages:

  • The real device is much more accurate than the simulator. There are situations where the simulator behaves differently than the real device.
  • All hardware functions like the camera and bluetooth are available.
  • You can carry the device around and you can test the app in the real world, for example in the train with a bad network.
  • If your app has some memory problems, you will see it much better on the real device. It could happen that you don’t see any signs of a memory problem in your simulator, but on your phone the app will crash right after the launch.
  • The performance of your app can only be tested on a real device, because your Mac is much faster.

Which One To Use?

The simple answer is: Use what is the best for your task. For example, if you want to debug a sqlite database inside of your application’s folder, you should use the simulator because you have easy access to it. On the other hand, if you want to test the performance of a game you should definitely use a real device.


Both the simulator and the real device are very useful in certain situations. Try to finde the right mixture.


Image: @ rangizzz /

Источник: []
, iOS Emulators Vs iOS Simulators Archives

16 Deploying ADF Mobile Applications

16.2.4 How to Create an iOS Deployment Profile

For iOS, you can use the Deployment Profiles Properties Editor to define the iOS application build configuration as well as the locations for the splash screen images and application icons.

Before you begin:

Download Xcode 4.2 or later, which includes the Xcode IDE, performance analysis tools, the iOS simulator, the Mac OS X and iOS SDKs, to the Apple computer that also runs JDeveloper. Because Xcode is used during deployment, you must install it on the Apple computer before you deploy the ADF Mobile application from JDeveloper. For instructions on downloading Xcode, refer to

After you download Xcode, you must enter the location of its xcodebuild tool and, for deployment to iOS simulators, the location of the iOS simulator's SDK, in the ADF Mobile Platforms preference page. For more information, see Chapter 3, "How to Configure the Development Environment for Platforms and Form Factors."

To deploy an ADF Mobile application to an iOS-powered device (as opposed to deployment to an iOS simulator), you must obtain both a provisioning profile and a certification from the iOS Provisioning Profile as described in Section, "Setting the Device Signing Options."

To create a deployment profile:

  1. Choose iOS Options, as shown in Figure 16-10.

  2. Accept the default values, or define the following:

    • Application Bundle Id—If needed, enter a bundle ID to use for this application that identifies the domain name of the company. The application bundle Id must be unique for each application installed on an iOS device and must adhere to the reverse-package style naming conventions described in the "Application ID Errors" section in iOS Development Workflow Guide (that is, com.<organization name>.<company name>). For information on obtaining the Bundle Seed Id using the iOS Provisioning Portal, see Section, "Registering an Application ID." See also Section 5.3, "Setting the Basic Information for an ADF Mobile Application."


      The application bundle ID cannot contain spaces.

      Because each application bundle ID is unique, you can deploy multiple ADF Mobile applications to the same device. Two applications can even have the same name as long as their application bundle IDs are different. Mobile applications deployed to the same device are in their own respective sandboxes. They are unaware of each other and do not share data (they have only the Device scope in common).

    • Application Archive Name—If needed, enter the name for the file created by ADF Mobile when you select either the Deploy to distribution package or Deploy to iTunes for synchronization to device options in the Deployment Action dialog, shown in Figure 16-21. Otherwise, accept the default name. For more information, see Section 16.4.2, "How to Deploy an Application to an iOS-Powered Device" and Section 16.4.5, "How to Distribute an iOS Application to iTunes."

      By default, ADF Mobile bases the name of the file on the application attribute configured in the file. For more information, see Section 5.3, "Setting the Basic Information for an ADF Mobile Application."

    • Minimum iOS Version—Indicates the earliest version of iOS to which you can deploy the application. The default value is the current version. The version depends on the version of the installed SDK. The minimum version supported by ADF Mobile is 5.0.

    • Simulator Target Version—Select the version of the emulator to which you are deploying the application. To find the available target versions, select Hardware and then Version on an iPhone simulator. The minimum version is 5.0. The default setting is <Highest Available>. See also the "Using iOS Simulator" chapter in Tools Workflow Guide for iOS, which is available through the iOS Developer Library ().


      Older versions of the iOS target version are usually available in the simulator for testing.

    • Target Family—Select the family of iOS products on which the application is intended to run. The default option is for both iPad and iPhone.

    Figure 16-10 Setting the iOS Options Defining the iOS Build Options

The iOS build options enable you to deploy an application with debug or release bits and libraries. The Options page presents the configuration options for the iOS signing modes, debug and release modes.

Before you begin:

Deployment of an iOS application (that is, an file) to an iOS-powered device requires a provisioning profile, which is a required component for installation, and also a signed certificate that identifies the developer and an application on a device. You must obtain these from the iOS Provisioning portal as described in Section 16.4.4, "What You May Need to Know About Deploying an Application to an iOS-Powered Device." In addition, you must enter the location for a provisioning profile and the name of the certificate in the ADF Mobile Platforms preference page, as described in Section, "Setting the Device Signing Options."

How to set the build options:

  1. Chose iOS Options, as shown in Figure 16-10.

  2. Select one of the following build options.

    • Debug—Select this option for development builds. Designating a debug build results in the inclusion of debugging symbols. See also Section 18.3.1, "How to Debug on iOS Platform."

    • Release—Select to compile the build with release bits and libraries. Setting the Device Signing Options

The ADF Mobile Platforms preference page for iOS includes fields for the location of the provisioning profile on the development computer and the name of the certificate. You must define these parameters if you deploy an application to an iOS device.


Neither a certificate nor a provisioning profile are required if you deploy an ADF Mobile application to an iOS simulator.

To set the signing options:

  1. Choose Tools, then Preferences, and then ADF Mobile.

  2. Choose Platforms and then choose iOS.

  3. In the Device Signing section of the page, shown in Figure 16-11, enter the location of the provisioning profile in the Provisioning Profile field.

  4. In the Certificate field, enter the name of the developer or distribution certificate that identifies the originator of the code (such as a developer or a company). You can view the name of the certificate using the Keychain Access utility (accessed from the Applications folder). Copy the entire name from the Keychain Access utility. The name entered into Certificate field must be in the following format:

    iPhone Developer: John Smith (PN3ENLQ3DU)

    Figure 16-11 The Device Signing Section of the ADF Mobile Platforms Preference Page


There are provisioning profiles used for both development and release versions of an application. While a provisioning profile used for the release version of an application can be installed on any device, a provisioning profile for a development version can only be installed on the devices whose IDs are embedded into the profile. For more information, see the "Configuring Development and Distribution Assets" chapter in Tools Workflow Guide for iOS, which is available from the iOS Developer Library (). Adding a Custom Image to an iOS Application

The Application images page enables you to override the default Oracle image used for application icons with custom images. The options in this page, shown in Figure 16-13, enable you to enter the locations of custom images used for different situations, device orientation, and device resolutions. For more information on iOS application icon images, see the "Application Icons" and "Providing Launch Images for Different Orientations" sections in iOS App Programming Guide and the "Custom Icon and Image Creation Guidelines" section in iOS Human Interface Guidelines. These documents are available from the iOS Developer Library ().


All images must be in the PNG format.

To add custom images:

  1. Click Application Images.

  2. Select Do Not Add Gloss Effect to Icons if the default iOS-style icon, which has a shine effect over the top of the icon is not used. Figure 16-12 illustrates the gloss effect.

    Figure 16-12 An Icon with the Default Gloss Effect

  3. Chose Browse to select images for the following:

    • Application Icons—Enter the location of the icon images for iPhones and iPads, or for the versions of these images used for devices equipped with Retina displays. The file names must be the same for both the Retina and non-Retina version of the icon. For iPhone icons, the ADF Mobile deployment framework differentiates between the two by adding the @2x modifier to the file name of the Retina image. For iPad Retina displays, the deployment framework adds -144 to the file name to reflect the dimensions of its associated image (144 x 144, in pixels). For non-Retina iPad displays, the deployment framework likewise denotes the image dimensions (72 x 72, in pixels) by adding the -72 modifier to the iPad icon file name. Table 16-3 lists the required dimensions, in pixels, for the device-specific application images.

      Table 16-3 Dimensions for Application Icons

      DeviceDimension (in Pixels)


      57 x 57

      iPhone Retina

      114 x 114


      72 x 72

      iPad Retina

      144 x 144

    • Splash Screen Images—Enter the location of the image used when the application launches. For the iPhone, this image must be named . Depending on the device type and orientation, this image can be overridden by the images selected for its portrait or landscape versions. The ADF Mobile deployment framework attaches the Portrait and Landscape modifiers to the file names, as well as @2x for images used on Retina displays. Table 16-4 lists the required dimensions, in pixels, for the splash screen images.

      Table 16-4 Dimensions for Splash Screen Images



      320 x 480



      768 x 1004

      1024 x 748

      iPad Retina

      640 x 960

      2048 x 1496

      iPhone Retina

      1536 x 2008


  4. Click OK.

Figure 16-13 Adding Custom Images What You May Need to Know About iTunes Artwork

By default, ADF Mobile applications deployed to an iOS device through iTunes, or deployed as an archive ( file) for download, use the default Oracle image, shown in Figure 16-12 unless otherwise specified.

By selecting an iTunes artwork image as the icon for the deployed application, you override the default image. You can use an image to differentiate between versions of the application. Figure 16-14 illustrates the difference between the default image and a user-selected image, where Application4 is displayed with the default image and Application6 is displayed with a user-selected image (the Oracle icon, scaled to 512 x 512 pixels).

Figure 16-14 Custom and Default Application Icons

During deployment, ADF Mobile ensures that the icon displays in iTunes by adding the iTunes artwork image to the top-level of the file in a file called iTunesArtwork. How to Restrict the Display to a Specific Device Orientation

By default, ADF Mobile supports all orientations for both iPhone and iPad. If, for example, an application must display only in portrait and in upside-down orientations on iPads, you can limit the application to rotate only to these orientations using the Device Orientation page, shown in Figure 16-15

Figure 16-15 Select a Device Orientation

To limit the display of an application to a specific device orientation: 

  1. Choose Device Orientations, as shown in Figure 16-15.

  2. Clear all unneeded orientations from among those listed in Table 16-5. By default, ADF Mobile deploys to all of these device orientations. By default, all of these orientations are selected.

    Table 16-5 iPhone Device Orientations


    iPad, portrait—The home button is at the bottom of the screen.

    iPad, upside-down—The home button is at the top of the screen.

    iPad, landscape left—The home button is at the left side of the screen.

    iPad, landscape right—The home button is at the right side of the screen.

    iPhone, portrait—The home button is at the bottom of the screen.

    iPhone, upside-down—The home button is at the top of the screen.

    iPhone, landscape left—The home button is at the left side of the screen.

    iPhone, landscape right—The home button is at the right side of the screen.

  3. Click OK. What Happens When You Deselect Device Orientations

Deselecting a device orientation updates the source file.

Источник: []
iOS Emulators Vs iOS Simulators Archives

macOS install

System requirements

To install and run Flutter, your development environment must meet these minimum requirements:

  • Operating Systems: macOS (64-bit)
  • Disk Space: 2.8 GB (does not include disk space for IDE/tools).
  • Tools: Flutter depends on these command-line tools being available in your environment.
    • 2.x

Get the Flutter SDK

  1. Download the following installation bundle to get the latest stable release of the Flutter SDK:


    For other release channels, and older builds, see the SDK archive page.

  2. Extract the file in the desired location, for example:

    If you don’t want to install a fixed version of the installation bundle, you can skip steps 1 and 2. Instead, get the source code from the Flutter repo on GitHub with the following command:

    You can also change branches or tags as needed. For example, to get just the stable version:

  3. Add the tool to your path:

    This command sets your variable for the current terminal window only. To permanently add Flutter to your path, see Update your path.

  4. Optionally, pre-download development binaries:

    The tool downloads platform-specific development binaries as needed. For scenarios where pre-downloading these artifacts is preferable (for example, in hermetic build environments, or with intermittent network availability), iOS and Android binaries can be downloaded ahead of time by running:

    For additional download options, see .

You are now ready to run Flutter commands!

Note: To update an existing version of Flutter, see Upgrading Flutter.

Run flutter doctor

Run the following command to see if there are any dependencies you need to install to complete the setup (for verbose output, add the flag):

This command checks your environment and displays a report to the terminal window. The Dart SDK is bundled with Flutter; it is not necessary to install Dart separately. Check the output carefully for other software you might need to install or further tasks to perform (shown in bold text).

For example:

[-] Android toolchain - develop for Android devices • Android SDK at /Users/obiwan/Library/Android/sdk ✗ Android SDK is missing command line tools; download from • Try re-installing or updating your Android SDK, visit for detailed instructions.

The following sections describe how to perform these tasks and finish the setup process.

Once you have installed any missing dependencies, run the command again to verify that you’ve set everything up correctly.

Warning: The tool uses Google Analytics to anonymously report feature usage statistics and basic crash reports. This data is used to help improve Flutter tools over time.

Flutter tool analytics are not sent on the very first run. To disable reporting, type . To display the current setting, type . If you opt out of analytics, an opt-out event is sent, and then no further information is sent by the Flutter tool.

By downloading the Flutter SDK, you agree to the Google Terms of Service. Note: The Google Privacy Policy describes how data is handled in this service.

Moreover, Flutter includes the Dart SDK, which may send usage metrics and crash reports to Google.

Update your path

You can update your PATH variable for the current session at the command line, as shown in Get the Flutter SDK. You’ll probably want to update this variable permanently, so you can run commands in any terminal session.

The steps for modifying this variable permanently for all terminal sessions are machine-specific. Typically you add a line to a file that is executed whenever you open a new window. For example:

  1. Determine the directory where you placed the Flutter SDK. You need this in Step 3.
  2. Open (or create) the file for your shell. Typing in your Terminal tells you which shell you’re using. If you’re using Bash, edit or . If you’re using Z shell, edit . If you’re using a different shell, the file path and filename will be different on your machine.
  3. Add the following line and change to be the path where you cloned Flutter’s git repo:

  4. Run to refresh the current window, or open a new terminal window to automatically source the file.
  5. Verify that the directory is now in your PATH by running:

    Verify that the command is available by running:

Note: As of Flutter’s 1.19.0 dev release, the Flutter SDK contains the command alongside the command so that you can more easily run Dart command-line programs. Downloading the Flutter SDK also downloads the compatible version of Dart, but if you’ve downloaded the Dart SDK separately, make sure that the Flutter version of is first in your path, as the two versions might not be compatible. The following command (on macOS, linux, and chrome OS), tells you whether the and commands originate from the same directory and are therefore compatible. (Some versions of Windows support a similar command.)

As shown above, the two commands don’t come from the same directory. Update your path to use commands from before commands from (in this case). After updating your shell for the change to take effect, running the or command again should show that the and commands now come from the same directory.

To learn more about the command, run from the command line, or see the dart tool page.

Platform setup

macOS supports developing Flutter apps in iOS, Android, and the web (technical preview release). Complete at least one of the platform setup steps now, to be able to build and run your first Flutter app.

iOS setup

Install Xcode

To develop Flutter apps for iOS, you need a Mac with Xcode installed.

  1. Install the latest stable version of Xcode (using web download or the Mac App Store).
  2. Configure the Xcode command-line tools to use the newly-installed version of Xcode by running the following from the command line:

    This is the correct path for most cases, when you want to use the latest version of Xcode. If you need to use a different version, specify that path instead.

  3. Make sure the Xcode license agreement is signed by either opening Xcode once and confirming or running from the command line.

Versions older than the latest stable version may still work, but are not recommended for Flutter development. Using old versions of Xcode to target bitcode is not supported, and is likely not to work.

With Xcode, you’ll be able to run Flutter apps on an iOS device or on the simulator.

Set up the iOS simulator

To prepare to run and test your Flutter app on the iOS simulator, follow these steps:

  1. On your Mac, find the Simulator via Spotlight or by using the following command:

  2. Make sure your simulator is using a 64-bit device (iPhone 5s or later) by checking the settings in the simulator’s Hardware > Device menu.
  3. Depending on your development machine’s screen size, simulated high-screen-density iOS devices might overflow your screen. Grab the corner of the simulator and drag it to change the scale. You can also use the Window > Physical Size or Window > Pixel Accurate options if your computer’s resolution is high enough.
    • If you are using a version of XCode older than 9.1, you should instead set the device scale in the Window > Scale menu.

Create and run a simple Flutter app

To create your first Flutter app and test your setup, follow these steps:

  1. Create a new Flutter app by running the following from the command line:

  2. A directory is created, containing Flutter’s starter app. Enter this directory:

  3. To launch the app in the Simulator, ensure that the Simulator is running and enter:

Deploy to iOS devices

To deploy your Flutter app to a physical iOS device you need the third-party CocoaPods dependency manager and an Apple Developer account. You’ll also need to set up physical device deployment in Xcode.

  1. Install and set up CocoaPods by running the following commands:

  2. Follow the Xcode signing flow to provision your project:

    1. Open the default Xcode workspace in your project by running in a terminal window from your Flutter project directory.
    2. Select the device you intend to deploy to in the device drop-down menu next to the run button.
    3. Select the project in the left navigation panel.
    4. In the target settings page, make sure your Development Team is selected. The UI varies depending on your version of Xcode.
      • For Xcode 10, look under General > Signing > Team.
      • For Xcode 11 and newer, look under Signing & Capabilities > Team.

      When you select a team, Xcode creates and downloads a Development Certificate, registers your device with your account, and creates and downloads a provisioning profile (if needed).

      • To start your first iOS development project, you might need to sign into Xcode with your Apple ID. Development and testing is supported for any Apple ID. Enrolling in the Apple Developer Program is required to distribute your app to the App Store. For details about membership types, see Choosing a Membership.
      • The first time you use an attached physical device for iOS development, you need to trust both your Mac and the Development Certificate on that device. Select in the dialog prompt when first connecting the iOS device to your Mac.

        Then, go to the Settings app on the iOS device, select General > Device Management and trust your Certificate. For first time users, you may need to select General > Profiles > Device Management instead.

      • If automatic signing fails in Xcode, verify that the project’s General > Identity > Bundle Identifier value is unique.

  3. Start your app by running or clicking the Run button in Xcode.

Android setup

Note: Flutter relies on a full installation of Android Studio to supply its Android platform dependencies. However, you can write your Flutter apps in a number of editors; a later step discusses that.

Install Android Studio

  1. Download and install Android Studio.
  2. Start Android Studio, and go through the ‘Android Studio Setup Wizard’. This installs the latest Android SDK, Android SDK Command-line Tools, and Android SDK Build-Tools, which are required by Flutter when developing for Android.

Set up your Android device

To prepare to run and test your Flutter app on an Android device, you need an Android device running Android 4.1 (API level 16) or higher.

  1. Enable Developer options and USB debugging on your device. Detailed instructions are available in the Android documentation.
  2. Windows-only: Install the Google USB Driver.
  3. Using a USB cable, plug your phone into your computer. If prompted on your device, authorize your computer to access your device.
  4. In the terminal, run the command to verify that Flutter recognizes your connected Android device. By default, Flutter uses the version of the Android SDK where your tool is based. If you want Flutter to use a different installation of the Android SDK, you must set the environment variable to that installation directory.

Set up the Android emulator

To prepare to run and test your Flutter app on the Android emulator, follow these steps:

  1. Enable VM acceleration on your machine.
  2. Launch Android Studio, click the AVD Manager icon, and select Create Virtual Device…
    • In older versions of Android Studio, you should instead launch Android Studio > Tools > Android > AVD Manager and select Create Virtual Device…. (The Android submenu is only present when inside an Android project.)
    • If you do not have a project open, you can choose Configure > AVD Manager and select Create Virtual Device…
  3. Choose a device definition and select Next.
  4. Select one or more system images for the Android versions you want to emulate, and select Next. An x86 or x86_64 image is recommended.
  5. Under Emulated Performance, select Hardware - GLES 2.0 to enable hardware acceleration.
  6. Verify the AVD configuration is correct, and select Finish.

    For details on the above steps, see Managing AVDs.

  7. In Android Virtual Device Manager, click Run in the toolbar. The emulator starts up and displays the default canvas for your selected OS version and device.

Web setup

Flutter has early support for building web applications using the channel of Flutter. To add support for web development, follow these instructions when you’ve completed the setup above.

Next step

Set up your preferred editor.

Источник: []

What’s New in the iOS Emulators Vs iOS Simulators Archives?

Screen Shot

System Requirements for IOS Emulators Vs iOS Simulators Archives

Add a Comment

Your email address will not be published. Required fields are marked *