[英]Flutter Firebase app runs fine in simulator but crashes when tested in testflight
[英]Flutter cast runs in development but crashes in production
在調試期間,在我的本地 flutter 環境中允許將 null 轉換為字符串。 但是,當部署到生產環境時,相同的類型轉換將被視為崩潰異常。
代碼可以翻譯成如下:
final dynamic test = null as String;
print(test);
實際代碼由 json_serializable package ( https://pub.dev/packages/json_serializable ) 生成,因此交替代碼本身是不可能的。
我的本地環境通過flutter醫生描述:本地flutter環境
生產崩潰可以在Dartpad中模擬https://dartpad.dev/?channel=old
環境有什么不同? 我希望開發環境拋出錯誤,所以它在被推送到生產 state 之前被發現並修復。
我試過將生產環境與開發環境進行比較,但沒有發現可以解釋該行為的主要區別。
as
不是使用.toString()
final dynamic test = null.toString();
同時也使用變量,
final String data = "${model.filed}";
正如 jamesdlin 在評論中指出的那樣,客戶端不應該信任服務器提供可靠的數據。 實施客戶端空檢查和回退使客戶端更具彈性。
因此,所有使用 json_serializable 聲明的字段都應該標記為可為空。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.