【问题标题】:NativeScript iOS Delegate Transpilation error (Can't find variable: __metadata)NativeScript iOS Delegate Transpilation 错误(找不到变量:__metadata)
【发布时间】:2018-10-16 17:58:28
【问题描述】:

我正在尝试在 NativeScript 插件中实现 iOS 委托,但出现错误:

由于未捕获的异常而终止应用程序'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 遇到致命错误:错误:协议“未定义”不是协议对象。

有什么想法吗?我见过像nativescript-image-swipe 这样的其他示例,其中代码在没有 __metadata 方法的情况下被转译,导致我认为转译可能有问题

【问题讨论】:

标签: ios typescript nativescript nativescript-plugin square-reader


【解决方案1】:

我通过清理我的打字解决了这个问题。我只是重新运行命令来生成类型:TNS_TYPESCRIPT_DECLARATIONS_PATH="$(pwd)/typings" tns build ios 并将它们放在我的插件的 /src 目录中。一旦我的输入正确,项目就会按预期运行并且代表工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    相关资源
    最近更新 更多