集成Razorpay后iOS构建报错:Error running pod install
Flutter集成Razorpay后iOS端pod install报错:undefined method `map' for nil:NilClass
问题详情
集成Razorpay支付插件并完成info.plist配置后,iOS端无法启动应用,执行pod install时抛出以下错误:
Error output from CocoaPods: ↳ Searching for inspections failed: undefined method `map' for nil:NilClass Error running pod install Error launching application on iPhone 13 Pro.
已尝试flutter clean操作,问题未解决。新增的Razorpay相关业务代码如下:
Razorpay razorpay = Razorpay(); @override void initState() { razorpay.on(Razorpay.EVENT_PAYMENT_SUCCESS, _handlePaymentSuccess); razorpay.on(Razorpay.EVENT_PAYMENT_ERROR, _handlePaymentError); razorpay.on(Razorpay.EVENT_EXTERNAL_WALLET, _handleExternalWallet); super.initState(); } void _handlePaymentSuccess(PaymentSuccessResponse response) { Navigator.push( context, MaterialPageRoute( builder: (context) => OrderResultScreen(result: 'Order Sucessfull'))); } void _handlePaymentError(PaymentFailureResponse response) { Navigator.push( context, MaterialPageRoute( builder: (context) => OrderResultScreen(result: 'Payment Failed. Please try again'))); } void _handleExternalWallet(ExternalWalletResponse response) { Navigator.push( context, MaterialPageRoute( builder: (context) => OrderResultScreen(result: 'Order....'))); } @override void dispose() { razorpay.clear(); super.dispose(); } Map orderDetails = { "id": "rzp_test_86Qc8y8X0jtLa0", "entity": "order", "amount": 50000, "amount_paid": 0, "amount_due": 50000, "currency": "INR", "receipt": "rcptid_11", "status": "created", "attempts": 0, "notes": [], "created_at": 1566986570 };
解决步骤
1. 升级CocoaPods版本
该报错多由CocoaPods版本兼容性问题导致,先升级到最新稳定版:
# 通过RubyGems升级 sudo gem install cocoapods # 或通过Homebrew升级(若使用Homebrew管理) brew upgrade cocoapods
2. 彻底清理iOS端依赖并重装
进入项目iOS目录,执行以下命令清理缓存并重新安装Pods:
cd ios pod deintegrate pod clean rm Podfile.lock pod install
回到项目根目录后重新运行应用:
flutter run
3. 确认Razorpay插件版本兼容
检查pubspec.yaml中razorpay_flutter的版本,确保使用最新稳定版:
dependencies: razorpay_flutter: ^1.3.5 # 替换为当前最新兼容版本
执行flutter pub get拉取最新依赖后,重复步骤2的Pods重装操作。
4. 验证info.plist配置正确性
确认info.plist中已添加Razorpay所需配置,且无格式错误:
- 在
LSApplicationQueriesSchemes数组中添加razorpay - 检查配置项的括号、逗号是否匹配,无语法错误
5. 检查Xcode项目部署配置
打开ios/Runner.xcworkspace,确认:
- 项目Deployment Target不低于iOS 10.0(Razorpay最低要求)
- Pods项目的Deployment Target与主项目保持一致
内容的提问来源于stack exchange,提问作者Rahul Dua
相关产品推荐
相关产品推荐

