Я пытаюсь реализовать делегат 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, что заставляет меня думать, что с транспиляцией что-то не так
tns-platform-declarations
в свой плагин - github.com/PeterStaev/nativescript-image-swipe/blob/master/. Дополнительную информацию о том, как его настроить, можно найти здесь - npmjs.com/package/tns -платформы-декларации. - person Nikolay Tsonev   schedule 17.10.2018