档案失败:Fastlane与Ionic 3

时间:2018-01-09 11:10:32

标签: ios xcode ionic3 fastlane

我第一次尝试在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/ 我没有问题。我可以在我的帐户开发者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: 离子cordova平台删除ios 离子cordova平台添加ios

我试图运行fastlane beta。我保留了我的错误,但有点不同:

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并且我有这个错误:

enter image description here

2 个答案:

答案 0 :(得分:1)

如果您要为应用商店进行构建,您还必须使用release创建prod(以及最佳ionic())版本。否则,Xcode项目将以错误的方式设置为您通过match()设置的证书。

这应该适合你:

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 :(得分:1)

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