Giter VIP home page Giter VIP logo

ios-sim's Introduction

ios-sim

Supports Xcode 6 only since version 3.x.

The ios-sim tool is a command-line utility that launches an iOS application on the iOS Simulator. This allows for niceties such as automated testing without having to open Xcode.

Features

  • Choose the device family to simulate, i.e. iPhone or iPad. Run using "showdevicetypes" option to see available device types, and pass it in as the "devicetypeid" parameter.
  • Setup environment variables.
  • Pass arguments to the application.
  • See the stdout and stderr, or redirect them to files.

See the --help option for more info.

Usage

Usage: ios-sim <command> <options> [--args ...]

Commands:
  showsdks                        List the available iOS SDK versions
  showdevicetypes                 List the available device types (Xcode6+)
  launch <application path>       Launch the application at the specified path on the iOS Simulator
  start                           Launch iOS Simulator without an app

Options:
  --version                       Print the version of ios-sim
  --help                          Show this help text
  --verbose                       Set the output level to verbose
  --exit                          Exit after startup
  --debug                         Attach LLDB to the application on startup
  --use-gdb                       Use GDB instead of LLDB. (Requires --debug)
  --uuid <uuid>                   A UUID identifying the session (is that correct?)
  --env <environment file path>   A plist file containing environment key-value pairs that should be set
  --setenv NAME=VALUE             Set an environment variable
  --stdout <stdout file path>     The path where stdout of the simulator will be redirected to (defaults to stdout of ios-sim)
  --stderr <stderr file path>     The path where stderr of the simulator will be redirected to (defaults to stderr of ios-sim)
  --timeout <seconds>             The timeout time to wait for a response from the Simulator. Default value: 30 seconds
  --args <...>                    All following arguments will be passed on to the application
  --devicetypeid <device type>    The id of the device type that should be simulated (Xcode6+). Use 'showdevicetypes' to list devices.
                                  e.g "com.apple.CoreSimulator.SimDeviceType.Resizable-iPhone6, 8.0"
DEPRECATED in 3.x, use devicetypeid instead:
  --sdk <sdkversion>              The iOS SDK version to run the application on (defaults to the latest)
  --family <device family>        The device type that should be simulated (defaults to `iphone')
  --retina                        Start a retina device
  --tall                          In combination with --retina flag, start the tall version of the retina device (e.g. iPhone 5 (4-inch))
  --64bit                         In combination with --retina flag and the --tall flag, start the 64bit version of the tall retina device (e.g. iPhone 5S (4-inch 64bit))

Installation

With node.js (at least 0.10.20):

$ npm install ios-sim -g

Download an archive:

$ curl -L https://github.com/phonegap/ios-sim/zipball/3.1.1 -o ios-sim-3.1.1.zip
$ unzip ios-sim-3.1.1.zip

Or from a git clone:

$ git clone git://github.com/phonegap/ios-sim.git

Then build and install from the source root:

$ rake install prefix=/usr/local/

Troubleshooting

Make sure you enable Developer Mode on your machine:

$ DevToolsSecurity -enable

Make sure multiple instances of launchd_sim are not running:

$ sudo ps -A | grep -e "launchd_sim" -e "simulator" -i | grep -v grep | awk '{print $1}' | xargs kill -9

This kills three types of processes:

  1. xcode-select --print-path/Applications/iOS Simulator.app process
  2. com.apple.CoreSimulator.CoreSimulatorService service
  3. xcode-select --print-path/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk processes

Development

When you want to release a version, do:

$ rake version:bump v=NEW_VERSION
$ rake release
$ npm version NEW_VERSION -m "Updated to npm version %s"

tmux

To get ios-sim to launch correctly within tmux use the reattach-to-user-namespace wrapper.

reattach-to-user-namespace ios-sim launch ./build/MyTestApp.app

source: https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard

brew: brew install reattach-to-user-namespace

License

Original author: Landon Fuller [email protected] Copyright (c) 2008-2011 Plausible Labs Cooperative, Inc. All rights reserved.

This project is available under the MIT license. See LICENSE.

ios-sim's People

Contributors

shazron avatar alloy avatar jhaynie avatar krukow avatar ntherning avatar bdarnell avatar dbriones avatar x2on avatar fjolnir avatar gnachman avatar darkk avatar bitwiseman avatar mschulkind avatar matzew avatar piprog avatar rodhan avatar

Watchers

张博 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.