Плагин Nativescript (IOS) для CardIO - Невозможно вызвать любую функцию в библиотеке CARDIO и не отображается

Мы пытаемся создать плагин nativescript (IOS) для CardIO www.card.io) CardIO (5.4.1):

  1. загружен nativescript-plugin-seed (https://github.com/NathanWalker/nativescript-plugin-seed)
  2. Выполнены все предварительные требования по посевному материалу.
  3. Добавлен podFile в платформу (pod 'CardIO',: git => 'https://github.com/card-io/card.io-iOS-SDK.git ')
  4. Изменен CardIO.ios.ts для вызова функций из библиотеки CardIO.

Pod загружается хорошо. Когда мы проверили проект XCODE, добавлен модуль Cardio, а библиотека и файлы * .h добавлены ХОРОШО.

Когда мы запускаем проект, мы не можем вызывать какие-либо функции библиотеки CardIO. Мы предполагаем, что ни одна из функций в библиотеке не доступна для javascript.

Ошибка JavaScript:

файл: ///app/tns_modules/nativescript-cardio/cardio.js: 3: 57: JS ERROR ReferenceError: не удается найти переменную: CardIOPaymentViewController

Пожалуйста, найдите код на cardio.ios.ts

export var scanCardClicked = function () {
  // var CardIOPaymentViewController=new CardIOPaymentViewController();
    let scanViewController = CardIOPaymentViewController.alloc().initWithPaymentDelegate(this);
    scanViewController.modalPresentationStyle = UIModalPresentationFormSheet;
    this.presentViewControllerAnimatedCompletion(scanViewController, 1, null);
}
class CardIOPaymentViewControllerDelegateImpl extends NSObject implements CardIOPaymentViewControllerDelegate {
  userDidProvideCreditCardInfoInPaymentViewController(info: CardIOCreditCardInfo, paymentViewController: CardIOPaymentViewController)
   {this.dismissViewControllerAnimatedCompletion(1, null);
    //this.infoLabel.test = "Received Card: " + info.redactedCardNumber + "Expiry:" + info.expiryMonth + "/" + info.expiryYear + "CVV:" + info.cvv;
    }
    userDidCancelPaymentViewController(paymentViewController: CardIOPaymentViewController)
     {
        this.dismissViewControllerAnimatedCompletion(1, null);
    }
}

person gjai    schedule 25.04.2017    source источник
comment
Пожалуйста, предоставьте код, чтобы лучше понять вашу проблему   -  person bisma    schedule 25.04.2017


Ответы (1)


Я изучил это сегодня и пришел к выводу, что CardIO в настоящее время не совместим с NativeScript. Это случается не часто, но иногда случается.

Хорошая новость заключается в том, что вы можете взять активы Podfile и самостоятельно создать (в данном случае) статическую структуру, которая может быть легко открыта для NativeScript.

В этом случае есть еще несколько проблем (например, три файла .a вместо одного).

Это слишком много (процедур и кода), чтобы объяснять здесь, поэтому я бы предпочел добавить код в репозиторий GitHub и сделать ссылку на него из этого выпуска.

Не могли бы вы написать мне (eddyverbruggen at gmail dot com), если вам нужна моя помощь?

person Eddy Verbruggen    schedule 25.04.2017
comment
Я отправил электронное письмо на адрес [email protected]. Спасибо за вашу помощь. - person gjai; 27.04.2017
comment
Привет, Эдди, это все еще так в NativeScript 3.3? 3.1 кажется, что это было большим изменением, но я не знаю, повлияло ли оно на такую ​​совместимость. - person Aaron; 27.10.2017