为我的 flutter 应用程序运行 IOS 模拟器的问题

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

我试图在 IOS 模拟器上运行我的 flutter 应用程序,但它不工作。所以尝试了最基本的 flutter 应用程序(创建 my_app 然后尝试运行它)但似乎没有任何效果! 当我从终端运行它直到链接和签名阶段时,一切似乎都工作正常,我在哪里得到错误,我该如何解决?

这是我得到的错误:

Unable to install
/Users/MyUserName/Desktop/my_app/build/ios/iphonesimulator/Runner.app on
82562E3A-E7BD-4FE0-9BF9-8BB9C7AD5F15. This is sometimes caused by a malformed
plist file:
ProcessException: Process exited abnormally:
An error was encountered processing the command
(domain=IXUserPresentableErrorDomain, code=1):
This app could not be installed at this time.
Could not install at this time.
Failed to transfer ownership of path
/Users/MyUserName/Library/Developer/CoreSimulator/Devices/82562E3A-E7BD-4FE0-9BF9-8B
B9C7AD5F15/data/Containers/Shared/SystemGroup/systemgroup.com.apple.installcoord
inationd/Library/InstallCoordination/PromiseStaging/98CD703F-760F-4AAE-B991-BC2E
82D37D17/my_app.app to installd
Underlying error (domain=MIInstallerErrorDomain, code=103):
    Failed to transfer ownership of path
    /Users/MyUserName/Library/Developer/CoreSimulator/Devices/82562E3A-E7BD-4FE0-9BF9-8
    BB9C7AD5F15/data/Containers/Shared/SystemGroup/systemgroup.com.apple.installcoo
    rdinationd/Library/InstallCoordination/PromiseStaging/98CD703F-760F-4AAE-B991-B
    C2E82D37D17/my_app.app to installd
  Command: /usr/bin/xcrun simctl install 82562E3A-E7BD-4FE0-9BF9-8BB9C7AD5F15
  /Users/MyUserName/Desktop/my_app/build/ios/iphonesimulator/Runner.app
Error launching application on iPhone 11 Pro Max.

编辑: 我更新了我的 MacOS,删除并重新安装了 Xcode,我什至尝试运行最简单的 swift 应用程序,但我总是遇到同样的错误,看起来构建成功但无法安装。我仍然遇到同样的错误,我该怎么办?

ios xcode flutter dart simulator
12个回答
28
投票

这发生在我先打开模拟器然后更新 XCode 时——即使在 XCode 完全更新之前没有运行应用程序。

对我有用的:

  1. 完全关闭模拟器(从扩展坞,右键单击->“退出”)
  2. 关闭 XCode(如果适用)
  3. 奔跑
    flutter clean
  4. 重新打开模拟器
  5. 重新打开 XCode 并让它编译
  6. 再次运行应用程序

如果仍然不起作用,请尝试在模拟器菜单中的“设备”->“清除所有内容和设置...”中重置设备。


7
投票

几天前我遇到了同样的问题

我所做的 - 以及解决问题的方法 - 是重置模拟器(设备 - >清除所有内容和设置),然后运行

$ flutter clean

您现在应该能够再次运行您的应用


3
投票

以上都不适合我。我创建了另一个 flutter 应用程序并将其 ios 文件夹复制到我的项目中。像魅力一样工作


1
投票

节省时间,只需从模拟器中清除设备内容和设置,然后运行 flutter clean。应用程序应该可以正常运行。


1
投票
  1. 运行
    flutter clean
    ,然后再次运行您的应用程序
  2. 如果报错,在Android studio上生成一个新的flutter工程。将 ${projectHome}/ios/Runner.xcodeproj 文件夹替换为 ${newFlutterProjectHome}/iOS/Runner.xcodeproj。您的应用现在应该可以正常运行了。
  3. 如果错误仍然存在,请删除 ios 文件夹并将其替换为从新生成的项目中复制的新文件夹。

1
投票

如果缺少 GoogleService-Info.plist,就会发生这种情况。


1
投票

当您更新 XCode 并且您的模拟器在后台运行时,也会发生这种情况。 关闭模拟器并打开 Xcode,您将获得安装其他工具的选项,安装它们然后运行应用程序。


1
投票

老实说。这对开发者来说真的很令人沮丧

这就是我修复的方式!

flutter clean
flutter pub get
cd ios
rm Podfile.lock
pod repo update
pod install
cd .. 

然后运行应用程序,成功了!


0
投票

另一种解决方案是从 Xcode 运行一次 Runner.xcworkspace 应用程序,这可能会解决它。


0
投票

在我的例子中,这是因为在迁移到新的 Firebase (FlutterFire) 初始化后,在

GoogleService-Info.plist
内挂空的
Xcode
文件。

Xcode
不是常规的拖放式 IDE,它直接将项目文件映射到文件系统中的文件。它宁愿缓存文件引用。所以即使你删除了一个
.plist
文件,
Xcode
仍然保持对它的引用。

只需打开

Xcode
IDE并删除
.plist
文件(依次更新
project.pbxproj
)。这帮助我很好地编译了项目。


0
投票

我最近遇到了同样的问题。我发现我通过 xcode 添加了我的 GoogleService-info.plist 文件到子目录 Runner 而不是主项目目录 Runner 。我再次打开 xcode,删除文件并将其重新添加到正确的位置,现在一切正常。


0
投票
for this you have to give some value in CfBundleVersionShortString like

<key>CFBundleShortVersionString</key> 

<string>1.0</string> 

并将 Runner 中的构建值指定为 1.0,将版本指定为 1.0

enter image description here

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