flutter - 颤振:sku_details_wrapper.g.dart 中的投射错误
问题描述
我在 Flutter 中遇到了一些麻烦。
flutter doctor -v
输出:
[✓] Flutter (Channel stable, 2.5.1, on macOS 11.6 20G165 darwin-x64, locale en-IT)
• Flutter version 2.5.1 at /Users/me/Developer/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision ffb2ecea52 (6 days ago), 2021-09-17 15:26:33 -0400
• Engine revision b3af521a05
• Dart version 2.14.2
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/me/Library/Android/sdk
• Platform android-30, build-tools 29.0.3
• Java binary at: /Applications/AndroidStudio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 13.0, Build version 13A233
• CocoaPods version 1.11.2
[✓] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.60.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.26.0
[✓] Connected device (1 available)
• SM G930F (mobile) • android-arm64 • Android 8.0.0 (API 26)
• No issues found!
我最近更新并将我的代码迁移到空安全并更新了所有依赖项;in_app_purchase
因为我这样做了,所以我对包版本 1.0.8 ( https://pub.dev/packages/in_app_purchase )有一些问题。
当我在 Android 设备上运行该应用程序(iOS 设备工作)时出现错误:
Unhandled Exception: type 'int' is not a subtype of type 'String?' in type cast
打电话时:
ProductDetailsResponse response = await InAppPurchase.instance.queryProductDetails({'MY_PRODUCT_ID'});
在函数被调用后,VSCode 显示错误发生在sku_details_wrapper.g.dart
文件中,并将 json 转换为SkuDetailsWrapper
:
SkuDetailsWrapper _$SkuDetailsWrapperFromJson(Map json) {
return SkuDetailsWrapper(
description: json['description'] as String? ?? '',
freeTrialPeriod: json['freeTrialPeriod'] as String? ?? '',
introductoryPrice: json['introductoryPrice'] as String? ?? '',
introductoryPriceMicros: json['introductoryPriceAmountMicros'] as String? ?? '',
introductoryPriceCycles: json['introductoryPriceCycles'] as int? ?? 0,
introductoryPricePeriod: json['introductoryPricePeriod'] as String? ?? '',
price: json['price'] as String? ?? '',
priceAmountMicros: json['priceAmountMicros'] as int? ?? 0,
priceCurrencyCode: json['priceCurrencyCode'] as String? ?? '',
priceCurrencySymbol: json['priceCurrencySymbol'] as String? ?? '',
sku: json['sku'] as String? ?? '',
subscriptionPeriod: json['subscriptionPeriod'] as String? ?? '',
title: json['title'] as String? ?? '',
type: const SkuTypeConverter().fromJson(json['type'] as String?),
originalPrice: json['originalPrice'] as String? ?? '',
originalPriceAmountMicros: json['originalPriceAmountMicros'] as int? ?? 0,
);
}
特别是错误行是:
introductoryPriceMicros: json['introductoryPriceAmountMicros'] as String? ?? '',
它尝试将 int ( json['introductoryPriceAmountMicros']
) 转换为 a String?
。
你能帮我吗?我无法在网上找到任何帮助。
解决方案
in_app_purchase 的 1.0.9 版似乎已经解决了这个问题:https ://pub.dev/packages/in_app_purchase
推荐阅读
- python - 将我自己的文件命名为与模块相同的名称后无法导入 Python 模块
- php - Laravel 5.5 通过 gmail 发送电子邮件,从数据库配置
- c++ - 在代码中读取 FILEVERSION 值
- .net - 使用自定义比较设置 ListBox.SelectedItem
- c# - 在实体框架、Webforms 中指定多对多关系
- javascript - 渲染与预渲染 javascript canvas HTML5
- javascript - Qualtrics:选择选项时嵌入数据
- docker - 无法使用领事部署 traefik
- c# - CheckBoxFor - 无法将 lambda 表达式转换为预期的委托类型
- c - printf() 的格式字符串参数后“+1”的效果