存档失败:Fastlane with Ionic 3

Archive failed : Fastlane with Ionic 3

我第一次尝试在 Testflight 上部署我的 Ionic 3 应用程序。

但是当我 运行 我的命令时:"sudo fastlane beta" 我总是有这个错误:

Check dependencies

Code Signing Error: No profile for team '(TEAM_ID)' matching 'match AppStore (APP_BUNDLE)' found:  Xcode couldn't find any provisioning profiles matching '(TEAM_ID)/match AppStore (APP_BUNDLE)'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.
Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.1'

** ARCHIVE FAILED **

我真的不知道我必须做些什么来解决这个问题。

我做了什么:

首先,我按照这个生成我的证书和配置文件
https://codesigning.guide/ 我对此没有问题。我可以在我的帐户 developer iOS 上看到我的个人资料。

所以我安装了插件 fastlane Ionic。我这样编辑我的 Fastfile :

fastlane_version "2.68.0"
generated_fastfile_id "(FAST LANE ID)"

default_platform :ios

desc "Submit a new Beta Build to Apple TestFlight"
desc "This will also make sure the profile is up to date"
lane :beta do
  match(type: "appstore")
  ionic(platform: 'ios')
  pilot(ipa: ENV['CORDOVA_IOS_RELEASE_BUILD_PATH'])
end

我的应用程序文件:

app_identifier "(APP_BUNDLE)"
apple_id "(MY APPLE ID)"
team_id "(TEAM_ID)"

但是当我 运行 : sudo fastlane beta 时,这一步失败了: ionic cordova compile ios --release --device -- --packageType=app-store --developmentTeam=(TEAM_ID) --provisioningProfile=(PROFILE_GUID)

编辑:我的离子信息:

cli packages: (/Users/ox/Documents/Mobile/ox/node_modules)

    @ionic/cli-utils  : 1.19.0
    ionic (Ionic CLI) : 3.19.0

global packages:

    cordova (Cordova CLI) : 7.1.0 

local packages:

    @ionic/app-scripts : 2.1.0
    Cordova Platforms  : ios 4.5.4
    Ionic Framework    : ionic-angular 3.9.2

System:

    ios-deploy : 1.9.2 
    ios-sim    : 5.1.0 
    Node       : v6.11.3
    npm        : 5.6.0 
    OS         : macOS Sierra
    Xcode      : Xcode 9.1 Build version 9B55 

Environment Variables:

    ANDROID_HOME : not set

Misc:

    backend : pro

编辑

我删除并重新添加我的平台ios: ionic cordova 平台移除 ios ionic cordova 平台添加 ios

我尝试 运行 快速通道测试版。我保留了我的错误,但有点不同:

Code Signing Error: No profile for team '(TEAM_ID)' matching '(PROFILE_UUID)' found:  Xcode couldn't find any provisioning profiles matching '(TEAM_ID)/(PROFILE_UUID)'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.
    Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.1'

我签入了 xcode 并且出现了以下错误:

如果您想为应用程序商店构建,您还必须使用 ionic() 创建一个 release(最好是 prod)构建。否则,对于您通过 match() 设置的证书,Xcode 项目的设置方式有误。

这应该适合你:

lane :beta do
  match(type: "appstore")
  ionic(
    platform: 'ios',
    prod: true,
    release: true
  )
  pilot(ipa: ENV['CORDOVA_IOS_RELEASE_BUILD_PATH'])
end

另见 https://ionic.zone/fastlane/build-your-project-with-ionic-plugin#ios-release-build

  1. 你不应该sudo fastlane...!如果需要 root,请尝试使用 fastlane beta - 可能您必须重新安装这些工具。此外,推荐的方法是使用 bundler 来管理您的 ruby 依赖项
  2. 尝试在 Xcode 中执行存档命令并确保您能够手动构建和签署项目
  3. 运行 fastlane match 命令获取您的配置文件(您可能会被要求登录 iTunesConnect...)
    • 如果匹配失败 - 请使用参数来指定你的 team/app: fastlane action match - 此命令会显示你的选项
  4. 尝试 fastlane beta 不使用 sudo!