首页 > 解决方案 > 创建平台目录后无法从命令行构建 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"
      ]
    }
  }
}

标签: iosxcodecordovaionic-framework

解决方案


推荐阅读