Ошибка переноса делегата NativeScript iOS (переменная не найдена: __metadata) - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь реализовать делегат iOS в плагине NativeScript и получаю сообщение об ошибке:

Завершение приложения из-за необработанного исключения 'NativeScript обнаружил фатальную ошибку: ReferenceError: Не удается найтипеременная: __metadata

Мой оригинальный код:

@ObjCClass(SQRDCheckoutControllerDelegate) export class SquareReader extends NSObject implements SQRDCheckoutControllerDelegate { /* iOS delegate implementation here (source https://docs.connect.squareup.com/payments/readersdk/setup-ios) */ }

И это переносится в js до:

SquareReader = __decorate([ ObjCClass(exports.SQRDCheckoutControllerDelegate), __metadata("design:paramtypes", []) ], SquareReader);

Если я просто удаляю строку __metadata, я получаю другую ошибку:

Завершение приложения из-за необработанного исключения 'NativeScript обнаружил фатальную ошибку: Ошибка: протокол "undefined" не являетсяобъект протокола.

Есть идеи?Я видел другие примеры, такие как nativescript-image-swipe , где код передается без использования метода __metadata, что наводит меня на мысль, что что-то может быть не так с транспиляцией

1 Ответ

0 голосов
/ 19 октября 2018

Я решил это, очистив свои наборы.Я просто перезапустил команду для генерации набранных номеров: TNS_TYPESCRIPT_DECLARATIONS_PATH="$(pwd)/typings" tns build ios и поместил их в мой каталог / src для моего плагина.После того, как я набрал текст правильно, проект запустился так, как ожидалось, и делегат сработал

...