【问题标题】:Getting Deprecated methods and warning in RazorPay-Cordova Plugin在 RazorPay-Cordova 插件中获取不推荐使用的方法和警告
【发布时间】:2020-02-25 09:47:37
【问题描述】:

我正在尝试使用 ionic 框架构建 ios 应用程序。我正在使用 razorypay(支付网关)接受付款。

Razorpay 可以在浏览器上正常工作,但是当我尝试使用 ionic cordova build ios 构建它时

在浏览器上正常工作。

任务完成

  1. ionic cordova 平台添加 ios
  2. ionic cordova build ios(收到有关已弃用方法的警告)
  3. 在 Main.m 文件中添加了 RazorPay 的导入指令。
  4. 在浏览器上测试。
import { Component } from '@angular/core';
import { Router } from '@angular/router';

declare var RazorpayCheckout: any;
@Component({
  selector: 'app-razorpay',
  templateUrl: './razorpay.page.html',
  styleUrls: ['./razorpay.page.scss'],
})
export class RazorpayPage {
  amount: number;
  currency = 'INR';
  razorKey = 'somekeyoverhere';
  paymentAmount = this.amount;
  constructor(public router: Router) { }

  payWithRazor() {
    const options = {
      description: 'Credits towards consultation',
      currency: this.currency, // your 3 letter currency code
      key: this.razorKey, // your Key Id from Razorpay dashboard
      amount: this.paymentAmount, // Payment amount in smallest denomiation e.g. cents for USD
      name: 'Techmave Solutions',
      prefill: {
        email: 'yash@techmavesolution.com',
        contact: '9561555479',
        name: 'Enappd'
      },
      theme: {
        color: '#F37254'
      },
      modal: {
        ondismiss: () => {
          alert('dismissed');
          this.goToResponseError();
        }
      }
    };

    const successCallback = paymentId => {
      this.goToResponseSuccess(paymentId);
    };

    const cancelCallback = error => {
      // alert(error.description + ' (Error ' + error.code + ')');
     // this.goToResponseError(error.code);
    };

    RazorpayCheckout.open(options, successCallback, cancelCallback);
  }

    goToResponseSuccess(paymentId) {
      this.router.navigate(['/response', paymentId]);
    }

    goToResponseError() {
      this.router.navigate(['/response']);
    }
}

我收到如下所示的警告。


/Users/yashtalegaonkar/Desktop/ionic-code/myapp/platforms/ios/MyApp/Plugins/com.razorpay.cordova/Razorpay/Main.m:28:1: warning: 

      implementing deprecated method [-Wdeprecated-implementations]
- (void)onPaymentError:(int)code
^

In module '
Razorpay
' imported from 
/Users/yashtalegaonkar/Desktop/ionic-code/myapp/platforms/ios/MyApp/Plugins/com.razorpay.cordova/Razorpay/Main.h
:
2
:

MyApp/Plugins/com.razorpay.cordova/Razorpay.framework/Headers/Razorpay-Swift.h
:
275
:
1
:
 note: method


'onPaymentError:description:andData:'

declared

here

- (void)onPaymentError:(int32_t)code description:(NSString * _Nonnull)str andData:(NSDictionary * _Nullable)response SW...


^


/Users/yashtalegaonkar/Desktop/ionic-code/myapp/platforms/ios/MyApp/Plugins/com.razorpay.cordova/Razorpay/Main.m:10:17: warning: 

class 'Main' does not conform to protocol 'ExternalWalletSelectionProtocol' [-Wprotocol]
@implementation Main


                ^


/Users/yashtalegaonkar/Desktop/ionic-code/myapp/platforms/ios/MyApp/Plugins/com.razorpay.cordova/Razorpay/Main.m:10:17: note: 
      add stubs for missing protocol requirements
@implementation Main
                ^

2 warnings generated.

【问题讨论】:

    标签: angular ionic-framework cordova-plugins ionic4 razorpay


    【解决方案1】:

    警告是因为cordova和razorpay中的代码已弃用,因此它会输出警告。

    警告不会成为运行或部署应用程序的问题,因为我已经对其进行了研究。 Cordova 有多个不推荐使用的方法,因此它可以帮助我们在较低版本的 iOS (9^) 上运行。

    我遵循的步骤

    启用 Bitcode
    Cordova 的嵌入库
    嵌入 Razorpay 框架

    【讨论】:

      猜你喜欢
      • 2021-09-29
      • 2015-10-26
      • 2014-04-27
      • 2017-03-01
      • 2020-01-31
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 2011-08-02
      相关资源
      最近更新 更多