Giter VIP home page Giter VIP logo

motion-appstore's Introduction

motion-appstore

Gem Version

This is RubyMotion plugin which provides validate and upload commands for iTunes Connect.

Install

$ gem install motion-appstore

If you like to install manually,

$ git clone https://github.com/HipByte/motion-appstore.git
$ cd motion-appstore
$ rake install

Usage

$ rake archive:distribution
$ motion validate APPLE-ID
$ motion upload APPLE-ID

validate

This command validates your app whether it is possible to upload to iTunes Connect.

Example)

If app configuration has some errors:

$ motion validate [email protected]
Validate: ./build/iPhoneOS-8.1-Release/HelloActions.ipa
✗ Redundant Binary Upload. There already exists a binary upload with build '1.0' for version '1.10'

The app is good to submit to iTunes Connect:

$ motion validate [email protected]
Validate: ./build/iPhoneOS-8.1-Release/HelloActions.ipa
✓ No errors validating archive at ./build/iPhoneOS-8.1-Release/HelloActions.ipa

upload

This command uploads your app to iTunes Connect.

Example)

$ motion upload [email protected]
Upload: ./build/iPhoneOS-8.1-Release/HelloActions.ipa
✓ No errors uploading ./build/iPhoneOS-8.1-Release/HelloActions.ipa

Password management

motion-appstore attempts to retrieve your password from the keychain automatically. However, in certain circumstances, this may not work, like for example if you have not used Apple's AppLoader application before or if you are using iCloud's keychain. If motion-appstore keeps asking you for your password repeatedly, type the following command:

$ security add-internet-password -a <your-email-address> -j default -r htps -s idmsa.apple.com -w <your-password> -T /usr/bin/security

Your password will then be safely stored in the keychain and accessible by motion-appstore.

If you like GUI, you can add your password into the keychain by adding account via Xcode [Preferences...]->[Accounts] configuration.

motion-appstore's People

Contributors

caramdache avatar katsuyoshi avatar watson1978 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

motion-appstore's Issues

Transporter not found error after Xcode 6.3 update

Getting this after updating Xcode 6.3

Transporter not found at path: /usr/local/itms/bin/iTMSTransporter. You should reinstall the application.

I also got this error in the Application Loader application, but after reinstalling it I was able to upload my application. motion upload still has this error

Unable to upload, required option: p

Dear Watson,
I am no longer able to upload apps using motion upload.
The error returned is as follows:

