跳到主要内容

IOS本地证书创建及使用

生成证书请求文件(本地)

  1. 打开【钥匙串访问】

  2. 申请并生成一个证书:证书助理->从证书颁发机构请求证书

    名称自己写,邮箱可以是自己的,跟apple开发者账号的主体无关

  1. 将导出的CertificateSigningRequest.certSigningRequest保存在易找到的位置,稍后会用到

申请开发者证书.p12(开发者后台)

登录 - Apple 开发者后台,点击证书描述标识符入口,进入Certificates, Identifiers & Profiles页面

  1. 创建一个证书
  2. 选择ios app development
  3. 用到刚刚生成的证书请求文件,点击“Choose File...”,选择刚刚保存到本地的 “CertificateSigningRequest.certSigningRequest”文件,点击 “Continue” 生成证书文件并下载(.cer
  4. 双击文件将证书安装到本机
  5. 右键刚刚安装的证书名,将p12导出,完成开发证书的制作(得到了 xxx.p12 证书文件)

    其实导出p12并不是必要的,如果多人协同开发可以用得到:双击 .p12 文件或通过钥匙串访问工具(Keychain Access)导入该文件。这将会将证书和私钥安装到新的电脑中

申请描述文件 .mobileprovision(开发者后台)

  1. 在证书管理页面选择 “Profiles”,可查看到已申请的所有描述文件,点击页面上的加号来添加一个新的描述文件
  2. 在 “Development” 栏下选中 “iOS App Development”,点击Continue按钮
  3. 选择要创建的AppBundleId,点击Continue
  4. 选择要绑定的证书,还有要绑定的调试设备(后续可以修改,更新后需要重新下载)
  5. 输入描述文件的名称(如“xxxxDev”), 点击 “Generate” 生成描述文件
  6. 下载该描述文件xxx.mobileprovision,保存,在项目开发时使用
  7. 在xcode项目中导入该描述文件

总结

本地生成证书请求文件是当前设备的标识,然后在apple开发者后台将该标识上传并生成加密证书安装到本机(可导出p12文件,但开发过程中并不会用到)。真正关联的是生成的 .mobileprovision 描述文件:这个文件将开发者证书、设备ID、App ID等信息关联起来,创建时要确保勾选了已经关联自己设备的证书,xcode需要导入该文件。 综上所述,.mobileprovision 描述文件是将开发者证书和设备关联起来的关键文件,Xcode 需要导入该文件才能在指定设备上运行和调试应用程序。

如果团队比较宽松,可以直接登录管理员账号,勾选Automatically manage signing云签名选择对应的账号就可以

其它问题

p12有什么用

  1. 分发开发者证书:在团队开发中,如果多个开发者需要使用相同的开发者证书,可以导出 .p12 文件并分发给团队成员。这样,他们可以导入 .p12 文件到各自的钥匙串中,共享同一个证书。
  2. 备份证书和私钥:导出 .p12 文件可以作为证书和私钥的备份。在更换设备或重新安装系统后,可以通过导入 .p12 文件恢复原有的证书和私钥。
  3. 第三方服务集成:某些第三方服务(如推送通知服务)需要使用你的证书和私钥进行身份验证。将 .p12 文件上传到这些服务,以便它们可以使用你的证书进行签名或加密操作。 在日常开发过程中,尤其是单个开发者或小型团队的情况下,可能并不需要频繁使用 .p12 文件。主要的使用场景还是在证书分发和备份方面。

比如换了新的设备就可以直接

  1. 导入 .p12 文件
    • 在旧电脑上,导出包含开发者证书和私钥的 .p12 文件。
    • 在新电脑上,双击 .p12 文件或通过钥匙串访问工具(Keychain Access)导入该文件。这将会将证书和私钥安装到新的电脑中。
  2. 导入描述文件 (.mobileprovision)
    • 将你之前下载的描述文件复制到新电脑上。
    • 双击该文件或通过Xcode导入该文件。描述文件将会被安装到Xcode中。
  3. 配置Xcode项目
    • 打开Xcode并载入你的项目。
    • 确保项目设置中的签名和功能(Signing & Capabilities)部分选择了正确的团队和描述文件。

Flutter首次启动

Flutter中出现这个弹窗一直点击始终允许就可以