我在 iOS 上的应用内支付方面遇到了困难。当我尝试启动应用程序时,我正在恢复过去的购买,有时我会收到代码为 0 的 SKError(未知错误)。我无法获取可用产品和购买清单。不知道是什么原因导致了错误,我已经为此苦苦挣扎了几天。
重要的是,有时它可以正常工作,有时却不能。安卓版本运行完美。
Xcode:14.2 Flutter版本:3.7.6 Dart版本:2.19.3我正在使用的包和版本:in_app_purchase:^3.1.5
出现问题的设备: iPhone Xs MAX、iOS 16.3.1 iPhone 6s、iOS 15.7.3 iPad Air 2、iOS 15.7.3
这是我在肘内的代码:
import 'dart:async';
import 'dart:io';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:in_app_purchase/in_app_purchase.dart';
part 'payments_state.dart';
class PaymentsCubit extends Cubit<PaymentsState> {
PaymentsCubit()
: super(PaymentsState(
isPremium: null,
avaliable: false,
products: [],
purchases: [],
));
late StreamSubscription subscription;
late InAppPurchase iap;
void start() async {
iap = InAppPurchase.instance;
state.avaliable = await iap.isAvailable();
if (state.avaliable) {
//listener must be declared before get products and purchases calls …Run Code Online (Sandbox Code Playgroud)