我正在尝试在iOS设备(iPhone XS)上运行新的Flutter应用(由flutter create
创建的示例应用)。
Xcode设法安装它,但是随后崩溃,并显示以下消息:
dyld: Library not loaded: @rpath/Flutter.framework/Flutter
Referenced from: /private/var/containers/Bundle/Application/BA807438-FA5B-4021-B37D-FC437B2C80CA/Runner.app/Runner
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/BA807438-FA5B-4021-B37D-FC437B2C80CA/Runner.app/Frameworks/Flutter.framework/Flutter: code signature invalid for '/private/var/containers/Bundle/Application/BA807438-FA5B-4021-B37D-FC437B2C80CA/Runner.app/Frameworks/Flutter.framework/Flutter'
如果我尝试flutter run
,该应用程序也会打开并崩溃。该命令将永远等待:
$ flutter run
Launching lib/main.dart on Ferran Maylinch’s iPhone in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: 25D86TPBWG
Running Xcode build...
├─Assembling Flutter resources... 4.3s
└─Compiling, linking and signing... 13.3s
Xcode build done. 21.0s
Installing and launching...
(This is taking an unexpectedly long time.) ⢿
你知道我该怎么办吗?我遵循macOS instructions和flutter doctor
的说法,我拥有iOS所需的一切。
在Xcode中,我配置了一个团队(个人团队),并且签名证书(Apple开发证书)似乎还不错。可以肯定的是,我在设备上安装了Hello world Swift项目,因此证书必须正确。
注意:我没有支付Apple Developer Program的帐户。在iOS设备上运行Flutter应用程序是否绝对必要?
flutter doctor
的输出:
[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, locale en-ES)
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
[!] Android Studio (version 3.5)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] IntelliJ IDEA Ultimate Edition (version 2019.3.1)
[!] VS Code (version 1.41.1)
✗ Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[✓] Connected device (1 available)
! Doctor found issues in 3 categories.
如您所见,我使用稳定通道来丢弃Beta通道的问题,但是我通常在Beta通道中工作,以便为Web构建抖动(效果很好)。
答案 0 :(得分:9)
编辑:此问题已在3月24日发布的iOS 13.4上修复。
这是与Flutter不相关的iOS 13.3.1回归。通过创建新的Xcode项目,添加框架目标并选择“个人团队配置”配置文件,我能够在没有任何Flutter或CocoaPods代码的情况下重现崩溃。
请参阅GitHub问题:https://github.com/flutter/flutter/issues/49504#issuecomment-581554697。
该错误不应影响开发人员帐户团队的配置文件或已在App Store上签名并分发的应用。
不幸的是,唯一的解决方法可能是避免在解决此问题之前将开发设备升级到13.3.1。
答案 1 :(得分:4)
据我所知,这是iOS 13.3.1的Flutter兼容性问题。就我而言,我的应用在运行iOS 13.3的iPhone XR上运行正常,但在运行iOS 13.3.1的另一台iPhone XR上启动时崩溃。由于它是相机应用程序,因此无法在模拟器中进行测试,但可以在物理Android设备和Android模拟器上正常工作。
答案 2 :(得分:2)
sudo xcodebuild -license
。pod install
和pod update
如果这不起作用,请转至flutter项目中的ios文件夹,然后双击以打开Runner.xcworkspace。它应该看起来像这样:
打开xcode时,单击左上方的Runner。
然后转到“签名和功能”,然后在“团队”下拉菜单下选择一个字段。如果不存在,请创建一个帐户。
然后在“捆绑包标识符”中,应显示您应用的捆绑包名称。最后添加.app。例如,如果将其“ com.example.yourapp”设为“ com.example.yourapp.app”,然后按Enter。
按左上角的播放按钮可在所选设备上运行该应用。
答案 3 :(得分:2)
您可以一步一步地完成
flutter channel master
flutter upgrade
flutter clean
flutter build ios
答案 4 :(得分:1)
这篇文章不是答案,因为我也在这个问题上苦苦挣扎,因为有一段时间没有修复了,所以写这篇文章
我要提供的是向OP和其他成员提供更多详细信息。 所以我拥有OP所说的一切。
这是我尝试过的:
未创建Podfile(即使在Simulator等上运行后也是如此),这就是为什么我尝试包括Flutter Github的flutter示例应用程序中的一个。
因此,这些步骤将产生:this在Simulator上出错。与物理设备上没有Pod相同的签名错误
从“钥匙串访问”中删除所有证书,并通过Xcode还原它们。
结果:没有任何改变
删除了Xcode,Pod及其相关设置。删除的证书。重启后还原所有内容(全新安装)
结果:同样,也不能使用pod进行构建,也不能提供相同错误
我已将Flutter升级到开发频道(1.14.1),并使用flutter create .
重新构建。有和没有豆荚。还是一样
我还尝试过在所有目标(包括Pod)上将签名从Apple Developer更改为iOS Developer
在此我遇到了一些错误,因为我什至尝试签署Pods-Runner(有一点希望)。但是总体上没有新内容。
当我在iOS 13.3.1 Beta上运行设备时,我将Target升级到13.2(现在最大可用吗?)。
不是
我已启用macOS构建并构建了Mac应用
它按预期运行,一切都很好。
总结:
顺便说一句。一切都在装有Catalina 10.15.3和Xcode 11.3.1的MacBook Pro 13上运行。
每次运行都带有-v标志,并且在构建s期间未在日志中发现任何可疑的东西
再次。很抱歉,如果我在发布此帖子时做错了什么,但由于此帖子很长,我不想重复此问题或建议进行修改,
答案 5 :(得分:0)
尝试通过flutter channel stable
切换到稳定频道,执行flutter upgrade
,然后导航到应用项目并运行flutter run
答案 6 :(得分:0)
只需在Debug模式下运行该应用程序,不需要任何Apple付费帐户。 1)打开该项目的xCode,然后选择设备并在其中运行。
打开该项目的XCode并检查“构建设置”,因为存在FLUTTER_ROOT路径正确,如果没有,请创建flutter根目录并提供路径。
答案 7 :(得分:0)
打开Xcode,然后单击Product -> Clean
或(CMD
-Shift
-K
)。如果这样做不起作用,请尝试执行以下操作:https://macpaw.com/how-to/clear-xcode-cache
如果这还是行不通的,请告诉我。
答案 8 :(得分:0)
您是否选中了此链接,该链接可能会为您提供所需的输出https://github.com/flutter/flutter/issues/16507。 让我知道是否有效 可能是它的签名问题,这篇文章将让您知道发生了什么问题。 谢谢
答案 9 :(得分:0)
这不是理想的解决方案,但以下方法对我有用。
尽管如此,您将无法在调试窗口中看到任何内容,因为该过程在引发错误后终止。在我们获得下一个Xcode更新之前,这不是理想的解决方案,但绝对是一种解决方法。