Javascript 如何在手表上获得pebble应用程序的版本?

Javascript 如何在手表上获得pebble应用程序的版本?,javascript,pebble-watch,pebble-sdk,Javascript,Pebble Watch,Pebble Sdk,我想在splashscreen上提供我的pebble应用程序的应用程序版本。但是我怎样才能访问它呢 有没有办法从手表上或JS中的appinfo.json访问信息?我至少需要版本字符串。将应用程序版本转换为C代码的最简单方法是修改wscript以生成包含它的头文件,作为构建过程的一部分 Pebble论坛上的用户pedrolane提供了他的wscript作为示例,您可以在这里找到: 这是文件的内容。generate\u appinfo函数读取appinfo.json,获取版本标签并将其写入gener

我想在splashscreen上提供我的pebble应用程序的应用程序版本。但是我怎样才能访问它呢


有没有办法从手表上或JS中的appinfo.json访问信息?我至少需要版本字符串。

将应用程序版本转换为C代码的最简单方法是修改wscript以生成包含它的头文件,作为构建过程的一部分

Pebble论坛上的用户pedrolane提供了他的wscript作为示例,您可以在这里找到:

这是文件的内容。
generate\u appinfo
函数读取appinfo.json,获取版本标签并将其写入
generated/appinfo.h

import json

top = '.'
out = 'build'

def options(ctx):
    ctx.load('pebble_sdk')

def configure(ctx):
    ctx.load('pebble_sdk')

def build(ctx):
    ctx.load('pebble_sdk')

    def generate_appinfo(task):
        src = task.inputs[0].abspath()
        tgt = task.outputs[0].abspath()

        json_data=open(src)
        data = json.load(json_data)

        f = open(tgt,'w')
        f.write('#ifndef appinfo_h\n')
        f.write('#define appinfo_h\n')
        f.write('#define VERSION_LABEL "' + data["versionLabel"] + '"\n') 
        f.write('#endif\n')
        f.close()

    ctx(
        rule   = generate_appinfo,
        source = 'appinfo.json',
        target = 'generated/appinfo.h',
    )

    ctx.pbl_program(source=ctx.path.ant_glob(['src/**/*.c','generated/**/*.c']),
                includes='generated',
                target='pebble-app.elf')

    ctx.pbl_bundle(elf='pebble-app.elf',
                   js=ctx.path.ant_glob('src/js/**/*.js'))

要使用该值,请包括
appinfo.h
并使用
VERSION\u LABEL
另一个不生成代码的黑客解决方案,请在main.c中添加以下行:

#include "pebble_app_info.h"
extern const PebbleAppInfo __pbl_app_info;
然后,您可以按如下方式获取应用程序的版本:

__pbl_app_info.app_version.major
__pbl_app_info.app_version.minor

首先通过ajax在DOM中加载json文件,然后在js中读取它,即解析它并提取所需的属性,并在需要的地方显示值。