上传到iTunes的错误使用fastlane连接

时间:2016-08-04 12:24:56

标签: ios fastlane

首先,出现错误:

22:13:47]: [Transporter Error Output]: ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.fitbugg.apps.FitBugg [Payload/FitBugg.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
[22:13:47]: Transporter transfer failed.
[22:13:47]:
[22:13:47]: ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.fitbugg.apps.FitBugg [Payload/FitBugg.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
[22:13:47]: ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.fitbugg.apps.FitBugg [Payload/FitBugg.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
Return status of iTunes Transporter was 1: ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.fitbugg.apps.FitBugg [Payload/FitBugg.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
The call to the iTMSTransporter completed with a non-zero exit status: 1. This indicates a failure.
[22:13:47]: Variable Dump:
[22:13:47]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios beta", :CERT_FILE_PATH=>"/Users/james/Documents/workspace/fb-ios-recover/K3E6UZV9MX.cer", :CERT_CERTIFICATE_ID=>"K3E6UZV9MX", :SIGH_PROFILE_PATH=>"/Users/james/Documents/workspace/fb-ios-recover/AppStore_com.fitbugg.apps.FitBugg.mobileprovision", :SIGH_PROFILE_PATHS=>["/Users/james/Documents/workspace/fb-ios-recover/AppStore_com.fitbugg.apps.FitBugg.mobileprovision"], :SIGH_UDID=>"2cf7a401-960e-4e39-a2f9-2f6627f0642c", :SIGH_PROFILE_TYPE=>"app-store", :IPA_OUTPUT_PATH=>"/Users/james/Documents/workspace/fb-ios-recover/FitBugg.ipa", :DSYM_OUTPUT_PATH=>"/Users/james/Documents/workspace/fb-ios-recover/FitBugg.app.dSYM.zip", :XCODEBUILD_ARCHIVE=>"/Users/james/Library/Developer/Xcode/Archives/2016-08-04/FitBugg 2016-08-04 22.09.00.xcarchive"}
[22:13:47]: Error uploading ipa file, for more information see above

这里是Fastfile:

# Customise this file, documentation can be found here:
# https://github.com/fastlane/fastlane/tree/master/fastlane/docs
# All available actions: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Actions.md
# can also be listed using the `fastlane actions` command

# Change the syntax highlighting to Ruby
# All lines starting with a # are ignored when running `fastlane`

# If you want to automatically update fastlane if a new version is available:
# update_fastlane

# This is the minimum version number required.
# Update this, if you use features of a newer version
fastlane_version "1.98.0"
#username 'james@fitbugg.com'

#app_identifier 'com.fitbugg.apps.FitBugg'
#PRODUCT_BUNDLE_IDENTIFIER='com.fitbugg.apps.FitBugg'

default_platform :ios

platform :ios do
  before_all do
    # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
#cocoapods
    cocoapods(podfile: 'Podfile')

  end

#  desc "Runs all the tests"
#  lane :test do
#    scan
#  end

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do
    cert 
    sigh(force: true)
    match(type: "appstore") # more information: https://codesigning.guide
    gym(scheme: "FitBugg") # Build your app - more options available
#gym # Build your app - more options available
    pilot

    # sh "your_script.sh"
    # You can also use other beta testing services here (run `fastlane actions`)
  end

#  desc "Deploy a new version to the App Store"
#  lane :fitbuggappstore do
    # match(type: "appstore")
    # snapshot
#    gym(scheme: "FitBugg") # Build your app - more options available
#    deliver(force: true)
    # frameit
#  end

  # You can define as many lanes as you want

  after_all do |lane|
    # This block is called, only if the executed lane was successful

    # slack(
    #   message: "Successfully deployed new App Update."
    # )
  end

  error do |lane, exception|
    # slack(
    #   message: exception.message,
    #   success: false
    # )
  end
end


# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
# All available actions: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Actions.md

# fastlane reports which actions are used
# No personal data is recorded. Learn more at https://github.com/fastlane/enhancer

我运行的各种命令是:

match (development, distribution)

cert create

对我来说似乎很接近,但我无法弄清楚供应资料无效的原因。我以为fastlane上传了它给我。

以下是我对Apple Dev Conn配置资料的看法: enter image description here

我对ADC的证明:

enter image description here

2 个答案:

答案 0 :(得分:1)

为了确保一切正常,建议您运行match nuke distributionmatch nuke development来清除旧的和过期的个人资料以及您创建的个人资料。

然后,为您需要的应​​用和环境运行match。这应该可以解决您的问题。

答案 1 :(得分:0)

很好的修复。我或多或少地重新开始了。

我继续创建了一个全新的应用标识符,配置文件和证书。我必须在xcode中进行相关更改。

然后我能够使这个Fastfile工作:

fastlane_version "1.99.0"

default_platform :ios
ENV["XCODE_TEAMNAME"] = "myapp Pty Ltd"
ENV["XCODE_TEAMID"] = "92U9K4P32Y"



# latest_testflight_build_number(version: "0.25.12")
#
# increment_build_number({
#   build_number: latest_testflight_build_number + 1
# })


platform :ios do
  before_all do
    ENV["SLACK_URL"] = "https://hooks.slack.com/services/[webhook-url]" # Webhook URL created in Slack
  end

  desc "Installs FixCode which disables the \"Fix Issue\" button in Xcode"
  lane :xcode do
    install_xcode_plugin(
      url: "https://github.com/fastlane/FixCode/releases/download/0.2.0/FixCode.xcplugin.zip"
    )
  end

  desc "Fetches the provisioning profiles so you can build locally and deploy to your device"
  lane :certs do
    match(app_identifier: "com.myapp.test.myapp", type: "development")
    match(app_identifier: "com.myapp.test.myapp", type: "appstore")
    match(app_identifier: "com.myapp.test.myapp", type: "appstore")
  end

  desc "Runs all the unit and ui tests"
  lane :test do
    cocoapods
    if is_ci
      scan(skip_slack: false)
    else
      scan
    end
  end

  desc "Creates new screenshots and uploads them to iTunes Connect"
  lane :screens do
    cocoapods
    match(app_identifier: "com.myapp.test.myapp", type: "development")
    snapshot
    frameit
    deliver(app: 925311796, app_identifier: "com.myapp.test.myapp", skip_metadata: true, force: true)
  end

  desc "Submits a new Beta Build to Apple TestFlight"
  lane :beta do
    increment_build_number({
      build_number: latest_testflight_build_number + 1
    })
    cocoapods
    match(app_identifier: "com.myapp.test.myapp", type: "appstore")
    gym(configuration: "Internal Beta")
    pilot(app_identifier: "com.myapp.test.myapp", skip_waiting_for_build_processing: true)
  end

  desc "Deploys a new version to the App Store"
  lane :deploy do
    cocoapods
    match(app_identifier: "com.myapp.test.myapp", type: "appstore")
    gym(configuration: "Release")
    deliver(force: true)
  end

  desc "Clean everything"
  lane :clean_all do
    xcclean(scheme: "myapp")
    clean_build_artifacts
    clean_cocoapods_cache
  end

  after_all do |lane|
    # This block is called, only if the executed lane was successful
  end

  error do |lane, exception|
    if is_ci
      slack(
        message: exception.message,
        success: false
      )
    end
  end
end