如何使用api从angular2 nativescript获取isHealthDataAvailable

时间:2017-06-20 14:26:20

标签: nativescript angular2-nativescript

因为这不是ios HealthKit的本地脚本支持..我正在尝试使用api。

开始我试图为isHealthDataAvailable()获得一个简单的bool:

如何?       声明var NSBundle:any;

require("jsdom").env("", function(err, window) {
    if (err) {
        console.error(err);
        return;
    }

    var $ = require("jquery")(window);
});

这是NativeScript的引用: https://www.nativescript.org/blog/how-to-enable-healthkit-in-your-nativescript-application

  constructor() { 


 if (Platform.isIOS){   
            let healthStore = NSBundle.mainBundle.HKHealthStore();
            let is_avail = healthStore.isHealthDataAvailable();
        }
}

(in promise): TypeError: NSBundle.mainBundle.HKHealthStore is not a function. (In 'NSBundle.mainBundle.HKHealthStore()', 'NSBundle.mainBundle.HKHealthStore' is undefined)

我求求不同......

2 个答案:

答案 0 :(得分:0)

那不是HKHealthStore生活的地方,请查看我对你建议安装平台声明(npm i tns-platform-declarations --save-dev)的其他问题的回答。它将极大地帮助您:nativescript, angular2 and heaththkit - HKHealthStore not found;

要回答这个问题:它应该是HKHealthStore.isHealthDataAvailable(),如下面的屏幕截图所示(这是上述iOS的TypeScript声明的片段:

enter image description here

答案 1 :(得分:0)

您需要使用正确的语法进行数据转换(在Objective-C Apple API和JavaScript之间),如here所述

e.g。

var healthStore = HKHealthStore.new();

详细的逐步解释可以在this blog post

中找到