Проблема с Objective- C маршалингом свойства "optionals" в Nativescript - PullRequest
0 голосов
/ 20 февраля 2020

Я создаю плагин NativeScript для iOS, чтобы интегрировать терминал для карточных платежей в качестве внешнего аксессуара. Это почти сделано и работает, но у меня есть проблема с передачей одного аргумента, называемого «опциональным». Это весь код, который я пытаюсь реализовать. Это платёжная система для терминала Miura. http://www.payworks.mpymnt.com/node/143

MPTransactionParameters *tp = [MPTransactionParameters chargeWithAmount:[NSDecimalNumber decimalNumberWithString:@"5.00"]
                                                               currency:MPCurrencyEUR
                                                              optionals:^(id<MPTransactionParametersOptionals>  _Nonnull optionals) {
                                                                  optionals.subject = @"Bouquet of Flowers";
                                                                  optionals.customIdentifier = @"yourReferenceForTheTransaction";
                                                              }];

Я не могу найти способ отправки этой «дополнительной» функции.

В генерируемых метаданных ввода я вижу MPTransactionParametersOptionals является @protocol, но все еще не знает, как использовать его здесь в качестве параметра.

Это мой текущий javascript код для блока

const tp = MPTransactionParameters.chargeWithAmountCurrencyOptionals(
    amount,
    MPCurrencyEUR,
    function (optionals) {
        console.log(optionals); //logs the newly created MPTransactionParameters instance, with set amount and currency properties, but cannot touch or set the optional properties.
    }
  );

3-й параметр chargeWithAmountCurrencyOptionals () должен быть функцией, но я делаю это неправильно и искал везде в Google, как это сделать, но безуспешно. Я уже пытаюсь в течение 2 дней.

Работает, когда 3-й параметр имеет значение NULL, но мне нужно установить дополнительные свойства.

РЕДАКТИРОВАТЬ: добавление метаданных. Для MPtransactionParameters существует множество вариантов ввода, поэтому я решил дать вам весь файл, чтобы вы могли искать.

https://drive.google.com/open?id=1kvDoXtGbCoeCT20b9_t2stc2Qts3VyQx

РЕДАКТИРОВАТЬ 2: Добавление набрав:

https://drive.google.com/open?id=1lZ3ULYHbX7DXdUQMPoZeSfyEZrjItSOS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...