Git Product home page Git Product logo

adamwaite / ios-build-kit Goto Github PK

View Code? Open in Web Editor NEW
568.0 23.0 54.0 20.49 MB

☠️ BuildKit is a modular command line interface for automating iOS project builds. Bundled build tasks include: Increment app version • Xcode build • Overlay version number on icon files • Run unit tests • Create .ipa artefact.

License: MIT License

Ruby 10.34% Objective-C 86.62% C 0.52% Shell 1.71% Swift 0.80%

ios-build-kit's Introduction

iOS BuildKit

BuildKit is a modular command line interface for automating iOS project builds. BuildKit aims to relieve you from the pain of configuring continuous integration environments and build processes.

💀 BuildKit is no longer maintained. Fastlane does everything BuildKit does, and much more. It was useful at the time, and it a lot of fun to write, but it's behind the times. Thanks to all contributors!

Bundled build tasks include:

  • Increment the build number
  • Draw the version number on the app icon
  • Build the app
  • Run unit tests
  • Generate an .ipa artefact

BuildKit is distributed as a Ruby gem with an executable that can be launched either in a continuous integration server environment or on your development machine. The process is configured with a simple YAML file that describes the tasks to run and your project-specific options. This means that you can tailor the build process to meet your requirements.

It's compatible with the iOS7 and iOS8 SDK with Objective-C and Swift projects.

Version: 0.0.6

demo-vid

Dependencies

  • Ruby > 2.0: BuildKit is written and run with Ruby, you'll need a version higher than 2.0 because of the modern syntax. Check your Ruby version with ruby -v. RVM makes it easy should you need to update.
  • Xcode command line tools: xcode-select --install
  • ImageMagick: Command line graphics library used to draw on the app icon. Install with: brew install imagemagick.
  • GhostScript: Command line text rendering library used to draw the version number on the app icon. Install with: brew install ghostscript.

Installation

After the dependencies have been installed, BuildKit can be installed with:

gem install ios_build_kit

Usage

BuildKit is launched from a command line environment with:

buildkit

Pass a configuration file to BuildKit with:

buildkit your-config-file.yml

Configuration Files

The configuration file describes three things:

  1. Task modules to run (and task-specific options)
  2. Project configuration
  3. User preferences

An example configuration file:

:tasks:
  :increment_version:
    :run: true
    :options:
  :decorate_icon:
    :run: true
    :options:
  :xcode_build:
    :run: true
    :options:
      :log: true
      :clean: true
  :run_tests:
    :run: false
    :options:
    	:log: true
  :create_ipa:
    :run: true
    :options:
    	:log: true

:configuration:
  :app_name: "BuildKit"
  :workspace: "BuildKit.xcworkspace"
  :info_plist: "BuildKit/BuildKit-Info.plist"
  :build_configuration: "Release"
  :scheme: "BuildKit"
  :sdk: "iphoneos"
  :provisioning_profile: "Provisioning/BuildKitTest.mobileprovision"
  :code_sign: "iPhone Distribution: Alpaca Labs"
  :icon_dir: "BuildKit/Icon/"
  :build_dir: "Builds"

:preferences:
  :reports: "Reports"

Setting Tasks

The :tasks: symbol is used to define what tasks you would like your process to run. If :run: is set to true on a particular task then that task will be executed as part of the build process. Setting :run: to false will mean that the task is skipped (note that some tasks depend on others, and may cause a graceful failure). In the examle above all tasks but for run_tests will be executed.

The tasks will be run in the order that they appear in the list. It's recommended to follow the order shown in the example as they've been ordered to provide the best value to the process. In the example:

  1. The build version is incremented with increment_version
  2. The newly incremented version is rendered on the app icon with decorate_icon
  3. Lastly xcode_build and create_ipa are run to build and create an ipa, which if installed on a device, will have the version number overlayed on the icon.

Anything passed with the :options: symbol will be provided as an option. For example, taking the example configuration file above the :log: option on the run_tests task is set to true so the test output will be printed to the CLI.

The Tasks section in this README describes all of the options available to each task.

Setting Project Configuration

