rubymotion-community / motion-provisioning

Simplified provisioning for RubyMotion iOS, tvOS and macOS apps.
Other
46 stars 20 forks source link

NoMethodError: undefined method `shellescape' for #<MotionProvisioning::Utils::Answer:0x007f977296bde0> #7

Closed mpouleijn closed 8 years ago

mpouleijn commented 8 years ago

Hi

When I want to build a version to run on my device i get the following error directly after giving my password:

NoMethodError: undefined method `shellescape' for #<MotionProvisioning::Utils::Answer:0x007f977296bde0>
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/security-0.1.3/lib/security/password.rb:45:in `block in flags_for_options'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/security-0.1.3/lib/security/password.rb:45:in `each'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/security-0.1.3/lib/security/password.rb:45:in `collect'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/security-0.1.3/lib/security/password.rb:45:in `flags_for_options'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/security-0.1.3/lib/security/password.rb:102:in `flags_for_options'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/security-0.1.3/lib/security/password.rb:84:in `add'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/motion-provisioning-0.0.4/lib/motion-provisioning.rb:62:in `client'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/motion-provisioning-0.0.4/lib/motion-provisioning/certificate.rb:6:in `client'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/motion-provisioning-0.0.4/lib/motion-provisioning/certificate.rb:42:in `certificate_name'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/motion-provisioning-0.0.4/lib/motion-provisioning.rb:195:in `certificate'
/Users/mpouleijn/development/rubymotion/sesame/Rakefile:22:in `block (2 levels) in <top (required)>'
/Library/RubyMotion/lib/motion/project/config.rb:202:in `development'
/Users/mpouleijn/development/rubymotion/sesame/Rakefile:21:in `block in <top (required)>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/bubble-wrap-1.9.5/lib/bubble-wrap/ext/motion_project_app.rb:10:in `block in setup_with_bubblewrap'
/Library/RubyMotion/lib/motion/project/config.rb:121:in `block in setup'
/Library/RubyMotion/lib/motion/project/config.rb:121:in `each'
/Library/RubyMotion/lib/motion/project/config.rb:121:in `setup'
/Library/RubyMotion/lib/motion/project/app.rb:66:in `config'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/bubble-wrap-1.9.5/lib/bubble-wrap/ext/motion_project_app.rb:24:in `config_with_bubblewrap'
/Library/RubyMotion/lib/motion/project/template/ios.rb:47:in `pre_build_actions'
/Library/RubyMotion/lib/motion/project/template/ios.rb:74:in `block (2 levels) in <top (required)>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/rake-11.2.2/exe/rake:27:in `<top (required)>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/bin/ruby_executable_hooks:15:in `eval'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => device => archive => build:device
(See full trace by running task with --trace)

My rakefile looks like this:

# -*- coding: utf-8 -*-
$:.unshift("/Library/RubyMotion/lib")
require 'motion/project/template/ios'

begin
  require 'bundler'
  Bundler.require
rescue LoadError
end

Motion::Project::App.setup do |app|
  # Use `rake config' to see complete project settings.
  app.name = 'Sesame'
  app.identifier = 'com.gynzy.sesame'
  app.device_family = [:iphone]

  app.pods do
    pod 'NSData+Base64'
  end

  app.development do
    app.codesign_certificate = MotionProvisioning.certificate(
      type: :development,
      platform: :ios)

    app.provisioning_profile = MotionProvisioning.profile(
      bundle_identifier: app.identifier,
      app_name: app.name,
      platform: :ios,
      type: :development)
  end

  app.release do
    app.codesign_certificate = MotionProvisioning.certificate(
      type: :distribution,
      platform: :ios)

    app.provisioning_profile = MotionProvisioning.profile(
      bundle_identifier: app.identifier,
      app_name: app.name,
      platform: :ios,
      type: :distribution)
  end
end

I'm using rubymotion version 4.13

mpouleijn commented 8 years ago

When I set the password via the environment vars MOTION_PROVISIONING_PASSWORD then I get an other error:

⚡ bundle exec rake device
rake aborted!
fatal: incompatible library version - /Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/json-2.0.2/lib/json/ext/parser.bundle
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/json-2.0.2/lib/json/ext.rb:7:in `require'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/json-2.0.2/lib/json/ext.rb:7:in `<module:Ext>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/json-2.0.2/lib/json/ext.rb:6:in `<module:JSON>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/json-2.0.2/lib/json/ext.rb:3:in `<top (required)>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/json-2.0.2/lib/json.rb:59:in `require'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/json-2.0.2/lib/json.rb:59:in `<module:JSON>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/json-2.0.2/lib/json.rb:55:in `<top (required)>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response/parse_json.rb:7:in `require'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response/parse_json.rb:7:in `block in <class:ParseJson>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday-0.9.2/lib/faraday/middleware.rb:14:in `dependency'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response/parse_json.rb:6:in `<class:ParseJson>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response/parse_json.rb:5:in `<module:FaradayMiddleware>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response/parse_json.rb:3:in `<top (required)>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday_middleware-0.10.0/lib/faraday_middleware.rb:32:in `require'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday_middleware-0.10.0/lib/faraday_middleware.rb:32:in `block in <module:FaradayMiddleware>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday-0.9.2/lib/faraday.rb:215:in `block in load_middleware'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday-0.9.2/lib/faraday.rb:197:in `middleware_mutex'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday-0.9.2/lib/faraday.rb:214:in `load_middleware'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday-0.9.2/lib/faraday.rb:188:in `lookup_middleware'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday-0.9.2/lib/faraday/rack_builder.rb:204:in `use_symbol'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday-0.9.2/lib/faraday/rack_builder.rb:96:in `response'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/spaceship-0.31.10/lib/spaceship/client.rb:110:in `block in initialize'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday-0.9.2/lib/faraday/connection.rb:91:in `initialize'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday-0.9.2/lib/faraday.rb:70:in `new'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/faraday-0.9.2/lib/faraday.rb:70:in `new'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/spaceship-0.31.10/lib/spaceship/client.rb:109:in `initialize'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/motion-provisioning-0.0.4/lib/motion-provisioning.rb:38:in `new'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/motion-provisioning-0.0.4/lib/motion-provisioning.rb:38:in `client'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/motion-provisioning-0.0.4/lib/motion-provisioning/certificate.rb:6:in `client'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/motion-provisioning-0.0.4/lib/motion-provisioning/certificate.rb:42:in `certificate_name'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/motion-provisioning-0.0.4/lib/motion-provisioning.rb:195:in `certificate'
/Users/mpouleijn/development/rubymotion/sesame/Rakefile:22:in `block (2 levels) in <top (required)>'
/Library/RubyMotion/lib/motion/project/config.rb:202:in `development'
/Users/mpouleijn/development/rubymotion/sesame/Rakefile:21:in `block in <top (required)>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/bubble-wrap-1.9.5/lib/bubble-wrap/ext/motion_project_app.rb:10:in `block in setup_with_bubblewrap'
/Library/RubyMotion/lib/motion/project/config.rb:121:in `block in setup'
/Library/RubyMotion/lib/motion/project/config.rb:121:in `each'
/Library/RubyMotion/lib/motion/project/config.rb:121:in `setup'
/Library/RubyMotion/lib/motion/project/app.rb:66:in `config'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/bubble-wrap-1.9.5/lib/bubble-wrap/ext/motion_project_app.rb:24:in `config_with_bubblewrap'
/Library/RubyMotion/lib/motion/project/template/ios.rb:47:in `pre_build_actions'
/Library/RubyMotion/lib/motion/project/template/ios.rb:74:in `block (2 levels) in <top (required)>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/gems/rake-11.2.2/exe/rake:27:in `<top (required)>'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/bin/ruby_executable_hooks:15:in `eval'
/Users/mpouleijn/.rvm/gems/ruby-2.3.0@sesame/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => device => archive => build:device
(See full trace by running task with --trace)
mpouleijn commented 8 years ago

I'm using a developer account under my enterprise account that should work right?

amirrajan commented 8 years ago

Sorry, @mpouleijn, I commented on the wrong repo. Using the simulator account/my comments are not related to your issue (deleted comment).

dam13n commented 8 years ago

Hey @mpouleijn, see https://github.com/HipByte/motion-provisioning/issues/4 where the issue came up.

This PR fixes it: https://github.com/HipByte/motion-provisioning/pull/6

mpouleijn commented 8 years ago

@dam13n That indeed solved the issue

MarkVillacampa commented 8 years ago

Fixed with #6 :)