Giter Club home page Giter Club logo

app-store-vsts-extension's Introduction

Build Status

Azure DevOps Extension for the Apple App Store
Provides build/release tasks that enable performing continuous delivery to Apple's App Store from an automated Azure DevOps build or release pipeline
Install now!

Azure DevOps Extension for the Apple App Store

This extension contains a set of deployment tasks which allow you to automate the release and promotion of app updates to Apple's App Store from your CI environment. This can reduce the effort needed to keep your beta and production deployments up-to-date, since you can simply push changes to the configured source control branches, and let your automated build take care of the rest.

Prerequisites

  • In order to automate the release of app updates to the App Store, you need to have manually released at least one version of the app beforehand.
  • The tasks install and use fastlane tools. fastlane requires Ruby 2.0.0 or above and recommends having the latest Xcode command line tools installed on the MacOS computer.

Quick Start

Once you have created or retrieved credentials for your App Store account, perform the following steps to automate releasing updates from an Azure DevOps build or release pipeline:

  1. Install the App Store extension from the Azure DevOps Marketplace.

  2. Go to your Azure DevOps or TFS project, click on the Pipelines tab, and create a new pipeline (the "+" icon) that is hooked up to your project's appropriate source repository.

  3. Click Add build step... and select the necessary tasks to generate your release assets (e.g. Gulp, Cordova Build).

  4. Click Add build step... and select App Store Release from the Deploy category.

  5. Configure the App Store Release task with the desired authentication method, the generated IPA file path, and the desired release track.

  6. Click the Queue Build button or push a change to your configured repository in order to run the newly defined build.

  7. Your app changes will now be automatically published to the App Store!

Configuring Your App Store Publisher Credentials

