如何强制 Flutter 使用新的开发者证书?
Posted
技术标签:
【中文标题】如何强制 Flutter 使用新的开发者证书?【英文标题】:How to force Flutter to use new developer certificate? 【发布时间】:2019-02-14 01:41:57 【问题描述】:我目前正在使用 Flutter 开发一个应用程序。我以前可以直接使用 VS 代码或命令 flutter run
运行代码。自从我撤销了我的开发人员证书并生成了一个新证书后,执行上述选项后,该应用程序在我的 iPhone 上崩溃了。但是,如果我在模拟器上运行它,它会按预期工作。
我怀疑这是由于证书更改所致。 Xcode 说我的应用使用证书 B39****** 签名,而 flutter run
说它使用 578******* 签名
我什至尝试过flutter config --clear-ios-signing-cert
和flutter upgrade
,但它仍然以 578 签名。
如何强制 Flutter 使用新证书签署我的应用程序?目前,这意味着我无法在我的物理设备上使用热重载功能。
【问题讨论】:
我已经从 GitHub 重新下载了我的项目,它似乎正在运行。不过,我仍然想知道未来的正确解决方案。 您可以尝试使用 xcode 打开您的项目并在那里设置证书。我有一个类似的问题,一旦我在 xcode 上打开它,它就会自行修复。 @Serl 这就是我认为我所做的。我撤销了我的证书,从 Xcode 中下载了新证书,选择了个人团队,然后再次选择了主证书。那并没有刷新它。我也尝试过修改其他一些设置。 这确实很奇怪...很高兴您设法通过重新下载它来使其工作。某些 xcode 只需要一个干净的重启或其他东西 @Serl 也许。我也尝试过flutter clean
,以防缓存出现问题。这甚至都行不通。
【参考方案1】:
我认为检查此文件vim ~/.flutter_settings
会很好。
"ios-signing-cert": "Apple Development: XXXX@gmail.com (XXXXXXXX)",
"enable-macos-desktop": true
【讨论】:
这个文件在哪里(我想它在flutter sdk的某个地方但我找不到它)~/.flutter_settings
在我的系统上不存在...它移动了吗?这是在哪里记录的?【参考方案2】:
运行 flutter config
以查看您当前的设置和应用的证书选择。
要根据您可以运行的文档清除选择:
flutter config --clear-ios-signing-cert
.
--clear-ios-signing-cert 清除保存的开发证书选项,用于签署 iOS 设备部署的应用程序。
颤振 2.0.5.
【讨论】:
【参考方案3】:几个月前我遇到了一个非常相似的问题。我花了几个小时,基本上我必须退出然后重新登录 XCode:
XCode->首选项->帐户
完全退出任何帐户,然后使用最新的帐户重新登录。
【讨论】:
【参考方案4】:使用
颤抖干净
在终端中。何时清除所选证书并在您下次运行代码时向您提供选择
【讨论】:
【参考方案5】:我只是通过进入 Xcode 并设置正确的团队来修复它。我想也许 Flutter 确实在某处保存了这些旧默认 c 的文件
【讨论】:
以上是关于如何强制 Flutter 使用新的开发者证书?的主要内容,如果未能解决你的问题,请参考以下文章
如何强制 Xcode 在 General 选项卡下接受我的 Developer ID 证书?
iOS开发者后台添加了新的UDID,如何更新自动管理签名证书的设备描述文件(Provisioning Profiles)?