純Flutter專案iOS真機打包閃退EXC_BAD_ACCESS (SIGKILL - CODESIGNING)

Yarn_逸發表於2019-12-12

前言

最近公司有個小專案準備用Flutter編寫,第一次用Flutter,要踩很多坑,今天準備打iOS Release包就出現問題了。從Archive->Distribute App->Export ipa->install一氣呵成,一開啟app閃退。真機debug一點也沒問題,為什麼打包就有問題,以前幾乎沒碰到過。

原因

必現閃退的問題一般比較好定位,首先檢視crash日誌。

純Flutter專案iOS真機打包閃退EXC_BAD_ACCESS (SIGKILL - CODESIGNING)

EXC_BAD_ACCESS (SIGKILL - CODESIGNING)平時不常見,大致意思是檢測到簽名問題,導致app被殺死了。

猜想1:證書問題?

新建了一個純iOS的專案,使用相同的Bundle ID,證書,打包,安裝,完全沒有問題!

猜想2:Flutter的問題?

新建了一個Flutter專案,使用相同的Bundle ID,證書,打包,安裝,完全沒有問題!

我開啟Flutter中文網上的iOS構建應用看了半天也沒找到問題,都是一些常規操作。我的應用內容也不多,跟新建專案比,多了一些第三方庫,猜想跟這個有關。

解決

在網上搜了很久,也沒有人解答,後來無意間瞄到,iOS打Release包前要

flutter build ios --release
複製程式碼

試了下,果然可以了。

zzz:$ flutter build ios --release
Building com.xxxx.xxxx.xxxx for device (ios-release)...
Automatically signing iOS for device deployment using specified development team in Xcode project: R4GXXXXXMC
Running pod install...                                              3.9s
Running Xcode build...                                                  
                                                   
 ├─Building Dart code...                                         
  159.6s (!)                                       
 ├─Generating dSYM file...                                   0.5s
 ├─Stripping debug symbols...                                0.1s
 ├─Assembling Flutter resources...                           5.0s
 └─Compiling, linking and signing...                        36.2s
Xcode build done.                                           234.5s
Built /Users/xxxx/xxxx/build/ios/iphoneos/Runner.app.
複製程式碼

再打包就正常了,回過頭來在看官方文件iOS構建應用,這麼重要的事情竟然不寫,事實證明是自己粗心大意沒看到,上面寫的好好的,漏掉了- -!

在開發過程中,您一直在構建、除錯、測試debug版本。當您準備將應用釋出到App Store或TestFlight上時,您需要準備release 版本:

在命令列上,在您的應用程式目錄中執行以下步驟:

執行flutter build ios以建立release版本(flutter build預設為--release)
為確保Xcode重新整理release模式配置,關閉並重新開啟Xcode workspace。對於Xcode 8.3和更高版本,這一步不是必需的
複製程式碼

總結

原生iOS開發,一般情況下,debug能在真機上跑,Release打包後也基本是正常的。Flutter為什麼需要這一步,暫時也不清楚,有時間在瞭解。記錄一下這個過程,多提供點關鍵字,給跟我一樣粗心大意的朋友能搜到這個文章看看,少走彎路,我自己是沒搜到。。。

相關文章