【问题标题】:Unable to test Flutter app on iPhone due to certificate issue由于证书问题,无法在 iPhone 上测试 Flutter 应用
【发布时间】:2021-05-10 08:43:59
【问题描述】:

我使用 Android Studio 构建了一个 Flutter 应用。在 iPhone 模拟器上运行良好。 但是,当我在我的 iPhone 上进行测试时,通过在 Xcode 上打开工作区并在我的 iPhone 连接到我的笔记本电脑的情况下运行它,我收到了这个错误:

用于签署“Runner”的证书已过期或已被吊销。需要更新的证书来签署和安装应用程序。

我不知道在这里做什么。我正在使用免费的苹果开发者帐户。

任何帮助表示赞赏!

【问题讨论】:

    标签: xcode flutter


    【解决方案1】:

    您需要在 Mac 的钥匙串上安装新证书(开发证书)。

    首先进入苹果开发者控制台,然后进入Certificates, Identifiers & Profiles => Certificates => Add Certificate (Plus Button) => Apple Developer Certificate.

    为了生成新证书,您需要从 Mac 的钥匙串助手导出新证书请求,以便能够签署新应用程序。 为此:转到 Keychain Assistant App => Keychain Access => Certificate Assistant => Request a Certificate from a Certificate Authority。 完成生成此新证书请求并将其保存到您的桌面的步骤。

    返回您尝试通过 Apple 门户创建开发者证书的浏览器,然后上传生成的证书请求文件。

    将创建一个新证书,然后下载此证书,然后单击下载的文件,您的 MacOS(取决于任何安全策略)将要求您输入密码以将新证书添加到您的钥匙串中。

    您的 Mac 现在将使用此证书对所有开发人员应用程序进行签名。 请注意,对于生产,您还需要另一个证书(取决于您是上传到 App Store 还是通过 AdHoc 分发)。

    完成所有这些后,在您的 Mac 帐户(通过您的浏览器)上转到应用程序的配置文件,然后选择您的应用程序的配置文件,然后点击 编辑。应该有一个证书部分,请选择所有这些来为您的应用签名。

    完成这一切后,转到 Xcode,然后手动将配置文件下载到您的设备 => 清理 => 重建 => 通过 Flutter 部署。 还请确保从您的钥匙串中删除所有已撤销(过期)的证书(以清理内存库)。

    【讨论】:

    • 谢谢丹,但我被困在你的第一步。由于我使用的是 Apple 开发人员帐户的免费版本,当我尝试转到“证书、标识符和配置文件”部分时,它显示“此资源仅适用于注册开发人员计划的开发人员或组织团队的成员开发者计划。”有什么想法吗??
    • 您需要一个开发者帐户才能执行此操作。我相信 Apple 已经停用了免费配置服务,因此除非您有付费帐户,否则您无法部署到物理设备
    • 我相信它每年花费 99 美元
    • 我有个更好的主意。当您说“用于签署“Runner”的证书已过期或已被吊销。需要更新的证书来签署和安装应用程序“,这意味着其他人已经给了你这个开发者证书并且你将它安装在你的钥匙链。您是否可以问,谁为您生成了证书,创建另一个证书,从他们的钥匙串中导出,然后发送给您,以便您可以将其安装在您的机器上?这样,您将需要自己的 Apple 开发者帐户来进行开发。
    • 但是,如果您使用的新设备当前不存在于开发帐户的设备列表中,您需要向他们发送您的新设备 UUID,该 UUID 可以从设备管理器中找到Xcode。将其发送给他们,他们将注册设备并为您管理证书。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 2011-08-27
    • 2019-06-02
    相关资源
    最近更新 更多