NativeScript iOS 委托转译错误(找不到变量:__metadata)
NativeScript iOS Delegate Transpilation error (Can't find variable: __metadata)
我正在尝试在 NativeScript 插件中实现 iOS 委托,但出现错误:
Terminating app due to uncaught exception 'NativeScript encountered a fatal error: ReferenceError: Can't find variable: __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 行,我会得到一个不同的错误:
Terminating app due to uncaught exception 'NativeScript encountered a fatal error: Error: Protocol "undefined" is not a protocol object.
有什么想法吗?我看过其他示例,例如 nativescript-image-swipe 代码正在转译 w/o __metadata 方法让我认为转译可能有问题
我通过清理打字解决了这个问题。我只是重新 运行 生成类型的命令:TNS_TYPESCRIPT_DECLARATIONS_PATH="$(pwd)/typings" tns build ios
并将它们放在我的插件的 /src 目录中。一旦我的输入正确,项目 运行 就如预期的那样,代表工作了
我正在尝试在 NativeScript 插件中实现 iOS 委托,但出现错误:
Terminating app due to uncaught exception 'NativeScript encountered a fatal error: ReferenceError: Can't find variable: __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 行,我会得到一个不同的错误:
Terminating app due to uncaught exception 'NativeScript encountered a fatal error: Error: Protocol "undefined" is not a protocol object.
有什么想法吗?我看过其他示例,例如 nativescript-image-swipe 代码正在转译 w/o __metadata 方法让我认为转译可能有问题
我通过清理打字解决了这个问题。我只是重新 运行 生成类型的命令:TNS_TYPESCRIPT_DECLARATIONS_PATH="$(pwd)/typings" tns build ios
并将它们放在我的插件的 /src 目录中。一旦我的输入正确,项目 运行 就如预期的那样,代表工作了