Upload: ./build/iPhoneOS-9.2-Release/TarotPoints.ipa
✗ Error: Errors uploading './build/iPhoneOS-9.2-Release/TarotPoints.ipa': (
✗ Please specify a value for required option: p

Is this working?

I've been attempting to use this to validate my .ipa hoping that it would surface some information that could point me to why my binary is wrong. However, every time I run motion validate APP_ID, I get nothing. Sample output:

$ motion validate APP_ID
Validate: ./build/iPhoneOS-9.0-Release/APP_NAME.ipa
Enter your password: $

Is this a known issue or am I doing something wrong?

Error invalid image path

I cannot find any information on why I am getting the following error. The only thing I can find is XCode users having a similar issue, but using XCode to solve it. Has anyone encountered this issue? Do you know what I have to do for this? I checked every one of those paths by opening them and it was exactly as I expected.

Product (master) λ motion validate [email protected]
Validate: ./build/iPhoneOS-7.1-Release/Product.ipa
✗ Invalid Image Path - No image found at the path referenced under key 'CFBundleIconFiles': '/Users/me/Desktop/product/resources/icon/58.png'
✗ Invalid Image Path - No image found at the path referenced under key 'CFBundleIconFiles': '/Users/me/Desktop/product/resources/icon/87.png'
✗ Invalid Image Path - No image found at the path referenced under key 'CFBundleIconFiles': '/Users/me/Desktop/product/resources/icon/120.png'
✗ Invalid Image Path - No image found at the path referenced under key 'CFBundleIconFiles': '/Users/me/Desktop/product/resources/icon/180.png'
✗ Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': '/Users/me/Desktop/product/resources/icon/58.png'
✗ Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': '/Users/me/Desktop/product/resources/icon/87.png'
✗ Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': '/Users/me/Desktop/product/resources/icon/120.png'
✗ Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': '/Users/me/Desktop/product/resources/icon/180.png'
✗ Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 7.0.

Any help is much appreciated.

Password error

found this gem and looking forward to being able to use it. I noticed the following error when trying to validate my build, am I missing a step?

Validate: ./build/iPhoneOS-7.1-Release/Hello 200.ipa
Enter your password: 
altool: option requires an argument -- p
2015-01-05 15:34:34.298 altool[86916:10649385] *** Error: Must provide username and/or password.

Errors when trying to upload

I am running into errors while trying to run this on a relatively new computer running El Capitan.

First, motion upload [email protected] had this error:

Transporter not found at path: /usr/local/itms/bin/iTMSTransporter.  You should reinstall the application.

I was able to get past this by symlinking to it's current location:

mkdir -p /usr/local/itms/bin
ln -s /Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter /usr/local/itms/bin/iTMSTransporter

The next error was not helpful:

An error occurred uploading to the iTunes Store.

I found the error by tailing /var/log/system.log:

altool[97247]: Error:
    Java 1.6 or higher is required. Please install Java.
    unable to find /usr/local/itms/java/bin/java
altool[97247]: *** Error: Errors uploading './build/iPhoneOS-8.0-Release/MyApp.ipa': (
        "Error Domain=WorkerErrorDomain Code=-10000 \"An error occurred uploading to the iTunes Store.\" UserInfo={NSLocalizedDescription=An error occurred uploading to the iTunes Store., NSLocalizedFailureReason=An error occurred uploading to the iTunes Store.}"
    )

I knew I had Java installed, so I fixed that with another symlink:

mkdir -p /usr/local/itms/java/bin/
ln -s $(which java) /usr/local/itms/java/bin/java

The next error has me stuck:

Could not find or load main class com.apple.transporter.Application

And in the log:

altool[97793]:  Error:
    Error: Could not find or load main class com.apple.transporter.Application
altool[97793]:  Out:
altool[97793]: *** Error: Errors uploading './build/iPhoneOS-8.0-Release/MyApp.ipa': (
        "Error Domain=ITunesTransporterErrorDomain Code=-18000 \"Could not find or load main class com.apple.transporter.Application\" UserInfo={NSLocalizedRecoverySuggestion=Could not find or load main class com.apple.transporter.Application, NSLocalizedDescription=Could not find or load main class com.apple.transporter.Application, NSLocalizedFailureReason=Could not find or load main class com.apple.transporter.Application}"
    )

How can I get past this issue?

Issue & Solution when using iCloud keychain

Dear Watson,
It would be good to add this to the README. It took me a while to figure out I could avoid typing my password every time.
Caram

"motion-store does automatically fetch the password from the keychain. However, if you are using the iCloud keychain, it cannot access the password. You can then add the password manually as follows:

security add-internet-password -a <your-email-address> -j default -r http -s idmsa.apple.com -w <your-password> -T /usr/bin/security

Issue Installing - Permission Denied

Failed to find anything obvious from Googling, can anyone point me in the right direction?

MacBook-Pro-2: ~/Sites/ContactuallyInMotion(develop)*$ gem install motion-appstore
Building native extensions.  This could take a while...
ERROR:  Error installing motion-appstore:
	ERROR: Failed to build gem native extension.

    current directory: /Users/johngerhardt/.rvm/gems/ruby-2.3.1@contactually-in-motion/gems/motion-appstore-1.0.11/ext
/Users/johngerhardt/.rvm/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20170320-61564-1old2kl.rb extconf.rb
/Users/johngerhardt/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/fileutils.rb:358:in `symlink': Permission denied @ rb_file_s_symlink - (/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/itms, /usr/local/itms) (Errno::EACCES)
	from /Users/johngerhardt/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/fileutils.rb:358:in `block in ln_s'
	from /Users/johngerhardt/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/fileutils.rb:1587:in `fu_each_src_dest0'
	from /Users/johngerhardt/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/fileutils.rb:356:in `ln_s'
	from /Users/johngerhardt/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/fileutils.rb:379:in `ln_sf'
	from /Users/johngerhardt/.rvm/gems/ruby-2.3.1@contactually-in-motion/gems/motion-appstore-1.0.11/ext/installer.rb:20:in `install_plugins'
	from extconf.rb:4:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in /Users/johngerhardt/.rvm/gems/ruby-2.3.1@contactually-in-motion/gems/motion-appstore-1.0.11 for inspection.
Results logged to /Users/johngerhardt/.rvm/gems/ruby-2.3.1@contactually-in-motion/extensions/x86_64-darwin-16/2.3.0/motion-appstore-1.0.11/gem_make.out

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.