ios - 尝试为 iOS 构建应用程序时出现 Cordova 错误 65

标签 ios xcode cordova provisioning-profile

我试图在连接的 iPhone 上运行我的 Cordova 应用程序,但每次我尝试做 cordova run我收到以下错误

Check dependencies

No profiles for 'com.myapp.chat' were found: Xcode couldn't find a provisioning profile matching 'com.myapp.chat'. Code signing is required for product type 'Application' in SDK 'iOS 10.3'



我创建了一个 build.json项目根目录下的文件,内容如下
{
  "ios": {
    "debug": {
      "developmentTeam": "some_id_here"
    },

    "release": {
      "developmentTeam": "some_id_here",
      "codeSignIdentity": "My App",
      "packageType": "ad-hoc"
    }
  }
}

配置文件的ID是正确的,我是从开发者支持页面下载的,com.myapp.chat包名称也在该配置文件中注册。

我有 XCode 8.3.2 已安装,并且我已在“首选项”>“帐户”中使用我的帐户登录,然后单击“下载所有配置文件”。

编辑:我使用 Cordova CLI 来构建应用程序。

请问我做错了什么?

最佳答案

要将 Cordova 应用程序构建到 iPhone,请执行以下步骤:
简答

  • 运行命令 cordova add platform ios ,这将创建 Xcode 项目文件 .xcworkspace在“平台 > ios”下的 Cordova 项目目录中
  • 从 Xcode 转到“文件 > 打开”并找到 .xcworkspace “平台 > ios”下的文件
  • 项目打开后,单击蓝色项目图标 project icon更改项目设置。
  • 在“签名”下选择您的团队... signing

  • 长答案
  • 购买 Mac Book ( https://www.apple.com/mac/ )
  • 安装 Xcode ( https://developer.apple.com/xcode/ )
  • 这将创建 KeyChain Access 所需的证书颁发机构“Apple Worldwide Developer Relations Certification Authority”。

  • 来自 Apple 开发者 (developer.apple.com)
  • 通过 Apple 以 99 美元的价格购买开发者帐户
  • 登录,然后转到:https://developer.apple.com/account/ios/certificate/
  • 创建“iOS 开发”证书
  • “Certificates > All”然后点击“+”图标,选择“iOS App Development”。
    create_ios_development_certificate

  • 从钥匙串(keychain)访问
  • 打开钥匙串(keychain)访问应用程序 Applications > Utilities > KeyChain Access
  • 创建一个 CertificateSigningRequest.certSigningRequest文件,转到“证书助手 > 从证书颁发机构请求证书”,然后将其上传到 Apple Developers。

  • 来自 Apple 开发者
  • 注册您的 iPhone - 在“设备 > iPhone”下,单击“+”图标。
  • 将要求提供设备“名称”和“uuid”
  • 要获取设备 uuid,您需要从“iTunes”应用程序获取它。

  • 从 iTunes
  • 使用 USB 电源线将 iPhone 插入 Mac Book
  • 打开“iTunes”并点击 iPhone 图标 iTunes iPhone icon
  • 单击标签“序列号:”,这将显示 UUID。
  • 将该 UUID 复制到 Apple Developers 网站上的“uuid”字段中。

  • 从您的命令终端
  • 安装节点 ( https://nodejs.org/en/download/ ) - macOS 安装程序
  • 打开终端应用 Applications > Utilities > Terminal
  • 安装 Cordova:sudo npm install -g cordova (使用 sudo)
  • 创建一个 Cordova 应用程序,格式如下:
  • cordova <app_directory> <bundle_id> <app_name>
  • 例如:cordova gmail_app com.google.gmail Gmail .
  • 添加平台:cordova platform add ios (这将创建 .xcodeproj )

  • 来自 Apple 开发者
  • 在“标识符”下创建一个新的“应用程序 ID”(单击“+”图标),并将“名称”字段设置为与您的 Cordova 应用程序相同的名称 <app_name> ,以及与 Cordova 相同的包 ID <bundle_id> .
  • 在“配置文件”下创建一个新的“iOS 开发”配置文件,使用您的应用程序名称 <app_name>并选择捆绑 ID <bundle_id> .

  • 来自 Xcode
  • 将您的 Apple ID 添加到 Xcode:
  • 打开 Xcode 并转到“Xcode > Preferences... > Accounts”并单击“+”图标以“Add Apple ID...”,然后输入您的苹果开发者帐户的用户名和密码。
  • 打开 Cordova Xcode 项目文件:
  • 从 Xcode 转到“文件 > 打开”并找到 .xcworkspace Cordova 项目中“平台 > ios”下的文件。
  • 项目打开后,单击蓝色项目图标 project icon更改项目设置。
  • 在“签名”下选择您的团队... signing

  • 从您的命令终端
  • 创建一个 build.json Cordova 项目根目录中的文件:
  • cd <app_directory>; touch build.json;
  • 将以下内容粘贴到您的 build.json 中文件。
  • 要获得“团队 ID”,您需要访问 Apple Developers 成员(member)页面:https://developer.apple.com/account/#/membership/

  • {
      "ios": {
        "debug": {
          "codeSignIdentity": "iPhone Developer",
          "developmentTeam": "<Team ID>",
          "packageType": "development"
        },
        "release": {
          "codeSignIdentity": "iPhone Developer",
          "developmentTeam": "<Team ID>",
          "packageType": "app-store"
        }
      }
    }
    
  • 下次运行 cordova build ios ,它应该正确构建

  • 来自 Xcode
  • 最后...将 iPhone USB 数据线插入 Mac Book,确保选择了 (1) 设备,然后 (2) 单击运行按钮。这应该会将您使用 Cordova 构建的应用程序部署到 iPhone。

  • xcode

    关于ios - 尝试为 iOS 构建应用程序时出现 Cordova 错误 65,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43973856/

    相关文章:

    javascript - 通过 App Store 更新基于 Cordova/Phonegap 的应用程序 "crashes"

    ios - Xcode 7 中的 SIGABRT 错误

    ios - XCode 命令 Shift O 公开 Swift 文件

    ios - 在框架中嵌入框架

    iOS startMonitoringForRegion 在 sleep 模式下不起作用(黑屏)

    objective-c - 将图像文件路径保存到 Core Data

    ios - 富文本(带图像)性能 - UITextView 与 UIWebview

    android - 手机间隙 : Custom font is not working

    Cordova inAppBrowser IOS

    android - 使用 V1 和 V2 签名后无法在我的旧 android 设备上安装我的 apk