我正在使用Spartadigital NativeScript Permissions
插件
我也做过:
tns plugin add @spartadigital/nativescript-permissions
在ts
文件中:
import {Permissions} from '@spartadigital/nativescript-permissions';
然而,当我跑tns run android
时:我得到:
node_modules/@spartadigital/nativescript-permissions/permissions.android.d.ts(2,37): 错误TS2304:找不到名称'android'。
node_modules/@spartadigital/nativescript-permissions/permissions.android.d.ts(3,34): 错误TS2304:找不到名称'android'。 node_modules/@spartadigital/nativescript-permissions/permissions.ios.d.ts(24,47): 错误TS2552:找不到名称'NSObject'。你的意思是'对象'吗? node_modules/@spartadigital/nativescript-permissions/permissions.ios.d.ts(24,67): 错误TS2304:找不到名称'CLLocationManagerDelegate'。 node_modules/@spartadigital/nativescript-permissions/permissions.ios.d.ts(26,20): 错误TS2304:找不到名称'CLLocationManagerDelegate'。
查看该文件,我发现它不知道android
:
也不是其他IOS对象:
我已经有tns-platform-declarations:
问题:
为什么不识别这些关键字以及如何解决?
答案 0 :(得分:2)
您应该将tns-platform-declarations
模块添加到项目中,这将为您提供本机命名空间,类等的输入,并为此模块提供的内容启用智能感知。
答案 1 :(得分:0)
一个简单的答案是将declare var android
添加到您调用它的typescript文件(在导入下)的顶部.NativeScript知道在编译后从哪里获取android。