【问题标题】:How to get the version of a pebble app on the watch?如何在手表上获取 pebble 应用程序的版本?
【发布时间】:2014-02-21 10:26:52
【问题描述】:

我想在其初始屏幕上提供我的 pebble 应用程序的应用程序版本。但是我怎样才能访问它呢?

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

【问题讨论】:

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

标签: javascript pebble-watch pebble-sdk


【解决方案1】:

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

Pebble 论坛上的用户 pedrolane 提供了他的 wscript 作为示例,您可以在此处找到:https://code.google.com/p/pebble-for-gopro/source/browse/wscript?spec=svn8634d98109cb03c30c4dab52e665c4ac548cb20a&r=8634d98109cb03c30c4dab52e665c4ac548cb20a

这是文件的内容。 generate_appinfo 函数读取 appinfo.json,获取 versionLabel 并将其写入 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_LABEL

【讨论】:

    【解决方案2】:

    另一个没有代码生成的 hacky 解决方案,在你的 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-12
      相关资源
      最近更新 更多