存档失败:Ionic 3 的 Fastlane
Posted
技术标签:
【中文标题】存档失败:Ionic 3 的 Fastlane【英文标题】:Archive failed : Fastlane with Ionic 3 【发布时间】:2018-01-09 11:10:31 【问题描述】:我第一次尝试在 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/ 我没有这个问题。我可以在我的帐户 developerper 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: 离子科尔多瓦平台删除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 中签入,我有这个错误:
【问题讨论】:
你的ionic info
输出是什么?它可以提供重要的环境信息。最好编辑您的问题以添加它。
看起来不错,虽然我发布了一个答案 ionic cordova compile ios
您当前的设置生成的命令实际上看起来不错,release: true
无论如何都是默认设置。无论如何尝试一下,让我知道它是否有效,否则我们将不得不继续寻找......
你之前对ios
项目做过什么奇怪的事情吗?也许用ionic cordova platform remove ios
删除它,然后用ionic cordova platform add ios
再次添加它,然后再次尝试运行车道。
嗯,我不这么认为。我只需要具备推送通知和后台模式的功能。但我也试过没有它们。我将尝试再次删除 iOS 平台。
你不应该正常使用 Xcode(除了你的推送和后台模式 - 但即使你可以通过 Fastlane 做到这一点)。我建议尝试使用ionic start
新创建的新“处女”应用程序,看看这是否适合您。
【参考方案1】:
-
你不应该这样做
sudo fastlane...
!如果需要 root,请尝试使用fastlane beta
- 可能您必须重新安装这些工具。此外,推荐的方法是使用bundler
来管理您的 ruby 依赖项
尝试在 Xcode 中执行存档命令,并确保您能够手动构建和签署项目
运行fastlane match
命令以获取您的配置文件(您可能会被要求登录iTunesConnect...)
如果匹配失败 - 请使用参数指定您的团队/应用程序:fastlane action match
- 此命令显示您拥有的选项
试试fastlane beta
不要sudo!
【讨论】:
我的旧 Mac 有很多问题。我的公司允许我对其进行更改,并且 fastlane 不再有任何问题。在我的新安装中,我不必使用 sudo。当然,sudo 是魔鬼。感谢您的帮助。【参考方案2】:如果您想为应用商店构建,您还必须使用ionic()
创建一个release
(最好是prod
)构建。否则,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
【讨论】:
我试过这个,但我遇到了同样的错误。我已经尝试删除并再次添加平台,但没有更好的...以上是关于存档失败:Ionic 3 的 Fastlane的主要内容,如果未能解决你的问题,请参考以下文章
带有扩展名的应用程序的 Ionic/Cordova iOS 应用程序构建错误 - ** 存档失败 **
由于找不到“Cordova/CDVViewController.h”文件,离子应用程序存档在 xcode 7.2 中失败
在 Swift 3 中存档项目并获得“由于信号分段错误 11 导致命令失败”