Flutter運行項目至iOS真機設備時,出現白屏甚至閃退。重新創建項目運行仍無法解決,且不存在於iOS模擬器和Android設備。
錯誤如下:
dyld: Library not loaded: @rpath/Flutter.framework/Flutter
Referenced from: /private/var/containers/Bundle/Application/D902A5BB-7BD6-489B-A28E-7A1CAAFB8244/Runner.app/Runner
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/D902A5BB-7BD6-489B-A28E-7A1CAAFB8244/Runner.app/Frameworks/Flutter.framework/Flutter: code signature invalid for '/private/var/containers/Bundle/Application/D902A5BB-7BD6-489B-A28E-7A1CAAFB8244/Runner.app/Frameworks/Flutter.framework/Flutter'
注意:這個問題並不是由於環境問題或者圖片問題引起的!
官方給出的解答如下:
該錯誤首次出現在iOS 13.3.1中,並已在iOS 13.4 beta 3(17E5241d)中修復。它不是Flutter特有的,它在運行時加載了嵌入式dylib(如Flutter),因此很流行,並且無需Flutter即可進行復制。它不會影響已經分發到App Store的應用程序(意味着:您的客戶沒有遇到此崩潰)。您仍然應該可以將應用程序分發到App Store。
解決方法:
- 在測試設備上安裝Beta配置文件,然後安裝iOS 13.4 beta 3。
- 等待發布iOS 13.4。
- 使用非個人團隊設置配置文件。個人團隊設置配置文件在Xcode構建設置“運行者目標”>“常規”>“簽名和功能”>“團隊”下拉菜單中顯示“個人團隊”。
- 在模擬器中運行。
- 在運行13.3或更低版本的iOS設備上進行測試。
如果您在實施這些變通辦法時需要幫助,請在Stack Overflow或其他幫助論壇上提問。GitHub問題是爲Flutter團隊跟蹤可採取行動的問題,Flutter除了診斷,向Apple報告並跟蹤其進度外,無法解決該錯誤。如果您在iOS 13.4或更高版本上看到類似的崩潰,請提交新的Flutter GitHub問題,以便我們看看。
我將再次鎖定此問題,因此此評論始終停留在底部。我們將使其保持可見狀態,並在iOS 13.4發佈後關閉。