gpt4 book ai didi

ios - 如果在 xcode 的 gui 版本中完美运行,为什么我会从命令行签署 ionic-cordova ios 应用程序时出现错误?

转载 作者:行者123 更新时间:2023-11-29 05:18:54 26 4
gpt4 key购买 nike

我正在尝试从命令行构建一个 Ionic - Cordova iOs 应用程序(使用 azure devops 构建和部署代理),但从最近的更新(证书、xcode、操作系统等)来看,我没有成功不再了。

在尝试了很多选项之后,我对 xcode 命令行有些迷失了。之前有“一些更新”,这个命令运行得很好,所以我不知道配置文件和证书发生了什么。

这是我正在使用的命令行:

 security unlock-keychain -p **** [keychainpath] 

ionic build --prod

ionic cordova build ios --no-build --release --device --provisioningProfile="*****" -- --buildFlag="-UseModernBuildSystem=0" --developmentTeam=***** --codeSignIdentity="iPhone Developer" --packageType=app-store

这就是结果(我省略了“存档成功”之前的所有日志):

** ARCHIVE SUCCEEDED **

2019-11-15 08:01:36.413 xcodebuild[32327:470732] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/jg/06xlqgms5n54qgh0mcj3tkvw0000gp/T/******_2019-11-15_08-01-36.412.xcdistributionlogs'.
error: exportArchive: No profiles for '*********' were found

Error Domain=IDEProfileLocatorErrorDomain Code=1 "No profiles for '*****' were found" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=No profiles for '******' were found, NSLocalizedRecoverySuggestion=Xcode couldn't find any iOS App Store provisioning profiles matching '******'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild.}

** EXPORT FAILED **

(node:31915) UnhandledPromiseRejectionWarning: Error code 70 for command: xcodebuild with args: -exportArchive,-archivePath,*******.xcarchive,-exportOptionsPlist,/Users/*****/*****/_work/1/s/platforms/ios/exportOptions.plist,-exportPath,/Users/*****/*****/_work/1/s/platforms/ios/build/device
(node:31915) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:31915) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

我尝试使用 XCode 的 GUI(和同一用户)构建应用程序,没有出现任何问题,所以我猜那里的证书和配置文件一定没问题。

有关命令行发生的情况的任何线索吗?

最佳答案

我终于找到了答案:这是发行配置文件和开发配置文件参数的糟糕组合。

我发现它在cordova构建中使用--verbose模式

我使用“build.json”定义文件更改了定义构建 ios 包的参数的方式:

build.json

{
"ios": {
"debug": {
"codeSignIdentity": "iPhone Developer",
"developmentTeam": "*******",
"packageType: development,
"provisioningProfile": "*******"
},
"release": {
"codeSignIdentity": "iPhone Distribution",
"developmentTeam": "******",
"packageType": "app-store",
"provisioningProfile": "*******"
}
}
}

可以与命令行一起使用,如下所示:

ionic cordova build ios --no-build --prod --release --device --buildConfig build.json

多亏了这一点,我能够看到问题出在哪里,并且最终能够对 ipa 文件进行良好的签名。

关于ios - 如果在 xcode 的 gui 版本中完美运行,为什么我会从命令行签署 ionic-cordova ios 应用程序时出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58872051/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com