iOS17模拟器in_app_purchase自动订阅沙盒重复弹出无购买状态回调
iOS 17.0模拟器中in_app_purchase自动续期订阅异常问题
在iOS 17.0模拟器中使用in_app_purchase包处理自动续期订阅时遇到异常:沙盒支付完成显示“DONE”后,无法在流中收到PurchasedStatus.purchased状态,且沙盒会反复弹出,陷入循环。
已正常工作的功能
- 可从App Store获取订阅产品,实现代码:
Future<void> _getProducts() async { ProductDetailsResponse response = await _iap.queryProductDetails(productIds.toSet()); if (response.notFoundIDs.isNotEmpty) { print('These products were not found: ${response.notFoundIDs.join(', ')}'); } _products = response.productDetails; notifyListeners(); }
- 可打开沙盒并使用Apple App Store沙盒测试账号发起购买,实现代码:
Future<void> buyProduct(ProductDetails product) async { final PurchaseParam purchaseParam = PurchaseParam(productDetails: product); try { await _iap.buyNonConsumable(purchaseParam: purchaseParam); } catch (e) { print("$e"); } }
flutter doctor -v 输出
[✓] Flutter (Channel stable, 3.13.1, on macOS 14.0 23A344 darwin-x64, locale en-GB) • Flutter version 3.13.1 on channel stable at /Users/muhammadhamadjamal/Documents/FlutterDev/sdk/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision e1e4722 (3 months ago), 2023-08-22 21:43:18 -0700 • Engine revision b20183e040 • Dart version 3.1.0 • DevTools version 2.25.0 [✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2) • Android SDK at /Users/muhammadhamadjamal/Library/Android/sdk • Platform android-33, build-tools 33.0.2 • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 15.0) • Xcode at /Applications/Xcode.app/Contents/Developer • Build 15A240d • CocoaPods version 1.13.0 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 2022.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 11.0.15+0-b2043.56-8887301) [✓] VS Code (version 1.84.1) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.76.0 [✓] Connected device (3 available) • iPhone 15 Pro Max (mobile) • DC9EDD04-0B17-4D27-BD2A-966F06BFCF7F • ios • com.apple.CoreSimulator.SimRuntime.iOS-17-0 (simulator) • macOS (desktop) • macos • darwin-x64 • macOS 14.0 23A344 darwin-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 119.0.6045.105 [✓] Network resources • All expected network resources are available. • No issues found!
内容的提问来源于stack exchange,提问作者Muhammad Hamad Jamal
相关产品推荐
相关产品推荐

