在 iOS 中运行颤振应用程序时出错
Posted
技术标签:
【中文标题】在 iOS 中运行颤振应用程序时出错【英文标题】:Getting error while run flutter app in iOS 【发布时间】:2021-11-03 07:22:27 【问题描述】:Launching lib/main.dart on iPhone 12 Pro Max in debug mode...
正在运行 pod 安装... CocoaPods 的输出: ↳ CDN:trunk 相对路径:CocoaPods-version.yml 存在!返回本地,因为检查只在 repo update 中执行
CocoaPods 的错误输出: ↳ 警告:CocoaPods 要求您的终端使用 UTF-8 编码。 考虑将以下内容添加到 ~/.profile:
export LANG=en_US.UTF-8
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/unicode_normalize/normalize.rb:141:in `normalize': Unicode Normalization not appropriate for ASCII-8BIT (Encoding::CompatibilityError)
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/config.rb:166:in `unicode_normalize'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/config.rb:166:in `installation_root'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/config.rb:226:in `podfile_path'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/user_interface/error_report.rb:105:in `markdown_podfile'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/user_interface/error_report.rb:30:in `report'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/command.rb:66:in `report_error'
from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:396:in `handle_exception'
from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:337:in `rescue in run'
from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:324:in `run'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/command.rb:52:in `run'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/bin/pod:55:in `<top (required)>'
from /usr/local/bin/pod:23:in `load'
from /usr/local/bin/pod:23:in `<main>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/unicode_normalize/normalize.rb:141:in `normalize': Unicode Normalization not appropriate for ASCII-8BIT (Encoding::CompatibilityError)
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/config.rb:166:in `unicode_normalize'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/config.rb:166:in `installation_root'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/config.rb:226:in `podfile_path'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/config.rb:205:in `podfile'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/command.rb:160:in `verify_podfile_exists!'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/command/install.rb:46:in `run'
from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/lib/cocoapods/command.rb:52:in `run'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0/bin/pod:55:in `<top (required)>'
from /usr/local/bin/pod:23:in `load'
from /usr/local/bin/pod:23:in `<main>'
运行 pod install 时出错 在 iPhone 12 Pro Max 上启动应用程序时出错。
【问题讨论】:
你可以查看我的答案来解决你的问题 => ***.com/a/68953521/16252358 谢谢@TusharPatel 先生,但我在安装 pod 时遇到了同样的错误? 嘿,你找到解决方案了吗,我也面临同样的错误 这对我有用:flutter clean、删除 /ios/Pods、删除 /iOS/Podfile.lock、flutter build ios。 【参考方案1】:这似乎是 Cocoapods v 1.11.0 中的一种错误/不兼容问题
为了解决这个问题,我按照以下步骤操作,效果非常好:https://***.com/a/69076515/16881741
简而言之,请按照以下步骤操作:
在您的终端中,在 ios 文件夹类型中
gem list --local | grep cocoapods
记下前一个命令的输出。看起来是这样的(请忽略各种条目附近的版本,这是我的输出,我已经使用了 1.10.1 版本):
cocoapods (1.10.1)
cocoapods-core (1.10.1)
cocoapods-deintegrate (1.0.5)
cocoapods-downloader (1.5.1)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.1)
cocoapods-trunk (1.6.0)
cocoapods-try (1.2.0)
-
一个一个,启动命令
sudo gem uninstall X
用 cocoapods 组件的名称替换“X”,不带版本。
最后你应该得到这个:
sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-core
sudo gem uninstall cocoapods-deintegrate
sudo gem uninstall cocoapods-downloader
sudo gem uninstall cocoapods-plugins
sudo gem uninstall cocoapods-search
sudo gem uninstall cocoapods-trunk
sudo gem uninstall cocoapods-try
确保已包含第 n.1 点中列出的所有组件以避免脏状态
-
使用命令
sudo gem install cocoapods -v 1.10.1
获取正确的版本。
向 Esteban Lopez 致敬,我在顶部链接的答案的作者。
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。 感谢您的帮助,我已经在使用 1.11.0 版本,CocoaPods : 1.11.0 Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20] RubyGems:3.0.3 主机:macOS 11.5.2 (20G95) Xcode:12.5.1 (12E507) Git:git 版本 2.23.0 Ruby lib 目录:/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/ lib 存储库:主干 - CDN - cdn.cocoapods.org 请从 1.11.0 降级并使用 1.10.1 版本 非常感谢,这个答案对我有用【参考方案2】:这个问题出现在 Cocoapods 1.11.0 中,许多人已经注意到回滚到 1.10.2 解决了这个问题。但最初的问题来自终端中设置的错误区域设置。它必须是基于 UTF-8 的语言环境。
here 中的第二个答案为我解决了这个问题。
如前所述,只需运行
export LC_ALL=en_US.UTF-8
在您的终端中,错误应该会消失。考虑将此添加到您的 .zshrc
文件中,以便它在每个会话中自动发生。
【讨论】:
这个解决了我的问题【参考方案3】:这对我有用:
flutter clean,
delete /iOS/Pods,
delete /iOS/Podfile.lock,
flutter build ios.
我的 Mac 版本信息:
CocoaPods : 1.11.0
Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]
RubyGems : 3.0.3
Host : macOS 11.5.2 (20G95)
Xcode : 12.5.1 (12E507)
Git : git version 2.23.0
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
Repositories : trunk - CDN - https://cdn.cocoapods.org/
【讨论】:
【参考方案4】:在 VCode 上运行相同的项目,它运行成功,猜想问题出在我的 android Studio 上。
【讨论】:
以上是关于在 iOS 中运行颤振应用程序时出错的主要内容,如果未能解决你的问题,请参考以下文章
处理 Podfile 的安装后挂钩时出错。无法在 iOS 模拟器上运行颤振项目得到 pod 错误