In addition to specifying your publisher credentials directly within each build task, you can also configure your credentials globally and refer to them within each build or release pipeline as needed. To do this, perform the following steps:

  1. Setup an Apple developer account (https://developer.apple.com/).

  2. Go into your Azure DevOps or TFS project and click on the gear icon in the upper right corner.

  3. Click on the Services tab.

  4. Click on New service connection and select Apple App Store.

  5. Choose either Basic authentication if you want to use your App Store email, password, app-specific password and fastlane session or Token based authentication in case you want to use Apple Api key.

  6. Give the new connection a name and enter the credentials.

  7. Select this connection using the name you chose in the previous step whenever you add either the App Store Release or App Store Promote tasks to a build or release pipeline.

Two-Factor Authentication

You can skip this step if you use Token based authentication

Apple authentication is region specific, and Microsoft-hosted agents may not be in the same region as your developer machine. Instead, we recommend that you create a separate Apple ID with a strong password and restricted access. See this link for more details.

To use two-factor authentication, you need to setup the Fastlane Session variable on the Apple App Store service connection.

  1. Create the fastlane session token by following these instructions.

  2. Set this value on the Apple App Store service connection.

Use of application specific apple id

If you want to upload apps to TestFlight without triggering two-factor authentication, you need to set up the App specific apple Id. This value should be taken from Apple ID property in the App Information section in App Store Connect (number). The following conditions are required:

  1. Application specific apple id should be provided (number)
  2. shouldSkipWaitingForProcessing: true
  3. isTwoFactorAuth: true (for service connection - you don't need to specify it if app specific password is specified)
  4. releaseNotes shouldn't be specified

Task Reference

In addition to the custom service connection, this extension also contributes the following build and release tasks:

  • App Store Release - Allows automating the release of updates to existing iOS TestFlight beta apps or production apps in the App Store.

  • App Store Promote - Allows automating the promotion of a previously submitted app from iTunes Connect to the App Store.

App Store Release

Allows you to release updates to your iOS TestFlight beta app or production app on the App Store, and includes the following options:

Release task

  1. Authentication method - What type of credentials will be used to authenticate with the App Store. Credentials can be provided directly (using App Store Connect Api Key or Username and Password options) or configured via a service connection that can be referenced from the task (via the Service Connection authentication method).

  2. App Store Connect API Key ID, Issuer ID and Key Content (base64-encoded) (String, required if authentication method is App Store Connect Api Key) - The API key data used to authenticate with the App Store. Key content has to be base64-encoded.

  3. App Store Connect API Key In House (Checkbox, required if authentication method is App Store Connect Api Key) - Whether the account used to publish to the Apple App Store is an Enterprise account or not.

  4. Service connection - Available only if authentication method is Service Connection. The creation of the service connection is explained in this section.

  5. Email and Password (String, required if authentication method is Username and Password) - Specify your Apple ID Developer account email and password here.

Release Options

Track (String, Required) - Release track to publish the binary to (e.g. TestFlight or Production ).

Common Release Options (Available for TestFlight and Production track)
  1. Bundle ID (String) - Unique app identifier (e.g. com.myapp.etc). The Bundle ID is only required if "Track" is Production or "Distribute a previously uploaded binary" is selected.

  2. Application Type (iOS, tvOS, macOS) - The type of application you wish to submit.

  3. Binary Path (File path, Required) - Path to the IPA file you want to publish to the specified track. A glob pattern can be used but it must resolve to exactly one IPA file.

Release Options for TestFlight track

Distribute a previously uploaded binary to External Testers (Checkbox) - (Disabled by default) Distribute a previously uploaded binary to Apple TestFlight. Select this if you want to distribute a version of a build that already exists in App Store Connect. Otherwise, your IPA file specified in Binary Path input will be uploaded.

  1. What to Test? (File path) - Path to the file containing notes on what to test for this release.

  2. App Specific Apple Id (String) - App specific apple Id allows you to upload applications to a TestFlight track without triggering 2FA. This value should be taken from Apple ID property in the App Information section in App Store Connect.

  3. Skip Build Processing Wait (Checkbox) - Skip waiting for App Store to finish the build processing.

  4. Skip Submission (Checkbox) - Upload a beta app without distributing to testers.

  5. Distribute to External Testers (Checkbox) - Select to distribute the build to external testers (cannot be used with 'Skip Build Processing Wait' and 'Skip Submission'). Using this option requires setting release notes in 'What to Test?'.

  6. Groups (String) - Optionally specify the group(s) of external testers this build should be distributed to. All testers in these groups will have access to this build. To specify multiple groups, separate group names by commas e.g. 'External Beta Testers,TestVendors'. If not specified the default 'External Testers' is used.

If "Distribute a previously uploaded binary to External Testers" is selected
  1. Build Number (String) - The build number of the application build to distribute. If the build number is not specified, the most recent build is distributed.

  2. Groups (String) - Optionally specify the group(s) of external testers this build should be distributed to. All testers in these groups will have access to this build. To specify multiple groups, separate group names by commas e.g. 'External Beta Testers,TestVendors'. If not specified the default 'External Testers' is used.

Release Options for Production track
  1. Skip Binary Upload (Checkbox) - Skip binary upload and only update metadata and screenshots. Please note that with enabling this option you also need to pass --description or --pkg as additional fastlane parameters.

  2. Upload Metadata (Checkbox) - Upload app metadata to the App Store (e.g. title, description, changelog).

  3. Metadata Path (File path) - Path to the metadata to publish.

  4. Upload Screenshots (Checkbox) - Upload screenshots of the app to the App Store.

  5. Screenshots Path (File path) - Path to the screenshots to publish.

  6. Submit for Review (Checkbox) - Automatically submit the new version for review after the upload is completed.

  7. Release Automatically (Checkbox) - Automatically release the app once it is approved.

Advanced Options

  1. Team Id (String) - The ID of the producing team. Only necessary when in multiple teams.

  2. Team Name (String) - The name of the producing team. Only necessary when in multiple teams.

  3. Install fastlane (Checkbox) - By default, install a version of the fastlane tools. Uncheck if your build machine already has the version of fastlane to use.

  4. fastlane Version - Latest Version or Specific Version. If Specific Version is chosen, you must provide a value for fastlane Specific Version.

  5. fastlane Specific Version (String) - The version of fastlane to install (e.g., 2.15.1).

  6. Additional fastlane arguments (String) - Any additional arguments to pass to the fastlane command.

Upload without triggering 2FA - when 2FA is enabled for account

To upload an app without triggering 2FA for App Store Release task the following conditions are required:

  • Apple id should be provided (-p "your apple id" in fastlaneArguments input). Please note that there should be app specific apple id in a numeric format (you can take it as a value of Apple ID property in the App Information section in App Store Connect)
  • 'shouldSkipWaitingForProcessing' should be set to 'true'
  • 'isTwoFactorAuth' should be set to 'true' (for user and password authentication; for service connection - app specific password should be provided)
  • 'releaseNotes' should be empty

Example of using task without triggering 2FA (for account with 2FA enabled):

- task: AppStoreRelease@1
  inputs:
    authType: 'UserAndPass'
    username: '$(fastLane.auth.userName)'
    password: '$(fastLane.auth.password)'
    isTwoFactorAuth: true
    appSpecificPassword: '$(fastLane.auth.appPassword)'
    fastlaneSession: '$(fastLane.auth.session)'
    appIdentifier: '$(fastLane.auth.bundleID)'
    appType: 'iOS'
    ipaPath: '**/*.ipa'
    releaseTrack: 'TestFlight'
    shouldSkipWaitingForProcessing: true
    appSpecificId: '1234567890'

App Store Promote

Allows you to promote an app previously updated to iTunes Connect to the App Store, and includes the following options:

Promote task

  1. Authentication method - What type of credentials will be used to authenticate with the App Store. Credentials can be provided directly (using App Store Connect Api Key or Username and Password options) or configured via a service connection that can be referenced from the task (via the Service Connection authentication method).

  2. App Store Connect API Key ID, Issuer ID and Key Content (base64-encoded) (String, required if authentication method is App Store Connect Api Key) - The API key data used to authenticate with the App Store. Key content has to be base64-encoded.

  3. App Store Connect API Key In House (Checkbox, required if authentication method is App Store Connect Api Key) - Whether the account used to publish to the Apple App Store is an Enterprise account or not.

  4. Service connection - Available only if authentication method is Service Connection. The creation of the service connection is explained in this section.

  5. Email and Password (String, required if authentication method is Username and Password) - Specify your Apple ID Developer account email and password here.

  6. Bundle ID (String, required) - The unique identifier for the app to be promoted.

  7. Choose Build - Latest or Specify build number. By default the latest build will be submitted for review.

  8. Build Number - Required if Specify build number option is selected in Choose Build above. The build number in iTunes Connect that you wish to submit for review.

  9. Release Automatically (Checkbox) - Check to automatically release the app once the approval process is completed.

Advanced Options

  1. Team Id (String) - The ID of the producing team. Only necessary when in multiple teams.

  2. Team Name (String) - The name of the producing team. Only necessary when in multiple teams.

  3. Install fastlane (Checkbox) - By default, install a version of the fastlane tools. Uncheck if your build machine already has the version of fastlane to use.

  4. fastlane Version - Latest Version or Specific Version. If Specific Version is chosen, you must provide a value for fastlane Specific Version.

  5. fastlane Specific Version (String) - The version of fastlane to install (e.g., 2.15.1). If a specific version of fastlane is installed, all previously installed versions will be uninstalled beforehand.

  6. Additional fastlane arguments (String) - Any additional arguments to pass to the fastlane command.

Firewall Issues

The fastlane tools use the iTunes Transporter to upload metadata and binaries. In case you are behind a firewall, you can specify a different transporter protocol injecting in your release pipeline a variable: DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV" Fix Firewall issues

Support

Support for this extension is provided on our GitHub Issue Tracker. You can submit a bug report, a feature request or participate in discussions.

Contributing to the Extension

See the developer documentation for details on how to contribute to this extension.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Privacy Statement

The Microsoft Visual Studio Product Family Privacy Statement describes the privacy statement of this software.

Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries. App Store is a service mark of Apple Inc.

app-store-vsts-extension's People

Contributors

aldodfm avatar anton-erofeev avatar daniilshmelev avatar davidstaheli avatar denisrumyantsev avatar dmitriibobreshev avatar egor-bryzgalov avatar ekaterina-tatanova avatar ezzhevnikita avatar janniklind avatar jfahrenkrug avatar jonsamwell avatar krausefx avatar leantk avatar liliasabitova avatar lkillgore avatar luizgrs avatar madhurig avatar max-zaytsev avatar microsoft-github-policy-service[bot] avatar msftgits avatar r72-engineering avatar rub8n avatar ryuyu avatar semyonl avatar vladislav-ryzhov avatar vmapetr avatar x04ty29er avatar yacaovsnc avatar zurdev 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

Watchers

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

app-store-vsts-extension's Issues

Transfer 'fastlane' logs as well as all the others in 'Debug' mode

Hi,
I've faced with the situation when I get error and have no any clue about the reason.
So, it'd be great to have possibility to see all the logs and errors, especially taking into account we usually do not have access to a build machine.

Here goes the error I've got:

2018-01-10T17:33:18.5210620Z [command]fastlane pilot upload -u ******** -i /Users/local/Downloads/myagent/_work/5/a/<some name>.ipa -q <some value> -a <some bundle> --skip_submission true --itc_provider <some value>
2018-01-10T17:33:18.5257750Z ##[debug]task result: Failed
2018-01-10T17:33:18.5381160Z ##[error]Error: fastlane failed. spawn fastlane ENOENT
2018-01-10T17:33:18.5401290Z ##[debug]Processed: ##vso[task.issue type=error;]Error: fastlane failed. spawn fastlane ENOENT
2018-01-10T17:33:18.5456000Z ##[debug]Processed: ##vso[task.complete result=Failed;]Error: fastlane failed. spawn fastlane ENOENT
2018-01-10T17:33:18.5497210Z ##[debug]rc:-2
2018-01-10T17:33:18.5538010Z ##[debug]success:false
2018-01-10T17:33:18.5581890Z ##[section]Finishing: Publish to the App Store TestFlight

Add support for multiple iTunes providers.

Currently if your iTunes account is linked to multiple developer accounts you get an error saying:
"Your Apple ID account is attached to other iTunes providers. You will need to specify which provider you intend to submit content to by using the -itc_provider command. Please contact us if you have questions or need help."

Which stops you being able to submit apps using that itunes account.

This was fixed in fastlane here: fastlane/fastlane#1524 but now requires an option in the interface to be able to pass this parameter.

Cannot release to Alpha

So I have been using this build task to release my app to alpha then promote to stable. It has worked in the past. - Last ran it about 2 weeks ago.

Went to run it today and got this error:

2017-10-10T15:20:57.5478730Z ERROR: Could not find a valid gem 'fastlane' (>= 0), here is why:
2017-10-10T15:20:57.5516210Z Unable to download data from https://rubygems.org/ - Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://rubygems.org/latest_specs.4.8.gz)
2017-10-10T15:21:01.3339600Z ERROR: Possible alternatives: fastlane

Promote task is not showing in VSTS

After creating and uploading a test version of the extension, I noticed that only one task is currently showing on VSTS:

image

Looking into this a bit more, it seems both tasks are getting added to the zip so not sure what's wrong:

image

Uploading to iTunes connect never completes

Hello,

I'm opening again this issue because I'm facing it again. The supposed fixed included with the version 1.112.0 is not working for me. Previous issue was #44.

The process never ends up.

Here is the config I use:
https://www.evernote.com/l/AMlFekbWCyVI97K7EaCr8IldkbxpNw1UJpsB/image.png

I also try to add the firewall parameter but it has no effect (DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS)

Any idea on what is causing this issue?

Thank you

Here are the logs of the task:

Task : Apple App Store Release
Version : 1.112.0
202f6dfd-8696-4520-9f97-62236b1dd5bb exists true
[command]/usr/bin/gem install fastlane
unable to convert "\x89" from ASCII-8BIT to UTF-8 for frameit/lib/assets/empty.png, skipping
Successfully installed fastlane-2.15.1
Parsing documentation for fastlane-2.15.1
1 gem installed
[command]/usr/bin/gem update fastlane -i /Users/developer/.gem-cache
Updating installed gems
Nothing to update
[command]fastlane pilot upload -u ******** -i /Users/developer/MyApp.iOS.ipa -q 123456
[11:24:57]: Login to iTunes Connect (********)
[11:25:01]: Login successful
[11:25:02]: Ready to upload new build to TestFlight (App: 987654321)...
[11:25:02]: Going to upload updated app to iTunes Connect
[11:25:02]: This might take a few minutes. Please don't interrupt the script.

Error: fastlane failed. spawn fastlane ENOENT- VSTS Apple store deploy to Testflight

I am getting Error: fastlane failed. spawn fastlane ENOENT error on using VSTS Apple store deploy task, I have installed fastlane on server and getting this issue.

Manually i have tried to push using command below and it worked but same the command when running from VSTS it fails with above error.

"fastlane pilot upload -u ******** -i /path/of /the/ipafile/test.ipa"

Any Quick assistance's appreciated.

Promote task is downloading screenshots before "promoting" an app

We are making two deliver calls for the promote task:

[command]deliver download_screenshots -u ******** -a io.cordova.howmanyaliens
[command]deliver submit_build -u ******** -a io.cordova.howmanyaliens --automatic_release --force

We should not make the first call unless the users explicitly asks for that. How about adding the same "Download metadata..." option to this task?

App Store Release build step does not show in the Deploy category list

Any possible reasons why my App Store Release or App Store Promote build steps don not show in the Deploy build steps? I have installed the extension in on premise TFS 2015 (v14.95.25122.0), and have a mac machine build agent registered.
App Store End Point Service has been added and the same user /group are registered.
Am I missing something?

Thanks

Install fastlane option results in failure due to permissions issue

When running the 'Ipa Resign' task using the "Install fastlane" option I'm getting the following error:
ERROR: While executing gem ... (Errno::EACCES)
Permission denied @ rb_sysopen - /usr/local/lib/ruby/gems/2.5.0/gems/fastlane-2.75.1/LICENSE

This is occurring on the Hosted macOS Preview Agent queue.

TestFlight release step is not being triggered

After the last round of updates I thought the TestFlight release errors were fixed as they were no longer showing. However, after doing a bit more digging, it turns out the actual release step seems like its being skipped.

Here's how the steps looked before yesterday changes:

image

Here's how the steps looked after the latest extension update:

image

Not able to push testflight build to exernal testers

I am getting the below error message when I tick the Distribute to External Testers, I cant seem to add groups as there is no such field.

2017-05-26T08:14:00.7533170Z [!] You must specify at least one group using the :groups option to distribute externally 2017-05-26T08:14:01.1840610Z ##[error]Error: fastlane failed with return code: 1

Support for Wildcards in Binary Path

Hi,
Is there any chance to include support for wildcards in the Binary Path field for App Store Release Task.

Example
$(build.artifactstagingdirectory)/*/.ipa - just doesnt work as I get the following error

Could not find ipa file at path 'work/3/a/*/_.ipa even though there is one .ipa present that satisfies this.

Specifying the ipa file name yields the same result.

Thanks

Could not find a version to edit for app 'App Name', the app metadata is read-only currently

The publish to the App Store Production task is failing with the following error:
Could not find a version to edit for app 'App Name', the app metadata is read-only currently

The task is configured to upload metadata, screenshots and submit for review.

In iTunes Connect the app has an existing version with the status 'Ready for Sale'. I expect the fastlane delivery process to create a new version matching the version of the ipa file.

It appears to be similar to this issue, however the version of deliver by the extension is 1.14.0.

Please advise as its not an option to have to manually create the version in iTC for each deployment.

releaselog.zip

New TestFlight release requires pilot changes

Hey everyone 👋

Felix here, from the fastlane team, we're busy working on migration fastlane pilot to work with the new TestFlight, you follow along the progress over here: fastlane/fastlane#8871

For any contributors to the app-store-vsts-extension, feel free to send me your email address, so we can add you to the contributor slack of fastlane 👍

Add release-notes file possibility

Both for the HockeyApp and for the Google Play vsts extension, you have the possibility to specify a file for the release notes. It would be great to have the same possibility as that is one thing that changes with every release and is a very common use case. Is it possible, in some way or another to add a field like the one you have for the Google Play extension, so it would add the release notes to the "What's new" field in iTunes connect.

See the Release Notes (file) field on the screenshot from the Google Play task below.

screen shot 2016-12-07 at 08 32 00

Extension fails to upload the binary: uninitialized constant Bundler::Plugin::API::Source

2017-03-01T10:16:33.5277550Z /Library/Ruby/Gems/2.0.0/gems/bundler-1.14.5/lib/bundler/rubygems_ext.rb:45:in `full_gem_path': uninitialized constant Bundler::Plugin::API::Source (NameError)
 
2017-03-01T10:16:33.5296750Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/specification.rb:1391:in `contains_requirable_file?'
 
2017-03-01T10:16:33.5315480Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:68:in `block in require'
 
2017-03-01T10:16:33.5334100Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/specification.rb:823:in `block in each'
 
2017-03-01T10:16:33.5352480Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/specification.rb:822:in `each'
 
2017-03-01T10:16:33.5370880Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/specification.rb:822:in `each'
 
2017-03-01T10:16:33.5389290Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:67:in `find'
 
2017-03-01T10:16:33.5407680Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:67:in `require'
 
2017-03-01T10:16:33.5426050Z 	from /Library/Ruby/Gems/2.0.0/gems/bundler-1.14.5/lib/bundler/plugin/api/source.rb:2:in `<top (required)>'
 
2017-03-01T10:16:33.5444130Z 	from /Library/Ruby/Gems/2.0.0/gems/bundler-1.14.5/lib/bundler/rubygems_ext.rb:45:in `full_gem_path'
 
2017-03-01T10:16:33.5462500Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/specification.rb:1391:in `contains_requirable_file?'
 
2017-03-01T10:16:33.5481660Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:68:in `block in require'
 
2017-03-01T10:16:33.5500590Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/specification.rb:823:in `block in each'
 
2017-03-01T10:16:33.5520720Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/specification.rb:822:in `each'
 
2017-03-01T10:16:33.5539300Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/specification.rb:822:in `each'
 
2017-03-01T10:16:33.5557530Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:67:in `find'
 
2017-03-01T10:16:33.5575910Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:67:in `require'
 
2017-03-01T10:16:33.5594320Z 	from /Library/Ruby/Gems/2.0.0/gems/bundler-1.14.5/lib/bundler.rb:12:in `<top (required)>'
 
2017-03-01T10:16:33.5612460Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:126:in `require'
 
2017-03-01T10:16:33.5630020Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:126:in `require'
 
2017-03-01T10:16:33.5647260Z 	from /Users/builder/.gem-cache/gems/fastlane-2.18.3/fastlane/lib/fastlane/plugins/plugin_manager.rb:5:in `<class:PluginManager>'
 
2017-03-01T10:16:33.5664430Z 	from /Users/builder/.gem-cache/gems/fastlane-2.18.3/fastlane/lib/fastlane/plugins/plugin_manager.rb:4:in `<module:Fastlane>'
 
2017-03-01T10:16:33.5681560Z 	from /Users/builder/.gem-cache/gems/fastlane-2.18.3/fastlane/lib/fastlane/plugins/plugin_manager.rb:3:in `<top (required)>'
 
2017-03-01T10:16:33.5699110Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
 
2017-03-01T10:16:33.5716450Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
 
2017-03-01T10:16:33.5733580Z 	from /Users/builder/.gem-cache/gems/fastlane-2.18.3/fastlane/lib/fastlane/plugins/plugins.rb:9:in `<top (required)>'
 
2017-03-01T10:16:33.5750690Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
 
2017-03-01T10:16:33.5767910Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
 
2017-03-01T10:16:33.5784900Z 	from /Users/builder/.gem-cache/gems/fastlane-2.18.3/fastlane/lib/fastlane.rb:22:in `<top (required)>'
 
2017-03-01T10:16:33.5803320Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
 
2017-03-01T10:16:33.5821590Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
 
2017-03-01T10:16:33.5839570Z 	from /Users/builder/.gem-cache/gems/fastlane-2.18.3/fastlane/lib/fastlane/cli_tools_distributor.rb:18:in `take_off'
 
2017-03-01T10:16:33.5856370Z 	from /Users/builder/.gem-cache/gems/fastlane-2.18.3/bin/fastlane:15:in `<top (required)>'
 
2017-03-01T10:16:33.5873030Z 	from /Users/builder/.gem-cache/bin/fastlane:23:in `load'
 
2017-03-01T10:16:33.5889360Z 	from /Users/builder/.gem-cache/bin/fastlane:23:in `<main>'
 
2017-03-01T10:16:33.5903860Z ##[debug]rc:1
 
2017-03-01T10:16:33.5916340Z ##[debug]success:false
 
2017-03-01T10:16:33.5928830Z ##[debug]task result: Failed
 
2017-03-01T10:16:33.6013110Z ##[error]Error: fastlane failed with return code: 1
 
2017-03-01T10:16:33.6026010Z ##[debug]Processed: ##vso[task.issue type=error;]Error: fastlane failed with return code: 1
 
2017-03-01T10:16:33.6047820Z ##[debug]Processed: ##vso[task.complete result=Failed;]Error: fastlane failed with return code: 1

I've tried with different bundler versions:
bundler-1.14.5, bundler-1.14.3

Release task sending wrong options when TestFlight is selected as release track

Releasing using to TestFlight gives the following error:
2016-06-01T23:32:25.151Z: invalid option: --submit_for_review

[Error] 2016-06-01T23:32:25.266Z: produce failed with return code: 1

[Error] 2016-06-01T23:32:25.266Z:

We should not send " --submit_for_review " option when TestFlight is selected as release track.

We need to change the behavior such that we send a " --skip_submission " option, only if a user selects the "Skip Submission" checkbox.

Release task errors are not propagating correctly in VSTS UI

If there's an issue/error on any of the release steps, we should fail the release and call out what step failed. Currently, the release succeeds (first image) and we don't tell the user what step failed either (second image):

From the Summary tab:
image

From the Logs tab:
image

Cannot Promote App from Test Flight to App Store

I am trying to use the Promote part of the extension but it throws the following error:

You must detail what's new in this version in English (U.K.).

There is no way to provide this information in the Extension so there is no way this can work

Could not start delivery: all transports failed diagnostics

Get this error when deploying to production: Could not start delivery: all transports failed diagnostics

2017-09-19T11:11:22.4155160Z [13:11:22]: This might take a few minutes. Please don't interrupt the script. 2017-09-19T11:12:25.5510890Z [13:12:25]: [Transporter Error Output]: Could not start delivery: all transports failed diagnostics 2017-09-19T11:12:25.7031380Z [13:12:25]: Transporter transfer failed. 2017-09-19T11:12:25.7069020Z [13:12:25]: 2017-09-19T11:12:25.7108230Z [13:12:25]: Could not start delivery: all transports failed diagnostics 2017-09-19T11:12:25.8422240Z [13:12:25]: Could not start delivery: all transports failed diagnostics 2017-09-19T11:12:25.8454170Z Return status of iTunes Transporter was 1: Could not start delivery: all transports failed diagnostics 2017-09-19T11:12:25.8487790Z The call to the iTMSTransporter completed with a non-zero exit status: 1. This indicates a failure.

Seems like a network related issue, and there is a workaround
fastlane-old/deliver#235

Is it possible to pass additional params to deliver?

deilverArgs error on release task

Unfortunately I just got this not so helpful error message:

2016-06-21T20:28:41.567Z: [command]gem install deliver

2016-06-21T20:28:53.168Z: Successfully installed deliver-1.13.1

2016-06-21T20:28:53.168Z: Parsing documentation for deliver-1.13.1

2016-06-21T20:28:53.168Z: 1 gem installed

##[Error] 2016-06-21T20:28:53.221Z: deilverArgs is not defined

##[Error] 2016-06-21T20:28:53.221Z: 

I was submitting to Production and had "Release Automatically" selected.

Cannot distribute TestFlight to testers

Running the task to upload to testflight

click the button "distribute to external testers"

But this causes the task to fail with the error:

n `handle_response': [!] {"code"=>"You must provide an answer for this question.", "description"=>"Failed to submit build for review."} (Spaceship::Client::UnexpectedResponse)

The UI for the extension provides no way to provide a "Description" so this feature does not work

FastLane Failed checking for Github issues but carried on uploading

Uploading app to Testflight failed with the following error:

Looking for related GitHub issues on fastlane/fastlane...
2017-11-22T10:39:22.4302110Z
2017-11-22T10:39:23.1372660Z ➡️ Operation not supported on socket @ rb_ioctl
2017-11-22T10:39:23.1383700Z fastlane/fastlane#10983 [open] 3 💬
2017-11-22T10:39:23.1393670Z 6 hours ago
2017-11-22T10:39:23.1397690Z
2017-11-22T10:39:23.1406890Z 🔗 You can ⌘ + double-click on links to open them directly in your browser.
2017-11-22T10:39:23.1418350Z /Users/chrisjohn/.gem-cache/gems/tty-screen-0.6.2/lib/tty/screen.rb:170:in ioctl': [!] Operation not supported on socket @ rb_ioctl - <STDERR> (Errno::EOPNOTSUPP) 2017-11-22T10:39:23.1429310Z from /Users/chrisjohn/.gem-cache/gems/tty-screen-0.6.2/lib/tty/screen.rb:170:in ioctl?'
2017-11-22T10:39:23.1440060Z from /Users/chrisjohn/.gem-cache/gems/tty-screen-0.6.2/lib/tty/screen.rb:162:in size_from_ioctl' 2017-11-22T10:39:23.1450660Z from /Users/chrisjohn/.gem-cache/gems/tty-screen-0.6.2/lib/tty/screen.rb:42:in size'
2017-11-22T10:39:23.1461170Z from /Users/chrisjohn/.gem-cache/gems/tty-screen-0.6.2/lib/tty/screen.rb:54:in width' 2017-11-22T10:39:23.1471960Z from /Users/chrisjohn/.gem-cache/gems/fastlane-2.66.2/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb:80:in header'
2017-11-22T10:39:23.1482860Z from /Users/chrisjohn/.gem-cache/gems/fastlane-2.66.2/fastlane_core/lib/fastlane_core/ui/ui.rb:14:in method_missing' 2017-11-22T10:39:23.1493950Z from /Users/chrisjohn/.gem-cache/gems/fastlane-2.66.2/fastlane_core/lib/fastlane_core/itunes_transporter.rb:374:in upload'
2017-11-22T10:39:23.1504910Z from /Users/chrisjohn/.gem-cache/gems/fastlane-2.66.2/pilot/lib/pilot/build_manager.rb:23:in upload' 2017-11-22T10:39:23.1515680Z from /Users/chrisjohn/.gem-cache/gems/fastlane-2.66.2/pilot/lib/pilot/commands_generator.rb:60:in block (2 levels) in run'
2017-11-22T10:39:23.1526530Z from /Users/chrisjohn/.gem-cache/gems/commander-fastlane-4.4.5/lib/commander/command.rb:178:in call' 2017-11-22T10:39:23.1537170Z from /Users/chrisjohn/.gem-cache/gems/commander-fastlane-4.4.5/lib/commander/command.rb:153:in run'
2017-11-22T10:39:23.1547900Z from /Users/chrisjohn/.gem-cache/gems/commander-fastlane-4.4.5/lib/commander/runner.rb:476:in run_active_command' 2017-11-22T10:39:23.1559040Z from /Users/chrisjohn/.gem-cache/gems/fastlane-2.66.2/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:66:in run!'
2017-11-22T10:39:23.1569870Z from /Users/chrisjohn/.gem-cache/gems/commander-fastlane-4.4.5/lib/commander/delegates.rb:15:in run!' 2017-11-22T10:39:23.1580980Z from /Users/chrisjohn/.gem-cache/gems/fastlane-2.66.2/pilot/lib/pilot/commands_generator.rb:160:in run'
2017-11-22T10:39:23.1591370Z from /Users/chrisjohn/.gem-cache/gems/fastlane-2.66.2/pilot/lib/pilot/commands_generator.rb:12:in start' 2017-11-22T10:39:23.1601660Z from /Users/chrisjohn/.gem-cache/gems/fastlane-2.66.2/fastlane/lib/fastlane/cli_tools_distributor.rb:58:in take_off'
2017-11-22T10:39:23.1612610Z from /Users/chrisjohn/.gem-cache/gems/fastlane-2.66.2/bin/fastlane:20:in <top (required)>' 2017-11-22T10:39:23.1622440Z from /Users/chrisjohn/.gem-cache/bin/fastlane:23:in load'
2017-11-22T10:39:23.1632070Z from /Users/chrisjohn/.gem-cache/bin/fastlane:23:in <main>' 2017-11-22T10:39:23.1642410Z from /Users/chrisjohn/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in eval'
2017-11-22T10:39:23.1652340Z from /Users/chrisjohn/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in `

'
2017-11-22T10:39:23.8914340Z ##[error]Error: fastlane failed with return code: 1
2017-11-22T10:39:23.9297750Z ##[section]Finishing: Publish to the App Store TestFlight track

But this upload actually continued and uploaded my package to testflight.

The two questions are:

  • Why did the above error the upload
  • why did the above continue to upload on failure

Unit tests will not pass using node 8.x

Unit tests that check the following will fail under node 8.x:

assert(tr.stderr.length === 0, 'should not have written to stderr');

As node 8.x has the following security warning:

-(node:37380) Warning: Use Cipheriv for counter mode of aes-256-ctr

See this issue

Fixed by settings environment variable NODE_NO_WARNINGS=1

Many of the unit tests should also be cleaned up to more correctly assert the condition such as:

assert.equal(tr.stderr, '', 'should not have written to stderr');

Unable to Deploy to TestFlight

Hi,

I'm trying to use the extension to deploy a build of an app to TestFlight but something is failing at the authentication stage.

It seems to be related to the fact that iTunes is challenging for answers to the security questions for the account:

I'm not sure how to resolve this:

  • Is this an issue with the account I'm trying to use?
  • Is this an issue with how I have the service endpoint configured?

2018-04-27T08:35:07.6869620Z [command]fastlane pilot upload -u ******** -i /Users/vsts/agent/2.131.0/work/r1/a/PlatformDemoApp-Release/App-Builds/iOS/Example-AppStore/FrameworkDemoApp.Touch.ipa -q 466996 -r **** -a ***** --skip_submission true --skip_waiting_for_build_processing true 2018-04-27T08:35:09.2494500Z [08:35:09]: �[33mGet started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile�[0m 2018-04-27T08:35:09.9622580Z [08:35:09]: Login to iTunes Connect (********) 2018-04-27T08:35:15.7579550Z Service key is empty 2018-04-27T08:35:20.0796230Z 2018-04-27T08:35:20.0815560Z Looking for related GitHub issues on fastlane/fastlane... 2018-04-27T08:35:20.0824320Z 2018-04-27T08:35:20.4683360Z /Users/vsts/.gem-cache/gems/fastlane-2.93.1/spaceship/lib/spaceship/two_step_client.rb:45:in handle_two_step: [!] Invalid 2 step response {"securityQuestions"=>{"questions"=>[{"id"=>134, "question"=>"Where did you go the first time you flew on a plane?", "number"=>1, "userDefined"=>false}, {"id"=>136, "question"=>"What is your dream job?", "number"=>2, "userDefined"=>false}]}, "crResetEnabled"=>false, "resetSecurityQuestionsSupportLink"=>"http://support.apple.com/kb/HT6170"} (RuntimeError) 2018-04-27T08:35:20.4706300Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/spaceship/lib/spaceship/client.rb:458:in send_shared_login_request 2018-04-27T08:35:20.4725910Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/spaceship/lib/spaceship/tunes/tunes_client.rb:125:in send_login_request 2018-04-27T08:35:20.4745210Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/spaceship/lib/spaceship/client.rb:653:in do_login 2018-04-27T08:35:20.4764390Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/spaceship/lib/spaceship/client.rb:358:in login 2018-04-27T08:35:20.4783550Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/spaceship/lib/spaceship/client.rb:71:in login 2018-04-27T08:35:20.4803140Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/spaceship/lib/spaceship/tunes/spaceship.rb:24:in login 2018-04-27T08:35:20.4824100Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/pilot/lib/pilot/manager.rb:23:in login 2018-04-27T08:35:20.4845910Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/pilot/lib/pilot/manager.rb:16:in start 2018-04-27T08:35:20.4866310Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/pilot/lib/pilot/build_manager.rb:13:in upload 2018-04-27T08:35:20.4886370Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/pilot/lib/pilot/commands_generator.rb:66:in block (2 levels) in run 2018-04-27T08:35:20.4906360Z from /usr/local/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in call 2018-04-27T08:35:20.4926200Z from /usr/local/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in run 2018-04-27T08:35:20.4946280Z from /usr/local/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in run_active_command 2018-04-27T08:35:20.4966300Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:75:in run! 2018-04-27T08:35:20.4986160Z from /usr/local/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in run! 2018-04-27T08:35:20.5006250Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/pilot/lib/pilot/commands_generator.rb:166:in run 2018-04-27T08:35:20.5026130Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/pilot/lib/pilot/commands_generator.rb:18:in start 2018-04-27T08:35:20.5046270Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/fastlane/lib/fastlane/cli_tools_distributor.rb:100:in take_off 2018-04-27T08:35:20.5065990Z from /Users/vsts/.gem-cache/gems/fastlane-2.93.1/bin/fastlane:20:in <top (required)> 2018-04-27T08:35:20.5085760Z from /usr/local/bin/fastlane:23:in load 2018-04-27T08:35:20.5105090Z from /usr/local/bin/fastlane:23:in <main> 2018-04-27T08:35:20.5230240Z ##[error]Error: fastlane failed with return code: 1

Why Bundle ID is a required parameter?

I use the App Store Release task to publish several apps to the TestFlight from a single repository. To achieve that I have a script, which applies the bundle identifier to Info.plist file before build. My previous upload script didn't use the bundle identifier, because fastlane can take it right from the package. Additionally, according to the source code, the Bundle ID parameter is used only in case the Track is set to Production. So, what is the reason to make it required independently on the Track value?

As a workaround, I've filled it with some value, and that works, because the value isn't used.

Issue parsing IPA

I get this error when I try to use the attached IPA with the extension:


2016-06-13T23:01:23.814Z: /var/folders/zy/ybh9d_s166vc3kzkprr5k3dr0000hk/T/1465858883210.847/Payload/How: No such file or directory

2016-06-13T23:01:23.814Z: 

##[Error] 2016-06-13T23:01:23.839Z: IPA Parsing failed: Command failed: /bin/sh -c codesign -d --entitlements :- /var/folders/zy/ybh9d_s166vc3kzkprr5k3dr0000hk/T/1465858883210.847/Payload/How Many Aliens Can You Kill.app/

##[Error] 2016-06-13T23:01:23.839Z: /var/folders/zy/ybh9d_s166vc3kzkprr5k3dr0000hk/T/1465858883210.847/Payload/How: No such file or directory

##[Error] 2016-06-13T23:01:23.839Z: 

##[Error] 2016-06-13T23:01:23.839Z: 


HowManyAliens.ipa.zip

What to test parameter doesn't seem to work

This seems related to #47, but I can't seem to get the "What to test" feature to work correctly. No matter what string I specify, the "What to test" field in Testflight remains blank. Are there any "special considerations" for using this feature that I should be aware of?

Cannot promote Testflight App to store

Initially I tried to promote testflight app and I got the following:

!] Could not find a version to edit for app 'MyApp'�[0m

I then created a version in the Itunes connect webpage and tried again and got the error:

2017-08-09T12:40:40.1344190Z [!] The request could not be completed because:
2017-08-09T12:40:40.1360860Z [en-GB]: You must detail what's new in this version in English (U.K.).�[0m

CD Release Apple App Store Promote - new version

I have a CD process to release my new versions of an app to TestFlight and then, once tested and approved, promoted to the app store for review. If we forget to create a new version in the app store prior to running this promotion then it fails as it's unable to find the version in the store. I know this is expected behaviour.

So my question is, is there a way to automatically create this new version in the app store during the promotion step? Anything that reduces/removes manual intervention is a benefit.

Thanks

Could not retrieve response as fastlane runs in non-interactive mode

When publishing to the AppStore in TestFlight track, the pilot application asks for input about the bundleIdentifier, even though it's filled out in the settings.

2016-12-08T20:48:17.0687030Z [21:48:17]: Login to iTunes Connect (********)
2016-12-08T20:48:20.4899490Z [21:48:20]: Login successful
2016-12-08T20:48:20.5890610Z [21:48:20]: Please enter the app's bundle identifier:

This was using vsts-agent 2.11.0, and app-store extension 1.2.1. Pilot version is 1.12.1.

For now, I've solved the problem by editing app-store-release.js, and supplying the bundleIdentifier in TestFlight mode as well (not only in Production).

feature request: add ability to push testflight build to exernal testers

Please add the option to enable distribute_external in order to push the build to external testers

FastlaneCore::ConfigItem.new(key: :distribute_external,
is_string: false,
env_name: "PILOT_DISTRIBUTE_EXTERNAL",
description: "Should the build be distributed to external testers?",
default_value: false),

from https://github.com/fastlane/fastlane/blob/master/pilot/lib/pilot/options.rb

Should appear only when Track=TestFlight in App Store Release task

Fastlane, Pilot - Automatic Team Selection

Hello,

In Release task you are requesting or giving the option to infor teamID and teamName, but is not used in any place in the Task's code.

var teamId: string = tl.getInput("teamId", false);
var teamName: string = tl.getInput("teamName", false);
            // Run pilot to upload to testflight
            var pilotCommand: ToolRunner = tl.tool('pilot');
            pilotCommand.arg(['upload', '-u', credentials.username, '-i', ipaPath]);
            if(isValidFilePath(releaseNotes)) {
                pilotCommand.arg(['--changelog', fs.readFileSync(releaseNotes).toString()]);
            }
            pilotCommand.argIf(shouldSkipSubmission, ['--skip_submission', 'true']);
            pilotCommand.argIf(shouldSkipWaitingForProcessing, ['--skip_waiting_for_build_processing', 'true']);
            await pilotCommand.exec();

So, you need to add the parameters like in promote task:

        //Run the deliver command 
        // See https://github.com/fastlane/deliver for more information on these arguments
        var deliverCommand : ToolRunner = tl.tool('deliver');
        deliverCommand.arg(['submit_build', '-u', credentials.username, '-a', appIdentifier]);
        if (chooseBuild.toLowerCase() === 'specify') {
           deliverCommand.arg(['-n', buildNumber]);     
        }
        deliverCommand.arg(['--skip_binary_upload', 'true', '--skip_metadata', 'true', '--skip_screenshots', 'true']);
        deliverCommand.argIf(shouldAutoRelease, '--automatic_release');
        deliverCommand.argIf(teamId, ['-b', teamId]);
        deliverCommand.argIf(teamName, ['-l', teamName]);
        deliverCommand.arg('--force');

2 Factor Authentication does not work

It is not possible to submit an app with 2-Factor-Authentication.
There is no way to enter the verificatin code. So an app specific password should be used.

fastlane complains about "uninitialized constant Colored2::EXTRAS"

The extension failed to publish to AppStore with below error:

2017-02-03T11:43:20.3536500Z [command]fastlane pilot upload -u ******** -i /Users/xplatalm/agent.coreclr.109/_work/10/a/build.sym/Release-iphoneos/xcode7ObjectiveC.ipa --skip_submission true --skip_waiting_for_build_processing true
2017-02-03T11:43:21.3753770Z /Users/xplatalm/.gem-cache/gems/fastlane-2.14.1/fastlane_core/lib/fastlane_core/ui/disable_colors.rb:12:in `<class:String>': uninitialized constant Colored2::EXTRAS (NameError)
2017-02-03T11:43:21.3771540Z 	from /Users/xplatalm/.gem-cache/gems/fastlane-2.14.1/fastlane_core/lib/fastlane_core/ui/disable_colors.rb:6:in `<top (required)>'
2017-02-03T11:43:21.3787840Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
2017-02-03T11:43:21.3803890Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
2017-02-03T11:43:21.3820750Z 	from /Users/xplatalm/.gem-cache/gems/fastlane-2.14.1/fastlane_core/lib/fastlane_core/ui/ui.rb:26:in `<top (required)>'
2017-02-03T11:43:21.3837760Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
2017-02-03T11:43:21.3855150Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
2017-02-03T11:43:21.3871620Z 	from /Users/xplatalm/.gem-cache/gems/fastlane-2.14.1/fastlane_core/lib/fastlane_core.rb:27:in `<top (required)>'
2017-02-03T11:43:21.3888890Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
2017-02-03T11:43:21.3905680Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
2017-02-03T11:43:21.3921050Z 	from /Users/xplatalm/.gem-cache/gems/fastlane-2.14.1/fastlane/lib/fastlane.rb:1:in `<top (required)>'
2017-02-03T11:43:21.3936370Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
2017-02-03T11:43:21.3952190Z 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require'
2017-02-03T11:43:21.3967650Z 	from /Users/xplatalm/.gem-cache/gems/fastlane-2.14.1/fastlane/lib/fastlane/cli_tools_distributor.rb:14:in `take_off'
2017-02-03T11:43:21.3982820Z 	from /Users/xplatalm/.gem-cache/gems/fastlane-2.14.1/bin/fastlane:15:in `<top (required)>'
2017-02-03T11:43:21.3997700Z 	from /Users/xplatalm/.gem-cache/bin/fastlane:23:in `load'
2017-02-03T11:43:21.4012030Z 	from /Users/xplatalm/.gem-cache/bin/fastlane:23:in `<main>'
2017-02-03T11:43:21.4024720Z ##[debug]rc:1
2017-02-03T11:43:21.4056090Z ##[debug]success:false
2017-02-03T11:43:21.4066620Z ##[debug]task result: Failed
2017-02-03T11:43:21.4090080Z ##[error]Error: fastlane failed with return code: 1

Resign of IPA before submit.

Often we build the app using an enterprise profile to allow our testers to install it on their phone, it would be great if we could just resign that build instead of making a new one before submitting to AppStore.

Maybe it could be just a new build step, which could be useful in other scenarios to.

The XamariniOS task supports uploading and installing a provisioning profile, this works great, since it allows to build on hosted VSTS agents like the ones from MacinCloud.

https://github.com/Microsoft/vsts-tasks/tree/master/Tasks/XamariniOS

https://support.macincloud.com/support/solutions/articles/8000023177-versions-of-tools-and-applications-on-vsts-agent-plan-servers-

Confused with release option

I created a build that compiles, I installed the release extension, but when I go to configure it, in the binary path the IPA file isn’t there. Do I need to configure something else?

Attached are two images one of each section:

build
release

Can't deploy from Release tasks.

Trying to deploy the iOS Xamarin application build with MS Visual Studio. The Deploy task comes back with an error: "App store promote can only be run from a Mac computer." The task is to Publish to the "TestFlight" track, not promote to AppStore.

Upload to store fails when TeamID is set

This looks like a regression caused by a change to fastlane deliver tool.
When TeamID input is set, the extension passes argument '-q ' to fastlane deliver, which results in: Error setting value 'teamid' for option 'apple_watch_app_icon'
Removing the value of TeamID from publish task resolved the issue.

The call to the iTMSTransporter completed with a non-zero exit status: 1. This indicates a failure.

We get the following error when we run the app-store-vsts-extension "The call to the iTMSTransporter completed with a non-zero exit status: 1. This indicates a failure.".

On the following page (https://github.com/fastlane/fastlane/blob/master/deliver/README.md#firewall-issues) it says that you can solve this error by typing "DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV" fastlane upload...". (When we run this command manually from the terminal it works to upload the .ipa file to Appstore.)

Is it possible to run "DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS..." via the app-store-vsts-extension in some way?

We use Apple App Store Release Version 1.112.0 and Fastlane version 2.14.2

Uploading to iTunes connect never completes

I tried different options to deploy new build: Production, TestFlight but they all time out and never complete. Here is the last log lines:
: Uploading binary to iTunes Connect
: Going to upload updated app to iTunes Connect
: �[32mThis might take a few minutes. Please don't interrupt the script.�[0m

How can I troubleshoot the issue? I am using macincloud VSTS agent to run the build.

Build doesn't show up in the build list anymore, waiting for it to appear again. Repeats even when testflight has published it

I am using the "Apple AppStore Release" Task
My Problem is that the
"Waiting for iTunes Connect to finish processing the new build (20180109.5 - 0.0)"
repeats even after testflight notifies me via App about the new version.
The new Version(20180109.05 (0.0)) is downloadable and works fine.

My Settings are
Track: Testflight
"What to Test?: MyApp/WhatToTest.txt

Install fastlane: Checked
fastlane Version: Latest Version
everything else off.

When i use Skip Build Processing Wait it works but the the What to Test info will be skipped.

Here is my log without skipping Build Processing Wait:

2018-01-09T10:04:19.4344150Z ##[section]Starten: Publish to the App Store TestFlight track
2018-01-09T10:04:19.4452760Z ==============================================================================
2018-01-09T10:04:19.4476500Z Task : Apple App Store Release
2018-01-09T10:04:19.4496990Z Description : Release an app to TestFlight or the Apple App Store
2018-01-09T10:04:19.4517240Z Version : 1.126.0
2018-01-09T10:04:19.4537460Z Author : Microsoft Corporation
2018-01-09T10:04:19.4559090Z Help : More Information
2018-01-09T10:04:19.4580830Z ==============================================================================
2018-01-09T10:04:19.9662940Z 45f8a57b-aa03-40d2-86bc-3ad438f3d422 exists true
2018-01-09T10:04:20.0039420Z [command]/usr/bin/gem install fastlane
2018-01-09T10:04:37.3805160Z Successfully installed fastlane-2.74.1
2018-01-09T10:04:37.3826680Z Parsing documentation for fastlane-2.74.1
2018-01-09T10:04:37.3848440Z Done installing documentation for fastlane after 11 seconds
2018-01-09T10:04:37.3869750Z 1 gem installed
2018-01-09T10:04:37.4143790Z [command]/usr/bin/gem update fastlane -i /Users/develop/.gem-cache
2018-01-09T10:04:40.0244480Z Updating installed gems
2018-01-09T10:04:40.0264490Z Nothing to update
2018-01-09T10:04:40.0682700Z [command]fastlane pilot upload -u ******** -i /Users/develop/myagent/_work/8/s/MyApp/MyApp/MyApp.iOS/bin/Iphone/AppStore/MyApp.iOS.ipa --changelog -mychangelog here -a de.MyApp
2018-01-09T10:04:40.8299820Z �[1G[⠋] 🚀 �[1G[⠙] 🚀 �[1G[⠹] 🚀 �[1G[⠸] 🚀 �[1G[⠼] 🚀 �[1G[⠴] 🚀 �[1G[⠦] 🚀 �[1G[✔] 🚀
2018-01-09T10:04:40.8393400Z [11:04:40]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
2018-01-09T10:04:40.8419420Z [11:04:40]: WARNING: fastlane requires your locale to be set to UTF-8. To learn more go to https://docs.fastlane.tools/getting-started/ios/setup/#set-up-environment-variables
2018-01-09T10:04:41.5316430Z [11:04:41]: Login to iTunes Connect (********)
2018-01-09T10:04:43.9436150Z [11:04:43]: Login successful
2018-01-09T10:04:44.6593790Z [11:04:44]: Ready to upload new build to TestFlight (App: xxx)...
2018-01-09T10:04:45.0648540Z [11:04:45]: Going to upload updated app to iTunes Connect
2018-01-09T10:04:45.0670780Z [11:04:45]: This might take a few minutes. Please don't interrupt the script.
2018-01-09T10:04:53.7622910Z [11:04:53]: [Transporter Error Output]: description length:503210
2018-01-09T10:05:53.5574850Z [11:05:53]: iTunes Transporter successfully finished its job
2018-01-09T10:05:53.6263470Z [11:05:53]: [iTMSTransporter] [2018-01-09 11:05:53 CET]

DBG-X: Apple's web service operation return value:
2018-01-09T10:05:53.6276400Z
2018-01-09T10:05:53.6297830Z [11:05:53]: [iTMSTransporter] [2018-01-09 11:05:53 CET] DBG-X: parameter Success = true
2018-01-09T10:05:53.6309340Z
2018-01-09T10:05:53.6333250Z [11:05:53]: [iTMSTransporter] [2018-01-09 11:05:53 CET] DBG-X: Unlocking token at path /Users/develop/.itmstransporter/UploadTokens/mytoken.itmsp.token
2018-01-09T10:05:53.6346780Z
2018-01-09T10:05:53.6368500Z [11:05:53]: [iTMSTransporter] [2018-01-09 11:05:53 CET] DBG-X: Releasing token file lock
2018-01-09T10:05:53.6380380Z
2018-01-09T10:05:53.6403370Z [11:05:53]: [iTMSTransporter] [2018-01-09 11:05:53 CET] DBG-X: Removing token at path /Users/develop/.itmstransporter/UploadTokens/mytokenitmsp.token
2018-01-09T10:05:53.6416830Z
2018-01-09T10:05:53.6438840Z [11:05:53]: [iTMSTransporter] [2018-01-09 11:05:53 CET] INFO: Done performing uploadDone notification to Apple.
2018-01-09T10:05:53.6450790Z
2018-01-09T10:05:53.6473520Z [11:05:53]: [iTMSTransporter] [2018-01-09 11:05:53 CET] INFO: The package: /Users/develop/myagent/_work/_temp/d20180109-14678-1i2pa5/xxx.itmsp has been successfully uploaded.
2018-01-09T10:05:53.6487990Z
2018-01-09T10:05:53.6508350Z [11:05:53]: [iTMSTransporter]
2018-01-09T10:05:53.6518810Z
2018-01-09T10:05:53.6538780Z [11:05:53]: [iTMSTransporter]
2018-01-09T10:05:53.6549250Z
2018-01-09T10:05:53.6569070Z [11:05:53]: [iTMSTransporter]
2018-01-09T10:05:53.6579630Z
2018-01-09T10:05:53.6599970Z [11:05:53]: [iTMSTransporter] Package Summary:
2018-01-09T10:05:53.6610570Z
2018-01-09T10:05:53.6630540Z [11:05:53]: [iTMSTransporter]
2018-01-09T10:05:53.6643330Z
2018-01-09T10:05:53.6664600Z [11:05:53]: [iTMSTransporter] 1 packages were uploaded successfully:
2018-01-09T10:05:53.6675480Z
2018-01-09T10:05:53.6697180Z [11:05:53]: [iTMSTransporter] /Users/develop/myagent/_work/_temp/xxxxxx/xxx.itmsp
2018-01-09T10:05:53.6709150Z
2018-01-09T10:05:53.6729880Z [11:05:53]: [iTMSTransporter] [2018-01-09 11:05:53 CET] DBG-X: Returning 0
2018-01-09T10:05:53.6741910Z
2018-01-09T10:05:53.6762460Z [11:05:53]: iTunes Transporter output above ^
2018-01-09T10:05:53.6783950Z [11:05:53]: description length:503210
2018-01-09T10:05:53.6810920Z [11:05:53]: Although errors occurred during execution of iTMSTransporter, it returned success status.
2018-01-09T10:05:53.6835410Z [11:05:53]: --------------------------------------------------------------------
2018-01-09T10:05:53.6858040Z [11:05:53]: Successfully uploaded package to iTunes Connect. It might take a few minutes until it's visible online.
2018-01-09T10:05:53.6880840Z [11:05:53]: --------------------------------------------------------------------
2018-01-09T10:05:53.6902570Z [11:05:53]: Successfully uploaded the new binary to iTunes Connect
2018-01-09T10:05:53.6925280Z [11:05:53]: If you want to skip waiting for the processing to be finished, use the skip_waiting_for_build_processing option
2018-01-09T10:06:02.7417670Z [11:06:02]: Started watching build 20180109.5 - 0.0 but expected 20180109.05 - 0.0
2018-01-09T10:06:03.4006280Z [11:06:03]: Waiting for iTunes Connect to finish processing the new build (20180109.5 - 0.0)
2018-01-09T10:06:34.1595960Z [11:06:34]: Waiting for iTunes Connect to finish processing the new build (20180109.5 - 0.0)

This repeated every 30 seconds for like 20 minutes before i canceled it

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.