ios - 创建平台目录后无法从命令行构建 iOS,需要手动打开 xcode
问题描述
短版
如果我目前没有平台/ios 文件夹,我运行:
cordova platform add ios
ionic cordova build ios --buildConfig=build-scripts/uat/ios-build.json --device --release
如果我不是 Apple Developer 项目的管理员,我会收到此错误:
Error Domain=IDEProfileLocatorErrorDomain Code=1 "No profiles for 'com.n.uuat' were found" UserInfo={NSLocalizedDescription=No profiles for 'com.n.uuat' were found, NSLocalizedRecoverySuggestion=Xcode couldn't find any iOS In House provisioning profiles matching 'com.n.uuat'.}
我们如何以这种方式从命令行构建 ios?
Xcode中的相同错误:
长版
我们这样做是因为我们必须能够无头地构建我们的项目。
此外,我们需要能够在 prod、uat 和 qa 环境之间切换。对于 prod,如果我们使用 com.nu,那么对于 uat,我们将使用 com.n.uuat,对于 qa,我们将使用 com.n.uqa。如果您尝试在不重新制作平台目录的情况下切换这些应用程序 ID,则会导致问题。
所以我们的构建脚本会在每次构建之前删除平台目录。
仅当开发人员大楼不是 developer.apple.com 上的管理员时才会出现此问题。一旦我们将他们提升为管理员,他们就可以构建良好。我们不想让每个人都成为管理员。
我们正在使用的重要设置
- 自动签名
- 内部分配
ios-build.json 文件
{
"ios": {
"release": {
"developmentTeam": "...redacted",
"codeSignIdentity": "iPhone Developer",
"packageType": "enterprise",
"automaticProvisioning": true,
"buildFlag": [
"PRODUCT_BUNDLE_IDENTIFIER=com.n.uuat",
"PRODUCT_NAME=UUAT",
"-UseModernBuildSystem=0"
]
}
}
}