To run the task modules successfully requires some project-specific configuration, this is done under the :configuration: symbol.

  • :app_name:: Your app's name!
  • :workspace:: The path to your workspace (note that single Xcode project files aren't supported).
  • :info_plist:: The path to your app's main info-plist file.
  • :build_configuration:: Your build configuration (normally "Release" or suchlike)
  • :scheme:: Project scheme to build
  • :sdk:: SDK to build with (example: "iphoneos")
  • :provisioning_profile:: Path to a provisioning profile to sign the app with.
  • :code_sign:: The code signature, this is found in Xcode next to a selected provisioning profile (example: "iPhone Distribution: Alpaca Labs"). I recommend this OSX quick look plug in if you want to inspect profiles.
  • :icon_dir:: The path to a directory containing you icon image files. More on this in the Tasks decorate_icon section of this README.
  • :build_dir:: The path to drop any build and ipa files after they have been created.

Note: if some required configuration has not been provided, or an invalid location has been provided for an option that requires a path, then BuildKit will gracefully fail.

Setting User Preferences

BuildKit can be configured to suit your own preference too. This is done under the :preferences: symbol. For example, to switch on build report generation set the :reports: symbol to true. User preferences are further described in the User Preferences section of this README.

Build Tasks

BuildKit comes packaged with the following task modules:

  • increment_version: Increment the build number
  • decorate_icon: Overlay the version number on the app icon
  • xcode_build: Build the app
  • run_tests: Run unit tests
  • create_ipa: Generate an .ipa artefact

increment_version

Increments the build version number in the Info-plist.

Requires configuration:

  • :info_plist:

decorate_icon

Duplicates your app icon files and renders the version number on top (incremented with increment_version or not).

decorate_icon-example

Decorate icon requires some convention for optimal usage:

  1. The app icon files should be contained in a dedicated directory of their own.
  2. Drop the icon directory in to Xcode as a folder reference rather than a group.
  3. Set the icon files in your Info-plist as:
<key>CFBundleIcons</key>
<dict>
	<key>CFBundlePrimaryIcon</key>
	<dict>
		<key>CFBundleIconFiles</key>
		<array>
			<string>CONTAININGFOLDER/Decorated-ICONFILENAME</string>
			<string>CONTAININGFOLDER/Decorated-ICONFILENAME</string>
			<string>CONTAININGFOLDER/Decorated-ICONFILENAME</string>
		</array>
	</dict>
</dict>

If you're unsure check the example project.

Requires configuration:

  • :info_plist:
  • :icon_dir:

xcode_build

Builds the project (with optional clean before build).

Options:

  • log: logs the output to the console
  • clean: clean before build

Requires configuration:

  • :app_name:
  • :workspace:
  • :sdk:
  • :build_configuration:
  • :build_dir:
  • :scheme:

Note: Special thanks to @supermarin for making the output beautiful with his xcpretty gem (same for run_tests)

run_tests

Runs unit tests. XCTest, Kiwi and Specta/Expecta are all supported

Options:

  • log: logs the output to the console

Requires configuration:

  • :workspace:
  • :scheme:

create_ipa

Creates an .ipa build artefact and drops it in build directory specified in the config file.

Options:

  • log: logs the output to the console

Requires previous tasks:

  • xcode_build

Requires configuration:

  • Everything required for xcode_build

User Preferences

BuildKit includes some user preferences that can be enabled under the :preferences: symbol of a config file.

User Preferences: Create Reports

Set :reports: to a directory in your config file to create a JSON report containing the project configuration, build time, build outputs and test outputs after a BuildKit run has completed.

Leaving the :reports: preference blank will skip report generation.

Examples

An example workspace has been included in the repo if you want to try it out. You may need to change the paths in the build_config.yml configuration file first and run a pod install.

Roadmap

Lots of plans for BuildKit:

  • Create a build task module to enable artefact distribution by wrapping Shenzhen (in progress).
  • Add a generator for config files (next up).
  • Add a means to allow custom task modules to be added to the process.
  • Make decorate_icon compatible with Xcode 5 asset catalogues.

Contributing

All pull requests welcome! Please ensure that all existing RSpec specs pass, and that any new features are covered with specs. Please keep the README up to date. Run specs from the root directory with rspec spec.

Contact

@adamwaite

Build Errors

And finally, a list of cryptic build error annoyances and how to deal with them:

License

Copyright (c) 2014 Adam Waite. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

ios-build-kit's People

Contributors

adamwaite avatar delebedev avatar neilkimmett avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ios-build-kit's Issues

Error when using buildkit

/Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:126:in require': dlopen(/Users/koofrank/.rvm/gems/ruby-2.0.0-p247/extensions/x86_64-darwin-12/2.0.0-static/rmagick-2.13.2/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libfreetype.6.dylib (LoadError) Referenced from: /usr/local/lib/libMagickCore-6.Q16.1.dylib Reason: Incompatible library version: libMagickCore-6.Q16.1.dylib requires version 17.0.0 or later, but libfreetype.6.dylib provides version 13.0.0 - /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/extensions/x86_64-darwin-12/2.0.0-static/rmagick-2.13.2/RMagick2.bundle from /Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:126:inrequire'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/rmagick-2.13.2/lib/rmagick.rb:11:in <top (required)>' from /Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:inrequire'
from /Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in require' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit/tasks/decorate_icon.rb:3:inmodule:BuildKit'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit/tasks/decorate_icon.rb:1:in <top (required)>' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit.rb:3:inload'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit.rb:3:in block in <module:BuildKit>' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit.rb:3:ineach'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit.rb:3:in <module:BuildKit>' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit.rb:1:in<top (required)>'
from /Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in require' from /Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:inrequire'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/bin/buildkit:6:in <top (required)>' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/bin/buildkit:23:inload'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/bin/buildkit:23:in <main>' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/bin/ruby_executable_hooks:15:ineval'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/bin/ruby_executable_hooks:15:in `

'

configure.rb fails with stock Ruby in Mountain Lion

Running configure.rb on Mountain Lion fails with an error message:

undefined method `absolute_path' for File:Class (NoMethodError)

System installed Ruby is 1.8.6, turns out this needs Ruby 1.9 or later.

Workaround: Install a newer version of Ruby (e.g. via homebrew or rvm)

configure.rb trashes git repo

When you first clone XcodeProject, the repo is fine. But after running ruby configure.rb, the repo is broken:

$ git st
error: bad index file sha1 signature
fatal: index file corrupt

Unfortunately, the fix suggested on Stack Overflow also fails:

$ rm -f .git/index
$ git reset
error: packfile .git/objects/pack/pack-a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack does not match index
warning: packfile .git/objects/pack/pack-a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack cannot be accessed
error: packfile .git/objects/pack/pack-a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack does not match index
warning: packfile .git/objects/pack/pack- a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack cannot be accessed
error: packfile .git/objects/pack/pack-a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack does not match index
warning: packfile .git/objects/pack/pack-a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack cannot be accessed
fatal: Could not parse object 'HEAD'.

It's probably a global rename gone too far.

Running simultaneous builds

Tried creating a bash script to create multiple builds but for some reason it doesn't seem like its working. Any ideas?

Web UI

Web UI for running builds?

Error when using buildkit

buildkit build_config.yml prints
/Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:106:in require': dlopen(/Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/rmagick-2.13.2/lib/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libltdl.7.dylib (LoadError)
Referenced from: /usr/local/lib/libMagickCore-6.Q16.1.dylib
Reason: image not found - /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/rmagick-2.13.2/lib/RMagick2.bundle
from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:106:in require' from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/rmagick-2.13.2/lib/rmagick.rb:11:in <top (required)>'
from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:58:in require' from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:58:in require'
from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit/tasks/decorate_icon.rb:3:in <module:BuildKit>' from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit/tasks/decorate_icon.rb:1:in <top (required)>'
from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:3:in load' from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:3:in block in module:BuildKit'
from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:3:in each' from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:3:in module:BuildKit'
from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:1:in <top (required)>' from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:58:in require'
from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:58:in require' from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/bin/buildkit:6:in <top (required)>'
from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/bin/buildkit:23:in load' from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/bin/buildkit:23:in

'`

NoSuchMethod error

How do I fix this

it is urgent

/usr/local/lib/ruby/gems/2.2.0/gems/ios_build_kit-0.0.6/lib/ios_build_kit/utils/assertions.rb:26:in assert_symbol_hash_keys': undefined methodeach' for false:FalseClass

-lPods not found issue in example project

Struggling from this issue for the whole day.
Console output is library not found for -lPods
During debugging i've discovered that the bug appears because buildkit produces CONFIGURATION_BUILD_DIR="Builds" option for xctool and somehow Pods project does not take it into acccount. Trying to find the solution, any help is appreciated

CodeSign fails but script gives happy cheers

I am trying to run the script from Jenkins
and it shows that code sign failed, but continues on to creating ipa instead of warning that the script failed
Program /usr/bin/codesign returned 1 : [/Users/jenkins/workspace/Builds/MyApp.app: code object is not signed at all In architecture: armv7 ] Codesign check fails : /Users/jenkins/workspace/Builds/MyApp.app: code object is not signed at all In architecture: armv7

Proposal: use xcpretty instead of xctool

Is there any particular reason to use pretty 'heavy' dependensy such as xctool? Since xcode5 xcodebuild can be used to run tests from command line, and from my experience with xctool it sometimes fails to run the tests in different conditions.

Why not to use https://github.com/mneorr/XCPretty? It's pretty lightweight and build on top of xcodebuild.

Unspecified code_sign_arg

Hi,

I try to build my app project with iOS-Build-Kit.
I have one issue for signing an IPA.
Checking the code at
https://github.com/adamwaite/iOS-Build-Kit/blob/master/lib/ios_build_kit/tasks/create_ipa.rb#L69
code_sign configuration is set to code_sign_arg.
However, code_sign_args does not being use at
https://github.com/adamwaite/iOS-Build-Kit/blob/master/lib/ios_build_kit/tasks/create_ipa.rb#L71

In my environment, without specified the sign, the generated IPA will have old provision information.
I guess my Xcode's provisions are outdated, but I want to update my provisions handy without Xcode.

Are there any reasons for not specifying the sign in xcrun?

NoMethodError when deleting mandatory configuration sush as :build_dir

Steps:

  1. delete :build_dir
  2. run buildkit

Result:

Running Task: xcode_build
-------------------------
/Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/utils/assertions.rb:15:in `block in assert_required_config': undefined method `terminate_with_err' for #<BuildKit::Runner::TaskRunner:0x007fc613828828> (NoMethodError)
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/utils/assertions.rb:14:in `each'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/utils/assertions.rb:14:in `assert_required_config'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/tasks/xcode_build.rb:24:in `assert_requirements'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/task.rb:17:in `prepare_task_with_runner_and_options!'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/task.rb:10:in `initialize'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/tasks/xcode_build.rb:6:in `new'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/tasks/xcode_build.rb:6:in `xcode_build'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/task_runner.rb:25:in `block in run_tasks!'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/task_runner.rb:21:in `each'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/task_runner.rb:21:in `run_tasks!'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit.rb:9:in `start_with_configuration'
    from /Users/dlebedev/src/git/iOS-Build-Kit/bin/buildkit:17:in `<main>'
[1]    11068 exit 1     ~/src/git/iOS-Build-Kit/bin/buildkit build_config.yml```

Hi

First of all, thanks for sharing this.

I followed the steps according with the documentation, http://rubydoc.info/gems/ios_build_kit/0.0.1/frames, but when I try to execute the example project I get this error:
/Users/casero/.rvm/gems/ruby-2.0.0-p353/gems/ios_build_kit-0.0.1/lib/ios_build_kit/task_runner.rb:52:in prepare_task_queue!': private method select' called for nil:NilClass (NoMethodError) from /Users/casero/.rvm/gems/ruby-2.0.0-p353/gems/ios_build_kit-0.0.1/lib/ios_build_kit/task_runner.rb:15:in initialize' from /Users/casero/.rvm/gems/ruby-2.0.0-p353/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:8:in new' from /Users/casero/.rvm/gems/ruby-2.0.0-p353/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:8:in start_with_configuration' from /Users/casero/.rvm/gems/ruby-2.0.0-p353/gems/ios_build_kit-0.0.1/bin/buildkit:17:in <top (required)>' from /Users/casero/.rvm/gems/ruby-2.0.0-p353/bin/buildkit:23:in load' from /Users/casero/.rvm/gems/ruby-2.0.0-p353/bin/buildkit:23:in <main>'

I'm new in ruby, any suggestion is welcome!.

Thanks

Install failing

When trying to install, via gem install ios_build_kit

ERROR: While executing gem ... (Gem::UnsatisfiableDependencyError) Unable to resolve dependency: 'ios_build_kit (= 0.0.3)' requires 'nomad-cli

nomad-cli 0.0.2 is installed, which it says is the latest version.
ruby -v = 2.1.0p0 through RVM.

Let me know if you need any more information, can't wait to use build kit.

ipa builds with wrong provisioning profile even when specifying path to provisioning profile

I'm seeing that the wrong profile (app store) is selected even though I specifically tell it to pick the adhoc profile. I also have to refresh my xcode profiles each time a profile is updated. Do you have any idea why this is the case?

Here's the relevant part of my config file:

:configuration:

...

:build_configuration: "TestFlight"

:scheme: "SendOutCardsApp_CI"

:sdk: "iphoneos"

:provisioning_profile: "../Provisioning/App_AdHoc_Profile.mobileprovision"

:code_sign: "iPhone Distribution: SOC, LLC"

:icon_dir: "BuildKit/Icon/"

:build_dir: "Builds"

:preferences:

:reports: "Reports"

Here is the log and it mentions arguments are properly set:

Arguments: embed=../Provisioning/App_AdHoc_Profile.mobileprovision verbose=1

The profile in the Provisioning folder is up to date. Thank you and I appreciate your help in advance!

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.