app-bundle-info

0.2.2 • Public • Published

app-bundle-info

Build Status

Get information from application bundle files (ipa (iOS) and apk (Android) are currently supported).

iOS

Module is able to parse information from plist and get PNG icon file (currently the file is compressed with xcode).

Android

Module is able to parse information from AndroidManifest and get PNG icon file.

Example

You can get information from file or stream. If you don't know the type of bundle(specially when using streams), use autodetect function.

var AppBundleInfo = require('app-bundle-info')

AppBundleInfo.autodetect(ipaStream,function(err,bundleInfo){
    bundleInfo.loadInfo(function(err,information){

        if (bundleInfo.type == 'ios') {
            assert.equal(bundleInfo.getIdentifier(), information.CFBundleIdentifier)
            assert.equal(bundleInfo.getName(), information.CFBundleDisplayName || information.CFBundleName)
            assert.equal(bundleInfo.getVersionName(), information.CFBundleShortVersionString)
            assert.equal(bundleInfo.getVersionCode(), information.CFBundleVersion)
        } else if (bundleInfo.type == 'android') {
            assert.equal(bundleInfo.getIdentifier(), information.package)
            assert.equal(bundleInfo.getName(), information.package) // TODO: get application icon name
            assert.equal(bundleInfo.getVersionName(), information.versionName)
            assert.equal(bundleInfo.getVersionCode(), information.versionCode)
        }

    });
});

Or you can use OS specific methods directly:

var AppBundleInfo = require('app-bundle-info');
var fs = require('fs');

var bundleInfo = new AppBundleInfo.Android(apkStream)
bundleInfo.getManifest(function(err,manifestData){
    console.log(manifestData.package);
});
bundleInfo.getIcon(function(err,iconStream){
    iconStream.pipe(fs.createWriteStream('icon.png'));
});

Package Sidebar

Install

npm i app-bundle-info

Weekly Downloads

2

Version

0.2.2

License

MIT

Last publish

Collaborators

  • jakub.knejzlik