Develop, Deploy, and Test Apps with Expo Development Client
Erin Bailey
Flutter is Google’s mobile app SDK for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.
For users, Flutter makes beautiful app UIs come to life. For developers, Flutter lowers the bar to entry for building mobile apps. It speeds up the development of mobile apps and reduces the cost and complexity of app production across iOS and Android. For designers, Flutter helps deliver the original design vision, without loss of fidelity or compromises. It also acts as a productive prototyping tool.
To install and run Flutter, your development environment must meet these minimum requirements:
[crayon-6a75dcf01e8fb563688300 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-6a75dcf01e8ff052554861 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-6a75dcf01e902466251459 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-6a75dcf01e906657259156 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e909498621539 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e90c034665675 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Clone alpha branch from Flutter repository using Git and add bin folder to your PATH.
[crayon-6a75dcf01e90f104780652 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>$ git clone https://github.com/flutter/flutter.git -b alpha $ export PATH=`pwd`/flutter/bin:$PATH</em> |
[crayon-6a75dcf01e914097608320 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
The above command sets your PATH variable temporarily, for the current terminal window. You are now ready to run Flutter commands!
[crayon-6a75dcf01e917578735768 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Note: To permanently add Flutter to your path, see the reference https://flutter.io/setup-macos/#update-your-path.
[crayon-6a75dcf01e91a137360530 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e91d135196013 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Run the following command to see if there are any dependencies you need to install to complete the setup:
[crayon-6a75dcf01e921393139801 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 |
<em>$ flutter doctor</em> |
[crayon-6a75dcf01e925645332673 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
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.
[crayon-6a75dcf01e928788241417 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
For example:
[crayon-6a75dcf01e92b579419958 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e92f853952367 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e932534243693 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
macOS supports developing Flutter apps for both iOS and Android. Complete at least one of the two platform setup steps now, to be able to build and run your first Flutter app.
[crayon-6a75dcf01e935008041836 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e939190652425 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e93c126088297 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To develop Flutter apps for iOS, you need a Mac with Xcode 9.0 or newer:
[crayon-6a75dcf01e93f144314847 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e94a538897694 inline="true" class="highlighter-rouge"]<br />[/crayon]
[crayon-6a75dcf01e94d770846253 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e950096019659 inline="true" class="highlighter-rouge"][/crayon]
[crayon-6a75dcf01e953603268564 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
With Xcode, you’ll be able to run Flutter apps on an iOS device or on the simulator.
[crayon-6a75dcf01e956799430773 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e959513932888 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To deploy your Flutter app to a physical iOS device, you’ll need some additional tools and an Apple account. You’ll also need to set up physical device deployment in Xcode.
[crayon-6a75dcf01e95c933542981 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e960748820466 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 3 4 |
<em>$ brew</em> update $<em> brew install --HEAD libimobiledevice $ brew install ideviceinstaller ios-deploy cocoapods $ pod setup</em> |
[crayon-6a75dcf01e964771161122 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
If any of these commands fails with an error, run brew doctor and follow the instructions for resolving the issue.
[crayon-6a75dcf01e969550005223 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e96d371845196 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e97b187247398 inline="true" class="highlighter-rouge"][/crayon]


[crayon-6a75dcf01e98e779957237 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-6a75dcf01e991566635381 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e994090065571 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e997151225372 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e99b821435023 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e99e764957280 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e9a1582648222 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e9a4271122102 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e9a7938478172 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To prepare to run and test the Flutter app on an Android device, you’ll need an Android device running Android 4.1 (API level 16) or higher.
[crayon-6a75dcf01e9aa769276171 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e9af161633889 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e9b4960310746 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
By default, Flutter uses the version of the Android SDK where your adb tool is based. If you want Flutter to use a different installation of the Android SDK, you must set the environment[crayon-6a75dcf01e9b8819454860 inline="true" class="highlighter-rouge"]ANDROID_HOME variable to that installation directory.[/crayon]
[crayon-6a75dcf01e9c4047113476 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e9c8605900894 inline="true" class="highlighter-rouge"][/crayon]
[crayon-6a75dcf01e9cd636763529 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e9d1948723907 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Here I created a sample flutter_app project using following terminal command:
[crayon-6a75dcf01e9d5315044751 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>flutter create flutter_app cd flutter_app</em> |
[crayon-6a75dcf01e9db031050072 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01e9e0592515902 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To list out all connected devices, please use the commandflutter devices to show all:
[crayon-6a75dcf01e9e4148515667 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>SM G950U1 • 9887fc41594630315a • android-arm • Android 7.0 (API 24) iPhone 7 • a0c2865be4ccfe53aea7c280dded0837873104ae • ios • iOS 10.3.3</em> |
[crayon-6a75dcf01e9eb877429982 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
If you have only one device is connected, just use the command flutter run to install your app into the device.
[crayon-6a75dcf01e9ef802077694 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Otherwise, if have more than one device connected; please specify a device with the ‘-d <deviceId>’ flag, or use ‘-d all’ to act on all devices.
[crayon-6a75dcf01e9f4997979679 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>flutter run -d 9887fc41594630315a flutter run -d a0c2865be4ccfe53aea7c280dded0837873104ae</em> |
[crayon-6a75dcf01e9fb155805213 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Note: For iOS device, if you see the error as below, please double check the iOS Setup step to fix it.
[crayon-6a75dcf01e9fe018964668 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01ea01762864886 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To generate an APK file, run:
[crayon-6a75dcf01ea04848007654 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 |
flutter build apk |
[crayon-6a75dcf01ea09146758474 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
The output looks like:
[crayon-6a75dcf01ea0c848334563 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 3 4 5 |
Initializing gradle... 4.4s Resolving dependencies... 2.2s Running 'gradlew assembleRelease'... Skipping AOT snapshot build. Fingerprint match. Built build/app/outputs/apk/release/app-release.apk (7.6MB). |
[crayon-6a75dcf01ea11933137460 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To generate an IPA file, run:
[crayon-6a75dcf01ea14041023929 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 |
flutter build ios |
[crayon-6a75dcf01ea19113322403 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
The output looks like:
[crayon-6a75dcf01ea1c963410358 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 3 4 |
Building com.example.flutterApp for device (ios-release)... Automatically signing iOS for device deployment using specified development team in Xcode project: 4X2699XXXX Running Xcode build... 23.5s Built /build/ios/Release-iphoneos/Runner.app |
[crayon-6a75dcf01ea31537971951 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01ea35115518978 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
In this part, I will guide you how to use Kobiton Cloud to test your apps. A Kobiton account is required to access Kobiton system. If you do not have a Kobiton account yet, go ahead to create a free trial account and sign in. It takes just a few moments.
[crayon-6a75dcf01ea3a553303831 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]




|
1 2 3 4 5 6 7 |
<em>DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("app", "kobiton-store:1024"); capabilities.setCapability("deviceGroup", "KOBITON"); capabilities.setCapability("deviceName", "Galaxy S8+"); capabilities.setCapability("platformVersion", "7.0"); capabilities.setCapability("platformName", "Android"); </em> |
|
1 2 3 4 5 6 |
<em>DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("app", "kobiton-store:1024"); capabilities.setCapability("deviceGroup", "KOBITON"); capabilities.setCapability("deviceName", "iPhone 6 Plus"); capabilities.setCapability("platformVersion", "10.0.2"); capabilities.setCapability("platformName", "iOS");</em> |
[crayon-6a75dcf01ea46931692626 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01ea49950451847 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge">[/crayon]
[crayon-6a75dcf01ea4c525204327 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]