Initial commit: iOS OTA app store
This commit is contained in:
36
src/manifest.js
Normal file
36
src/manifest.js
Normal file
@@ -0,0 +1,36 @@
|
||||
const plist = require('plist');
|
||||
|
||||
function generateManifest({ baseUrl, build, app }) {
|
||||
const manifest = {
|
||||
items: [{
|
||||
assets: [
|
||||
{
|
||||
kind: 'software-package',
|
||||
url: `${baseUrl}/api/download/${build.id}`,
|
||||
},
|
||||
],
|
||||
metadata: {
|
||||
'bundle-identifier': app.bundle_id,
|
||||
'bundle-version': build.version,
|
||||
kind: 'software',
|
||||
title: app.name,
|
||||
},
|
||||
}],
|
||||
};
|
||||
|
||||
// Add icon asset if available
|
||||
if (build.icon_filename) {
|
||||
manifest.items[0].assets.push({
|
||||
kind: 'display-image',
|
||||
url: `${baseUrl}/icons/${build.icon_filename}`,
|
||||
});
|
||||
manifest.items[0].assets.push({
|
||||
kind: 'full-size-image',
|
||||
url: `${baseUrl}/icons/${build.icon_filename}`,
|
||||
});
|
||||
}
|
||||
|
||||
return plist.build(manifest);
|
||||
}
|
||||
|
||||
module.exports = { generateManifest };
|
||||
Reference in New Issue
Block a user