NativeScript权限 - 找不到名称'android'?

时间:2017-12-11 14:59:02

标签: nativescript

我正在使用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

enter image description here

也不是其他IOS对象:

enter image description here

我已经有tns-platform-declarations:

enter image description here

问题:

为什么不识别这些关键字以及如何解决?

package.json

ts.config

2 个答案:

答案 0 :(得分:2)

您应该将tns-platform-declarations模块添加到项目中,这将为您提供本机命名空间,类等的输入,并为此模块提供的内容启用智能感知。

https://www.npmjs.com/package/tns-platform-declarations

答案 1 :(得分:0)

一个简单的答案是将declare var android添加到您调用它的typescript文件(在导入下)的顶部.NativeScript知道在编译后从哪里获取android。