1.引入插件
cordova plugin add cordova-plugin-app-version
会自动在工程中加入本地化的文件
#import <Cordova/CDVPlugin.h>
@interface AppVersion : CDVPlugin
- (void)getAppName:(CDVInvokedUrlCommand*)command;
- (void)getPackageName:(CDVInvokedUrlCommand*)command;
- (void)getVersionNumber:(CDVInvokedUrlCommand*)command;
- (void)getVersionCode:(CDVInvokedUrlCommand*)command;
@end
#import "AppVersion.h"
#import <Cordova/CDVPluginResult.h>
@implementation AppVersion
- (void)getAppName : (CDVInvokedUrlCommand *)command
{
NSString * callbackId = command.callbackId;
NSString * version =[[[NSBundle mainBundle]infoDictionary]objectForKey :@"CFBundleDisplayName"];
CDVPluginResult * pluginResult =[CDVPluginResult resultWithStatus : CDVCommandStatus_OK messageAsString : version];
[self.commandDelegate sendPluginResult : pluginResult callbackId : callbackId];
}
- (void)getPackageName:(CDVInvokedUrlCommand*)command
{
NSString* callbackId = command.callbackId;
NSString* packageName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"];
CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:packageName];
[self.commandDelegate sendPluginResult:pluginResult callbackId:callbackId];
}
- (void)getVersionNumber:(CDVInvokedUrlCommand*)command
{
NSString* callbackId = command.callbackId;
NSString* version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
if (version == nil) {
NSLog(@"CFBundleShortVersionString was nil, attempting CFBundleVersion");
version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
if (version == nil) {
NSLog(@"CFBundleVersion was also nil, giving up");
// not calling error callback here to maintain backward compatibility
}
}
CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:version];
[self.commandDelegate sendPluginResult:pluginResult callbackId:callbackId];
}
- (void)getVersionCode:(CDVInvokedUrlCommand*)command
{
NSString* callbackId = command.callbackId;
NSString* version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:version];
[self.commandDelegate sendPluginResult:pluginResult callbackId:callbackId];
}
@end
2.在h5中调用本地插件接口
<!DOCTYPE html>
<html>
<head>
<title>Device Ready Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
alert("onDeviceReady");
cordova.getAppVersion.getVersionNumber().then(function(version){
alert(version);
});
}
</script>
</head>
<body onload="onLoad()">
</body>
</html>
android部分参考下面链接