Giter Club home page Giter Club logo

deviceagent.ios's Introduction

develop versioning license contributing
Build Status Version License Contributing

DeviceAgent.iOS

Requirements

  • Xcode >= 10.2.1
  • ruby >= 2.3

Code Signing

Project maintainers must clone the codesign repo and install the certs and profiles. Talk to a maintainer for details.

Contributors need to touch the Xcode project file with valid credentials.

Building

All build products are staged to the ./Products directory - even when building from Xcode.

Xcode

To build the DeviceAgent-Runner.app from Xcode, select the DeviceAgent scheme and Build for Testing (Shift + Command + U). Rinse and repeat for simulator or device targets. This will generate binaries for distribution in the ./Products directory. The post-build staging is done in the DeviceAgent scheme's Build Post Action Script.

The logs for this script can be found here:

/tmp/CBX-Runner-post-build.log

Inspect that log file for code signing, patching, and staging errors.

The application targets can be built as usual (Command + B).

You should never have to build the UnitTest target for distribution.

Command line

$ cd DeviceAgent.iOS
$ bundle install

# Make the agent ipa and app
$ make ipa-agent
$ make app-agent

# Unit tests; running against simulators
$ make unit-tests

# Cucumber integration tests
$ make test-app
$ cd cucumber
$ bundle update
$ be cucumber

To build with an alternative Xcode:

$ DEVELOPER_DIR=/Xcode/10.1/Xcode-beta.app/Contents/Developer make < rule >

If you have build errors, see the xcpretty section below.

Code Signing

iPhone Developer: ambiguous matches

Ambiguous matches usually mean that the certs are contained in both your login.keychain and the Calabash.keychain. Delete the certs in your login.keychain.

Contributing

  • The Calabash iOS Toolchain uses git-flow.
  • Contributors should not bump the version.
  • See the CONTRIBUTING.md guide.
  • There is a style guide: STYLE_GUIDE.md.
  • Pull-requests with unit tests will be merged faster.
  • Pull-requests with Cucumber integration tests will be merged even faster.

Releasing

See the CONTRIBUTING.md document for instructions.

xcpretty

https://github.com/supermarin/xcpretty

We use xcpretty to make builds faster and to reduce the amount of logging. Travis CI, for example, has a limit on the number of lines of logging that can be generated; xcodebuild breaks this limit.

The only problem with xcpretty is that it does not report build errors very well. If you encounter an issue with any of the make rules, run without xcpretty:

$ XCPRETTY=0 make ipa-agent

Licenses

DeviceAgent uses several third-party sources. You can find the licenses for these sources in the Licenses directory.

deviceagent.ios's People

Contributors

denis-panov avatar dsame avatar jescriba avatar jmoody avatar owenniblock avatar polyakrecords avatar stoneman avatar tikhon-polyakov 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.