XCode 14/Flutter 3.75 的协同设计问题

问题描述 投票:0回答:2

构建面向 iOS 的 Flutter 应用程序时遇到困难。这个问题突然出现。开发周期中唯一大的区别是帐户所有者必须接受 Apple 开发者门户中的新条款。同事仍然可以构建应用程序并发布到 TestFlight 的版本,但他们在此期间没有积极开发。这显然是“我”的问题。

在任何类型的构建过程中报告的问题:

无法使用身份 REDACTEDABC123YOUANDME 共同设计 /ugly-path-to-app

我尝试过但不起作用的事情。

  • 通过 CLI 和 xcode 清理了构建。
  • 手动下载证书
  • 撤销并重新颁发证书
  • 重新启动
  • 授予对钥匙串中所有密钥的访问权限(将撤消此操作)。
  • 烧香时逆时针单脚跳。

我不认为证书或访问它们是问题。获取身份

REDACTEDABC123YOUANDME
并使用以下命令在命令行上使用它:

codesign --force --sign REDACTEDABC123YOUANDME test.txt

并且没有钥匙串提示。反复运行命令告诉我文件已被撤销,并将身份更改为无效的内容,当然会失败。

这里不知所措,没有尝试卸载并重新安装 xcode 来解决这个问题,我不知道还能尝试什么。

在标题中,但是:

xcode 14.2
Flutter 3.7.5 • 通道稳定 • https://github.com/flutter/flutter.git
框架 • 修订版 c07f788888(4 个月前) • 2023-02-22 17:52:33 -0600
引擎 • 修订版 0f359063c4
工具 • Dart 2.19.2 • DevTools 2.20.1

Flutter doctor 输出: 医生摘要(要查看所有详细信息,请运行 flutter doctor -v):

[✓] Flutter(频道稳定,3.7.5,在 macOS 12.6.3 21G419 darwin-arm64,区域设置 en-US)
[✓] Android 工具链 - 为 Android 设备开发(Android SDK 版本 31.0.0)
[✓] Xcode - 为 iOS 和 macOS 开发 (Xcode 14.2)
[✓] Chrome - 为网络开发
[✓] Android Studio(版本2022.1)
[✓] IntelliJ IDEA 社区版(版本 2023.1)
[✓] VS Code(版本 1.79.2)
[✓] 连接的设备(3 个可用) [✓] HTTP 主机可用性

我可以根据需要提供更多信息,但到目前为止我有点陷入困境。

ios flutter xcode code-signing
2个回答
0
投票

好的,12 小时后它就基本恢复正常了。我两次执行了以下步骤,但第二次成功了,但我将在这里列举它们。如果这对某人有帮助,请告诉我,我会接受我自己的答案。如果有人可以解释或确认 MacOS 和 XCode 做了某种形式的证书缓存,我错过了(这将是唯一有意义的事情,因为步骤是相同的)。

  • 清理了 Xcode 中的构建
  • 在 XCode 首选项中,注销 Apple 开发者帐户
  • 退出 xcode
  • 从运行的 CLI 中清理了构建
    flutter clean
  • 执行了一个步骤来否定上述操作,并将项目移动到一个新目录(如果它位于名为“project-name”的文件夹中,则新文件夹为“project-name.old”
  • 从 Xcode 中删除了 DerivedData 文件夹(通常位于
    rm -rf ~/Library/Developer/Xcode/DerivedData
  • 登录开发者控制台并撤销分发和开发证书
  • 重新启动计算机
  • 为项目创建一个同名的文件夹(因为作为大多数开发人员,我不想在不经过“最近打开”的情况下打开它,您可以按照自己的意愿进行操作)。
  • 将项目克隆到新文件夹中
  • 在项目根目录中,从 CLI 执行
    flutter pub get
  • 仍然在 CLI 中,更改为
    ios
    目录并运行 pod install。
  • 推出XCode
  • 进入 XCode Preferences 并登录开发者帐户
  • 为项目重新颁发证书。

此时,一切可能都已修复,但我再次运行了以下步骤。

  • 返回 CLI 并使用
    flutter build ios --debug --flavor=Runner
  • 构建项目
  • 成功构建后,返回XCode,启动模拟器,并以模拟器作为项目连接启动项目。代码设计在这里也发挥了作用。
  • 更改为arm64目标并构建了一个存档——此时仍然有效。
  • 将组织者的存档分发到 Testflight
  • 成功

现在,这些又是我之前运行过两次的相同步骤,对我来说,唯一有意义的是,有一个维护窗口,在这个维护窗口中,我在完全错误的时间执行了某些特定操作,这使我陷入了这种困境。 -人类的土地。当然,还有另一种选择,那就是完全发生了其他事情。

无论如何,我不喜欢刚刚开始工作的东西,所以如果有人有任何想法,请告诉我你认为它们是什么。

如果这对任何人有帮助,也请告诉我。


0
投票

@andymeadowns这个问题相信与这个堆栈有关。我遇到了同样的问题,并修复了在外部磁盘上构建项目而无需云备份的情况。

https://stackoverflow.com/users/78429/andymeadows

© www.soinside.com 2019 - 2024. All rights reserved.