我怎么知道我的Cordova应用程序是哪个版本的?我需要该信息才能在"关于"屏幕中显示.
是否可以读取config.xml并获取我已在此文件中维护的版本字符串?
<widget ... version="0.0.1" ...
Run Code Online (Sandbox Code Playgroud)
我想有一个解决方案,我不必在代码中的几个地方维护应用程序的版本号.此外,我不想为此目的插件,因为大多数插件不支持Android,iOS和浏览器作为平台.
或者我是否忽略了核心插件属性?
或者有一个解决方案,我维护一个文件,这不是config.xml,并且config.xml从该文件获取版本信息?
您是如何在应用程序的屏幕上实现"显示版本信息"的?任何提示都表示赞赏.
我的Cordova版本是:
>cordova -v
4.2.0
Run Code Online (Sandbox Code Playgroud) 我检查了我的存储库,但有一个文件名太长的文件:
~/git$ git clone git+ssh://server/git/ma.git
Initialized empty Git repository in ~/git/ma/.git/
remote: Counting objects: 1855, done.
remote: Compressing objects: 100% (1594/1594), done.
remote: Total 1855 (delta 656), reused 1078 (delta 222)
Receiving objects: 100% (1855/1855), 54.14 MiB | 701 KiB/s, done.
Resolving deltas: 100% (656/656), done.
error: git checkout-index: unable to create file four_folder/$VERYLONGNAME.pdf (File name too long)
Run Code Online (Sandbox Code Playgroud)
$ VERYLONGNAME约有160个字符.我的文件系统在Ubuntu 10.10上是ext4.
任何人都可以帮我查看长文件吗?
我在我的Ubuntu(i686)上使用gcc版本4.3.3.我写了一个精简测试程序来描述我缺乏理解和我的问题.程序应该告诉我我实现的结构的大小.所以我有一个typedef结构的消息和一点点主要打转转:
#include <stdio.h>
typedef struct {
int size;
enum {token=0x123456};
} Message;
int main(int argc, char * argv[])
{
Message m;
m.size = 30;
printf("sizeof(int): %d\n",sizeof(int));
printf("sizeof(0x123456): %d\n",sizeof(0x123456));
printf("sizeof(Message): %d\n",sizeof(Message));
printf("sizeof(m): %d\n",sizeof(m));
}
Run Code Online (Sandbox Code Playgroud)
在使用gcc编译此源代码时,我收到以下警告,我不明白:
$ gcc sizeof.c
sizeof.c:5: warning: declaration does not declare anything
Run Code Online (Sandbox Code Playgroud)
第5行指的是枚举线.我希望在我创建的每条消息中都有该令牌.我究竟做错了什么?为了摆脱那个警告我需要改变什么?
我的主要包含几个sizeof()调用.当我运行程序时,您可以在输出中看到整数的大小为4,十六进制数的大小为4,但typedef结构消息的大小也是4:
$ ./a.out
sizeof(int): 4
sizeof(0x123456): 4
sizeof(Message): 4
sizeof(m): 4
Run Code Online (Sandbox Code Playgroud)
这对我来说非常困惑.为什么Message的大小为4,虽然它包含一个整数和一个枚举中的整数,每个大小为4.如果sizeof(Message)至少为8,那对我来说是合乎逻辑的.
但为什么只有4?如何获取消息字节的实际大小?或者这真的是真正的大小?如果是这样,为什么?
在C和C++之间获取Message的大小有什么不同吗?