News
-
The Apple Developer Enterprise Program allows you to distribute your app without going through the Apple App Store. It’s massively beneficial for developers, providing an easier workflow and greater control while developing their apps.
The program allows you to bypass a lot of the usual barriers. Through it, you avoid the app approval process, and you don’t need to follow all the rules of the App Store. You’ll be able to update your app more quickly and save a lot of time and frustration, letting you spend more time working on your app. You’ll also gain more control over your app and will be allowed greater control over who is using it.
Some of the primary requirements for the program are:
- Your company needs to have over 100 employees.
- Only employees can have the app distributed to them.
- Acceptance by Apple into their Enterprise Program ($299/yr).
These are the main ones, but you can find the full list of requirements here.
Once you’re accepted, you’ll need an Enterprise Plan for VoltBuilder. You can contact us to get one here. Getting set up is easy, and we’ll ensure that the plan is suited to your unique needs.
How to make an Enterprise Build
Making an Enterprise build is just like a regular build. Make sure you have these lines in your
voltbuilder.json
file:"iosPackageType": "enterprise", "release": "release",
The build will return an ipa file, which you can then distribute to your users.
How to distribute an Enterprise Build
There are two ways to distribute an Enterprise build. You can host it on your own systems, or VoltBuilder can do the hosting for you.
If you choose to host it yourself, you will need to put it on a website, along with a plist file which will let Safari (on the device) know that it is a valid ipa and can be downloaded and installed on the device.
However, it’s easier to let VoltBuilder do the hosting since there won’t be any further steps afor you to deploy the app. You’ll simply give your users the URL or QR Code of the app that VoltBuilder returns with the build. Then they can install directly from the VoltBuilder servers as soon as the build is complete. The new build will have the same URL, so you don’t need to send a new link each time you build.
Screenshot with the QR code and URL to download. Sample only - will not work.
To enable hosting, add a
hosting_id
to yourvoltbuilder.json
. You can read more information about hosting here. -
Celebrating Another Year of VoltBuilder!
30 Dec 2022Thank you all for being a part of VoltBuilder in 2022! As the year comes to a close, we wanted to reflect on everything that’s happened here this year. We’ve rolled out new features, improved existing services, and made sure that we’re diligently staying up to date on the latest requirements and standards for the different app stores.
Here are a few of the things we’ve done over the year:
- We’ve rolled out support for the latest versions of Xcode 14 and Android 12 to support new Google Play and App Store requirements. It’s important to us to make sure you can build the most up to date apps as soon as possible, so we’re always keeping an eye out!
- We now support Capacitor jobs in addition to Cordova.
- We’ve added several quality of life enhancements for our users including controlling the verbosity of logs and clarifying many confusing error messages.
- We’ve worked hard to increase the speed of builds, and are continuing to do so. We’ve improved the speed of VoltBuilder by leaps and bounds this year, and hopefully you’ve been noticing the difference! There’s still room to improve though, so we’ll keep working to make our service as efficient as possible.
- We have improved the security of isolation of our already secure build environment. We know that security is one of the most valuable things for you, so we’re constantly working to make sure your data is safe and private.
- We’ve rolled out new features including Cordova hook support for Pro and Enterprise plans as well as unlimited plugins for Enterprise plans. There are more plans for added functionality in the future, so keep an eye out!
- Finally, we’ve done all this while maintaining 99.956% overall uptime!
It’s been an exciting year for us and we’ve been able to bring a lot more to our users. We’re going to have lots in store for you in 2023 as well! We’ll be continuing to upgrade the experience of using VoltBuilder for both our paying and free customers, while still making sure to provide you with the best support we can.
Of course, while we have a lot we want to do, we want to know if there’s anything that you want to see us bring to you in the future. We have our own ideas for how to improve our service, but we want to know if there’s something you’d really like from us. Keep an eye on your inbox in January for a link to a survey asking for your suggestions (or you can email support@voltbuilder.com if you have a suggestion/request now)!
Thank you for using VoltBuilder this year. Let’s make it a great 2023!
-
iOS Xcode 14 and Push Notifications (Updated)
12 Dec 2022UPDATE: Dec 8, 2022 The problems have been resolved. Updates have been made to the affected plugins. Xcode 14 is working for all jobs now - let us know if you are still having problems.**
On September 18th, a few days after its release, the VoltBuilder iOS servers were updated to use Xcode 14.
The new Xcode release has been working well, with the exception of some plugins which enable Push Notifications. These plugins are complex and may need updates from their maintainers.
If you are using Push Notifications, we’d love to hear from you. If your project is working fine, that is helpful information for us. If not, we have set up a special server to build using Xcode 13.
Please email us at support@voltbuilder.com if you’re using Push Notifications. If you’re having problems, we’ll get you going on the Xcode 13 server.
Notes on cordova-plugin-firebasex (Updated)
The maintainer of this plugin has released an update for Xcode 14. Here’s the correct code for your config.xml file:
<plugin name="cordova-plugin-firebasex" spec="^16.0.0" > <variable name="IOS_STRIP_DEBUG" value="true" /> <variable name="FIREBASE_ANALYTICS_COLLECTION_ENABLED" value="false" /> <variable name="FIREBASE_PERFORMANCE_COLLECTION_ENABLED" value="false" /> <variable name="FIREBASE_CRASHLYTICS_COLLECTION_ENABLED" value="false" /> <variable name="SETUP_RECAPTCHA_VERIFICATION" value="true" /> <variable name="ANDROID_ICON_ACCENT" value="#FF11FF11" /> <variable name="ANDROID_FIREBASE_PERFORMANCE_MONITORING" value="false" /> <variable name="FIREBASE_FCM_AUTOINIT_ENABLED" value="false" /> <variable name="IOS_ENABLE_APPLE_SIGNIN" value="true" /> <variable name="IOS_USE_PRECOMPILED_FIRESTORE_POD" value="false" /> </plugin>
-
Hooks are now supported
24 Nov 2022Hooks are special scripts which you can add to the build process of your app. They are available to Pro and Enterprise Plans.
Hooks allow you to perform special activities around Cordova commands. For example, you may have a custom tool that checks for code formatting in your JavaScript files which you would like to run before every build. In such a case, you could use a
before_build
hook and add a line toconfig.xml
to run it before every build.Hooks may also be required by plugins. VoltBuilder will now process these as well.
Complete documentation is here.
-
New verbose Flag Controls Log Output
06 Oct 2022VoltBuilder produces a log of each run, which gives all the messages for each step. If the build fails, it automatically does an analysis of the log and reports the most serious error message.
We’ve found in most cases, that message is enough so that the issue can be resolved. The full log is not needed.
VoltBuilder now has a new flag in voltbuilder.json which can be used to control the amount of log output. If set to true, the full output of the build is output to the log. If set to
false
, dramatically less output is produced."verbose": true
We’ll be leaving the default setting to show the verbose log until Oct 15, 2022. After that, the default will be the shorter log. Use this flag to see the full log.
-
VoltBuilder supports Xcode 14.0 and iOS 16.0
19 Sep 2022The VoltBuilder servers are now using Xcode 14.0, the latest update from Apple. This allows you to build apps for iOS 16.0, which was released last week.
You don’t need to make any changes to your project to use the new release: all VoltBuilder jobs are now processed using it.
Before we went live with the new release, we tested by processing most of an entire day of iOS builds. They executed cleanly, with the same results as Xcode 13.4. We don’t anticipate any problems for you with the new release, but please let is know if you spot anything.
The last version of Xcode supported by PhoneGap Build was 9.2.
What’s New in Xcode 14.0
Xcode 14 includes Swift 5.7 and SDKs for iOS 16, iPadOS 16, tvOS 16, watchOS 9, and macOS Monterey 12.3. The Xcode 14 release supports on-device debugging in iOS 11 and later, tvOS 11 and later, and watchOS 4 and later. Xcode 14 requires a Mac running macOS Monterey 12.5 or later.
VoltBuilder provides a high level interface to Xcode, so you don’t have get involved with its installation, complexity and features. We run it on servers with all the latest Apple software, continuously updated.
What’s New in iOS 16.0
iOS 16.0 has a number of new features, described in Apple’s Release Notes.
The builds you make with VoltBuilder will conform to Apple’s latest guidelines for security and App Store approval.
There is more information on the features and supported devices in this article.
-
iOS Jobs Now Build Much Faster
14 Sep 2022iOS jobs now build, on average, almost a minute faster.
We found some ways to optimize how we use the servers, plus we increased the number of cores. We tested the changes carefully and they are solid.
There is no change in features supported or reduction in security.
-
VoltBuilder Now Supports Unlimited Plugins
07 Sep 2022Until now, you could only use plugins on the list of approved plugins. With over 1300 plugins listed, almost any plugin could be used. After approval, new ones can be added.
We’ve enhanced VoltBuilder so it can use any valid plugin. If you’re on the Enterprise Plan, don’t worry if your plugin is approved or set up in NPM. You can load any plugin directly from GitHub, from a website or keep them right in your project.
You can now load plugins from the following places:
- Directly from NPM (approved or not)
- Directly from a Github repo - no need to set up in NPM.
- Directly from a website
- From a folder on your website
- From a local folder on your computer
This allows you to use plugins which are not published publicly - if you have some proprietary code, it’s no longer a problem.
-
Building for Android 12
29 Aug 2022VoltBuilder can now build for Android 12. You may need to make changes to your project to be compatible with it and the Google Play Store.
Building for the Android 12 is important if you want your app to be accepting in the Google Play Store. Android 12 compatibility is required for all new apps now. After November 22, it will be required for updates to existing apps.
-
VoltBuilder for Capacitor is Now in Beta!
13 Aug 2022Our Capacitor Beta is now open to all. Jobs created using Capacitor can be submitted to VoltBuilder, which will return native apps for Android and iOS. VoltBuilder can also take care of submitting to the Google Play and iTunes App Store.
If you are building for iOS, you will not need a Mac for any part of the process - VoltBuilder will do it all in the cloud for you.
VoltBuilder is a fast, cost effective way to build Capacitor jobs.
To integrate VoltBuilder into your work flow, you can use the API.
Compared to AppFlow, VoltBuilder offers higher security and is more cost effective. Here is a Migration Guide.
-
Are Your Plugins Out of Date?
13 Jul 2022We’ve quietly introduced a new feature - outdated plugin checking. It appears at the end of the log on jobs which fail:
Package Current Wanted Latest Location cordova-android 9.1.0 9.1.0 10.1.2 node_modules/cordova-android cordova-plugin-camera 5.0.3 5.0.3 6.0.0 node_modules/cordova-plugin-camera cordova-plugin-file 6.0.2 6.0.2 7.0.0 node_modules/cordova-plugin-file cordova-plugin-media 5.0.4 5.0.4 6.0.0 node_modules/cordova-plugin-media cordova-plugin-media-capture 3.0.3 3.0.3 4.0.0 node_modules/cordova-plugin-media-capture
In the above example, 5 plugins are using outdated versions. This can cause a variety of problems - it’s good practice to keep your plugins up to date.
To fix this, look at your config.xml file. The version of the plugin used depends on two things:
- What version did you set the plugin spec to?
- What is the highest version the engine you have selected can use?
In this example, the camera plugin is declared in config,xml without a version:
<plugin name="cordova-plugin-camera" source="npm" />
Which means use the latest supported version. To explicitly set the version (it’s good practice), do the following:
<plugin name="cordova-plugin-camera" source="npm" spec="5.0.3" />
So why it is using 5.0.3 instead of 6.0.0? It’s due to this line:
Package Current Wanted Latest cordova-android 9.1.0 9.1.0 10.1.2
The project is using an old version of the Android engine (9.1.0), which does not support version 6 of cordova-plugin-camera.
You should update your project to the current version of the engine. The other outdated packages will then be updated automatically.
-
VoltBuilder supports Xcode 13.4 and iOS 15.5
27 May 2022The VoltBuilder servers are now using Xcode 13.4, the latest update from Apple. This allows you to build apps for iOS 15.5, which was released a couple of weeks ago.
You don’t need to make any changes to your project to use the new release: all VoltBuilder jobs are now processed using it.
Before we went live with the new release, we tested by processing most of an entire day of iOS builds. They executed cleanly, with the same results as Xcode 13.2. We don’t anticipate any problems for you with the new release, but please let is know if you spot anything.
The last version of Xcode supported by PhoneGap Build was 9.2.
What’s New in Xcode 13.4
Xcode 13.4 includes SDKs for iOS 15.5, iPadOS 15.5, tvOS 15.4, watchOS 8.5, and macOS Monterey 12.3. The Xcode 13.4 release supports on-device debugging for iOS 15.5, iPadOS 15.5, tvOS 15.4, watchOS 8.5, and later. Xcode 13.4 requires a Mac running macOS Monterey 12 or later.
VoltBuilder provides a high level interface to Xcode, so you don’t have get involved with its installation, complexity and features. We run it on servers with all the latest Apple software, continuously updated.
One important issue which is fixed is for log4j. There is more information here.
What’s New in iOS 15.5
iOS 15.5 has a number of new features, described in Apple’s Release Notes.
The builds you make with VoltBuilder will conform to Apple’s latest guidelines for security and App Store approval.
There is more information on the features and supported devices in this article.
-
Updates Required for App Stores
28 Apr 2022Within the last month, both Apple and Google have announced they will be removing apps which have not been kept up to date.
Many, if not all, PhoneGap projects are old enough that they will be affected. Fixing them is usually not a huge problem - VoltBuilder is designed to help PhoneGap users update their projects.
We have the following resources to help:
Apple
You may have gotten this from Apple:
App Store Improvement Notice
This app has not been updated in a significant amount of time and is scheduled to be removed from sale in 30 days. No action in required for the app to remain available to users who have already download the app.
You can keep this app available for new users to discover and download from the App Store by submitting an update for review within 30 days. If no update is submitted within 30 days, the app will be removed from sale.There is more information on their web site. Apple is not specific as to what they are looking for, but refer you to the App Store Review Guidelines.
Some of the things we know can cause problems are insecure web references, using UIWebView, and using out of date Xcode libraries (PhoneGap ended at 8.0, VoltBuilder is up to date at 13.3). These issues are easily resolved by building with VoltBuilder.
Update: On April 29, 2022, Apple issued this clarification:
As part of the App Store Improvements process, developers of apps that have not been updated within the last three years and fail to meet a minimal download threshold — meaning the app has not been downloaded at all or extremely few times during a rolling 12 month period — receive an email notifying them that their app has been identified for possible removal from the App Store.
Apple always wants to help developers get and keep quality software on the App Store. That’s why developers can appeal app removals. And developers, including those who recently received a notice, will now be given more time to update their apps if needed — up to 90 days. Apps that are removed will continue to function as normal for users who have already downloaded the app on their device.Google
From November 1st, 2022, all existing apps in the store must target an API level within two years of the latest major Android OS release. Google will place limits on which users are able to discover or install them if they are not up to date.
Here is the blog post from Google’s developer support group explaining the new policies.
Specifically, your app needs to be built using Android API Level 30. The highest API level available to PhoneGap was 28. VoltBuilder supports API Level 30 now.
-
VoltBuilder supports Xcode 13.3 and iOS 15.4
28 Mar 2022The VoltBuilder servers are now using Xcode 13.3, the latest update from Apple. This allows you to build apps for iOS 15.4, which was released a couple of weeks ago.
You don’t need to make any changes to your project to use the new release: all VoltBuilder jobs are now processed using it.
Before we went live with the new release, we tested by processing most of an entire day of iOS builds. They executed cleanly, with the same results as Xcode 13.2. We don’t anticipate any problems for you with the new release, but please let is know if you spot anything.
The last version of Xcode supported by PhoneGap Build was 9.2.
What’s New in Xcode 13.3
Xcode 13.3 includes SDKs for iOS 15.4, iPadOS 15.4, tvOS 15.4, watchOS 8.5, and macOS Monterey 12.3. The Xcode 13.3 release supports on-device debugging for iOS 15.4, iPadOS 15.4, tvOS 15.4, watchOS 8.5 and later. Xcode 13.3 requires a Mac running macOS Monterey 12 or later.
VoltBuilder provides a high level interface to Xcode, so you don’t have get involved with its installation, complexity and features. We run it on servers with all the latest Apple software, continuously updated.
One important issue which is fixed is for log4j. There is more information here.
What’s New in iOS 15.4
iOS 15.4 has a number of new features, described in Apple’s Release Notes.
The builds you make with VoltBuilder will conform to Apple’s latest guidelines for security and App Store approval.
There is more information on the features and supported devices in this article.
-
VoltBuilder supports Xcode 13.2.1 and iOS 15.2
20 Dec 2021The VoltBuilder servers are now using Xcode 13.2.1, the latest update from Apple. This allows you to build apps for iOS 15.2, which was released this week.
You don’t need to make any changes to your project to use the new release: all VoltBuilder jobs are now processed using it.
Before we went live with the new release, we tested by processing most of an entire day of iOS builds. They executed cleanly, with the same results as Xcode 13.1. We don’t anticipate any problems for you with the new release, but please let is know if you spot anything.
The last version of Xcode supported by PhoneGap Build was 9.2.
What’s New in Xcode 13.2.1
Xcode 13.2.1 includes SDKs for iOS 15.2, iPadOS 15.2, tvOS 15.2, watchOS 8.3, and macOS Monterey 12.1. The Xcode 13.2.1 release supports on-device debugging for iOS 9 and later, tvOS 9 and later, and watchOS 2 and later. Xcode 13.2.1 requires a Mac running macOS 11.3 Big Sur or later.
VoltBuilder provides a high level interface to Xcode, so you don’t have get involved with its installation, complexity and features. We run it on servers with all the latest Apple software, continuously updated.
One important issue which is fixed is for log4j. There is more information here.
What’s New in iOS 15.2
iOS 15.2 has a number of new features, including App Privacy Report, Apple Music Voice Plan, Legacy Contacts, Find My Battery Reserve, Hide My Email, Communication Safety and Macro Mode Toggle.
The builds you make with VoltBuilder will conform to Apple’s latest guidelines for security and App Store approval.
There is more information on the features and supported devices in this article.
-
VoltBuilder supports Xcode 13 and iOS 15
04 Oct 2021The VoltBuilder servers are now using Xcode 13.0, the latest update from Apple. This allows you to build apps for iOS 15.0, which was released last week by Apple.
You don’t need to make any changes to your project to use the new release: all VoltBuilder jobs are now processed using it.
Before we went live with the new release, we tested by processing an entire day of iOS builds. They executed cleanly, with the same results as Xcode 12.4. We don’t anticipate any problems for you with the new release, but please let is know if you spot anything.
The last version of Xcode supported by PhoneGap Build was 9.2.
What’s New in Xcode 13
Xcode 13 includes SDKs for iOS 15, iPadOS 15, tvOS 15, watchOS 8, and macOS Big Sur 11.3. The Xcode 13 release supports on-device debugging for iOS 9 and later, tvOS 9 and later, and watchOS 2 and later. Xcode 13 requires a Mac running macOS 11.3 or later.
VoltBuilder provides a high level interface to Xcode, so you don’t have get involved with its installation, complexity and features. We run it on servers with all the latest Apple software, continuously updated.
Xcode 13 has a number of changes and fixes, including better logging output. Most importantly, it has support for iOS 15. There is more information here.
What’s New in iOS 15
iOS 15 introduces new ways to stay connected, powerful updates that help users focus and explore, and intelligent features to get more done with iPhone. FaceTime updates provide more natural video calls, Focus helps users reduce distraction, new features like Live Text use on-device intelligence to surface useful information, upgrades to Maps provide brand new ways to navigate the world, and much more.
The builds you make with VoltBuilder will conform to Apple’s latest guidelines for security and App Store approval.
There is more information on the features and supported devices in this article.
-
Updates to Android
20 Sep 2021We are planning to roll out some updates to VoltBuilder’s Android support. Here’s what is changing:
-
Builds will use Android SDK Platform 30, which corresponds to Android 11. Google has developer documentation for Android 11 here.
-
cordova-android 10.1.1. This is the latest version of Cordova’s Android support.
To be listed in the Google Play Store, you may need to use this version. To use the previous version, add this line to your config.xml file:
<engine name="android" spec="9.0.0" />
To use the new version, add this line to your config.xml file:
<engine name="android" spec="10.1.1" />
-
Not all plugins have been updated for Cordova 10 yet. If you find problems with a plugin, check that you’re using the latest version of it. If you are, check with the maintainer if it should work, and open an issue there if needed. In the meantime, you can drop back to Cordova 9 - but that is not a permanent solution.
-
In config.xml, if you fail to add a
content
line, VoltBuilder defaults toindex.html
:
<content src="index.html" />
(If the main file of your app is a different, you can substitute its name.) -
Builds make
.apk
files by default. These can be used for debug builds and for release builds outside the Google Play Store. To make.aab
(Android Application Bundles), add this line to your voltbuilder.json file:
"androidPackageType": "bundle",
.aab
files cannot be used outside the Google Play Store. -
Certificates in the Google Play Store have changed somewhat. (There are no changes for apps distributed outside the Store). Google now requires all new apps use Google Play Signing, which is separate from the signing which is required to upload your app. VoltSigner can be used to make the self signed certificates (.p12) which are required for upload to the Play Store. If you use Play App Signing, this certificate is just used to verify your identity and the Play Store handles the actual app signing. We strongly suggest you use Play App Signing when possible.
Once you generate a certificate for uploads, you will need to keep using that certificate for uploads. If you lose your certificate or password, your only option is to create a new store listing with a new package name and start from scratch. (One time exceptions have been made - contact Google for this.)
Changes to cordova-android
Cordova-android 10 has a number of changes which may break your project. See the Release Notes below for the full details.
- Migration to AndroidX from Android Support Library is complete. All plugins that use the Android Support Library will need to be updated to reference the new AndroidX library.
- By default, the WebViewAssetLoader is enabled and allows apps to serve their content from a ‘proper’ origin.
- Support for Android App Bundles (aab) added.
- lots of smaller fixes
- updates to libraries
Release Notes
-
-
Android Application Bundles
16 Jul 2021Starting in August, 2021, the Google Play Store requires all new apps to be submitted in Android App Bundle (.aab) format. VoltBuilder can now create these bundles.
The only thing you need to do is add this line to your voltbuilder.json file:
"androidPackageType": "bundle",
VoltBuilder will then produce a file ending in .aab. These files are only used to upload to the Google Play Store: you cannot install them directly to a device. As a result, only release builds have this feature.
An Android App Bundle is a publishing format that includes all your app’s compiled code and resources, and defers APK generation and signing to Google Play.
Google Play uses your app bundle to generate and serve optimized APKs for each device configuration, so only the code and resources that are needed for a specific device are downloaded to run your app. You no longer have to build, sign, and manage multiple APKs to optimize support for different devices, and users get smaller, more-optimized downloads.
-
VoltBuilder can generate icons and splash screens for your app in all the required sizes. Just supply an icon and a splash screen template, and VoltBuilder will take care of the rest. The generated images will be added to your project and your config.xml file updated. Android, iOS and Windows are supported.
Not only does this make the production of your app easier, it also reduces the upload size to VoltBuilder: you no longer have to include images of all different sizes.
When new image sizes are required by platforms, VoltBuilder will automatically add them.
Of course, if you are happy with your current images, you can keep using them.
Read more on how to set up your project to do this.
-
Builds for Windows released
06 May 2021VoltBuilder can create Windows executables, using almost the identical setup as Android and iOS. No changes need to be made to your actual project. The build results in a standard .appx file. It can make both debug and release builds: the release builds are signed.
You may need to review your list of plugins. Check to make sure they have been built for Windows. Any valid Windows plugin will work - no approval process is needed. If a plugin does not have a Windows version, you’ll need to contact the author to see if one can be supplied.
The folder layout for your project is the same. Just drag and drop your zip file onto the Windows box on the Upload form.
-
VoltBuilder now supports Xcode 12.5 and iOS 14.5
03 May 2021The VoltBuilder servers are now using Xcode 12.5, the latest update from Apple. This allows you to build apps for iOS 14.5, which was released yesterday by Apple.
You don’t need to make any changes to your project to use the new release: all VoltBuilder jobs are now processed using it.
Before we went live with the new release, we tested by processing an entire day of iOS builds. They executed cleanly, with the same results as Xcode 12.4. We don’t anticipate any problems for you with the new release, but please let is know if you spot anything.
The last version of Xcode supported by PhoneGap Build was 9.2.
What’s New in Xcode 12.4
Xcode 12.5 includes SDKs for iOS 14.5, iPadOS 14.5, tvOS 14.5, watchOS 7.4, and macOS Big Sur 11.3. The Xcode 12.5 release supports on-device debugging for iOS 9 and later, tvOS 9 and later, and watchOS 2 and later. Xcode 12.5 requires a Mac running macOS Big Sur 11 or later.
VoltBuilder provides a high level interface to Xcode, so you don’t have get involved with its installation, complexity and features. We run it on servers with all the latest Apple software, continuously updated.
New and improved features in XCode 12 include Universal apps (including Apple Silicon), templates, testing and UI changes. Most importantly, it has support for iOS 14. There is more information here.
What’s New in iOS 14.4
iOS 14.5 brings exciting new features to iPhone, including the ability to unlock iPhone with Apple Watch while wearing a face mask, more diverse Siri voices, new privacy controls, skin tone options to better represent couples in emoji, and much more. iOS 14.5 builds on the reimagined iPhone experience introduced in iOS 14, and is available as a free software update.
The builds you make with VoltBuilder will conform to Apple’s latest guidelines for security and App Store approval.
New and improved features in iOS 14 include App Clips, CarPlay, Car keys, Home screen, Widgets,App Library, Compact UI, Search and Siri. There more information on the features and supported devices in this article.
-
VoltBuilder offers 20% off for PhoneGap users
16 Mar 2021Adobe PhoneGap shut down their servers on March 1, 2021. To make it easier to transition, VoltBuilder is offering new users a 20% discount.
PhoneGap provided an easy to use web service which converted web apps to native apps. These could be distributed through the Android and iOS stores. In the fall, they announced they were planning on discontinuing the service. They have now done so.
VoltBuilder went live in 2020. It retains the ease of use of PhoneGap, but uses modern libraries and tools to make native apps. In many cases, little or no change is needed to build PhoneGap projects.
In addition, VoltBuilder can upload to the stores and create certificates, allowing developers to create apps for iOS without needing a Mac.
Signing is handled by VoltSigner, which lets you generate iOS and Android certificates in your browser, whether you’re running Windows, MacOS or Linux.
Voltbuilder is offering 20% off all their plans for those converting from PhoneGap after March 1. The discount will apply for a full year.
To get the discount, fill in this form. The offer expires on April 30.
-
Version number added to download name
16 Mar 2021The version of your app is now included in the download name. The download name will look like this:
android.release.v1.0.3.apk
The version information comes from the first line of your config.xml file:
<widget version="1.0.3" android-versionCode="1" id="com.nsbasic.HelloWorld" ios-CFBundleVersion="1" xmlns="https://www.w3.org/ns/widgets" >
This makes is easy to keep different versions of your app. The new build will not overwrite your last build if you change its version number.
(Thanks to Mujaffar for the suggestion!)
-
Hosting your app on VoltBuilder
25 Feb 2021VoltBuilder Hosting gives your app a persistant place where it can be downloaded.
Normally, apps are only available for download for a short time after they are built. With Hosting, your app will be available for as long as your plan is in effect. This is useful for a organizations which need to make their apps available, but do not want to maintain their own hosting service.
VoltBuilder will return a URL and QR Code (as it does now). You can send these to your customers or employees, who can then use them to install your app directly onto their devices.
Any Android app can be hosted. For iOS, the apps need to be built as Enterprise apps. You’ll need to sign up for Apple’s Enterprise Program. The apps do not need to be uploaded to Google Play or the Apple App Store.
This service is part of the VoltBuilder Enterprise Plan. Please contact support@volt.build to get set up.
For more information, check out the docs.
-
Using ReactJS with VoltBuilder
17 Feb 2021ReactJS is one of the most popular ways to develop web apps. It makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes.
For mobile apps, React suggests using React Native. It’s highly optimized for mobile devices and requires a separate code base for your app.
Using VoltBuilder, you can make your ReactJS apps into native mobile apps, using the same code base as your desktop version. All functionality is retained - the app will have the same look and feel as the desktop.
It’s pretty easy to do. Use the React Template. Copy the files in your React projects’s
dist
folder into the template’swww
folder.Keep in mind that the pathnames to your assets in index.html should be relative, like this:
<link rel="stylesheet" href="./style.css">
That’s pretty much it. Zip it, then upload to VoltBuilder using the Android option.
You can also build for iOS once you’ve added the signing data Apple requires.
-
We made several updates to the VoltBuilder Servers over the weekend.
- cordova-fetch updated to 3.0.1. This module is used internally by VoltBuilder as part of Cordova. Read Cordova’s blog post.
- Android SDKs and build tools: updated to the latest versions.
- Security updates: MacOS Operating system updates applied.
You don’t need to make any changes to your project to use the updates: all VoltBuilder jobs are now processed using them.
VoltBuilder Updates
Using a build service like VoltBuilder can a big time saver. We take care of keeping the complex toolchains used by Cordova up to date and in sync. For more information, read this white paper: Why use a Build Service?
VoltBuilder is committed to keeping its toolchains up to the latest versions at all times.
-
Sample Project now available
02 Feb 2021We’ve published a GitHub repo with a working sample project.
Without needing to do any modifications, you can upload it to VoltBuilder, build an apk, then run it on your Android device. It’s a minimal HelloWorld style app.
Feel free to look at how it’s set up. Compare it to your project to see if it is structured properly. Starting a new project? Go ahead and use it as a template.
The project will also build for iOS, but you’ll need to be signed up for Apple’s Developer program and create certificates for it.
-
VoltBuilder now supports Xcode 12.4 and iOS 14.4
28 Jan 2021The VoltBuilder servers are now using Xcode 12.4, the latest update from Apple. This allows you to build apps for iOS 14.4, which was released yesterday by Apple.
You don’t need to make any changes to your project to use the new release: all VoltBuilder jobs are now processed using it.
Before we went live with the new release, we tested by processing an entire day of iOS builds. They executed cleanly, with the same results as Xcode 12.3. We don’t anticipate any problems for you with the new release, but please let is know if you spot anything.
The latest version of Xcode supported by PhoneGap Build is 9.2.
What’s New in Xcode 12.4
Xcode 12.4 includes SDKs for iOS 14.4, iPadOS 14.4, tvOS 14.3, watchOS 7.2, and macOS Big Sur 11.1. The Xcode 12.4 release supports on-device debugging for iOS 9 and later, tvOS 9 and later, and watchOS 2 and later. Xcode 12.4 requires a Mac with Apple silicon running macOS Big Sur 11 or later, or an Intel-based Mac running macOS Catalina 10.15.4 or later.
VoltBuilder provides a high level interface to Xcode, so you don’t have get involved with its installation, complexity and features. We run it on servers with all the latest Apple software, continuously updated.
New and improved features in XCode 12 include Universal apps (including Apple Silicon), templates, testing and UI changes. Most importantly, it has support for iOS 14. There is more information here.
What’s New in iOS 14.4
iOS 14.4 allows the camera to recognize smaller QR codes, and there’s a feature for specifying a device type for third-party Bluetooth-connected audio devices so that Headphone Audio Level measurements can be taken correctly. The update also provides notifications for when the camera on an iPhone is unable to be verified as a new, genuine Apple camera in the iPhone 12 models, which would be applicable only to repairs. There are also several bug fixes.
The builds you make with VoltBuilder will conform to Apple’s latest guidelines for security and App Store approval.
New and improved features in iOS 14 include App Clips, CarPlay, Car keys, Home screen, Widgets,App Library, Compact UI, Search and Siri. There more information on the features and supported devices in this article.
-
VoltBuilder now supports Xcode 12.3 and iOS 14.3
21 Dec 2020The VoltBuilder servers are now using Xcode 12.3, the latest update from Apple. This allows you to build apps for iOS 14.3, which was released last week by Apple.
You don’t need to make any changes to your project to use the new release: all VoltBuilder jobs are now processed using it.
Before we went live with the new release, we tested by processing an entire day of iOS builds. They executed cleanly, with the same results as Xcode 12.0. We don’t anticipate any problems for you with the new release, but please let is know if you spot anything.
The latest version of Xcode supported by PhoneGap Build is 9.2.
What’s New in Xcode 12.3
Xcode 12.3 includes SDKs for iOS 14.3, iPadOS 14.3, tvOS 14.3, watchOS 7.2, and macOS Big Sur 11.1. The Xcode 12.3 release supports on-device debugging for iOS 9 and later, tvOS 9 and later, and watchOS 2 and later. Xcode 12.3 requires a Mac with Apple silicon running macOS Big Sur 11 or later, or an Intel-based Mac running macOS Catalina 10.15.4 or later.
VoltBuilder provides a high level interface to Xcode, so you don’t have get involved with its installation, complexity and features. We run it on servers with all the latest Apple software, continuously updated.
New and improved features in XCode 12 include Universal apps (including Apple Silicon), templates, testing and UI changes. Most importantly, it has support for iOS 14. There is more information here.
What’s New in iOS 14.3
iOS 14.3 includes support for Apple Fitness+ and AirPods Max. This release also adds the ability to capture photos in Apple ProRAW on iPhone 12 Pro, introduces Privacy information on the App Store, and includes other features and bug fixes for your iPhone.
The builds you make with VoltBuilder will conform to Apple’s latest guidelines for security and App Store approval.
New and improved features in iOS 14 include App Clips, CarPlay, Car keys, Home screen, Widgets,App Library, Compact UI, Search and Siri. There more information on the features and supported devices in this article.
-
Uploading to the Google Play Store
10 Nov 2020VoltBuilder can now automatically upload your app to the Google Play Store at the end of your build.
By adding Google Play Key and a Google Play Track, the upload becomes another step in the build. There is nothing else to set up. Once your app is uploaded by VoltBuilder, you can send it on to be released in the store, or for further testing by your users.
Any messages returned by Google as part of the upload process are returned by VoltBuilder as part of the usual build process. There is no change to your VoltBuilder work flow - but you save a few steps when the build is complete by not needing to upload yourself.
There are a few steps which need to be done to get the Google Play Key, which authorizes VoltBuilder to upload apps on your behalf. Here’s how to set up upload to Google Play.
-
Uploading to the Apple App Store
19 Oct 2020What can I say. It just…works :) Excellent feature! – Christian, Beta tester
VoltBuilder can now automatically upload your app to Apple App Store Connect at the end of your build.
By adding your username and an app-specific password, the upload becomes another step in the build. There is nothing else to set up. Once your app is uploaded by VoltBuilder, you can send it on to Apple’s approval process to be released in the store, or to TestFlight for further testing by your users.
Any messages returned by Apple as part of the upload process are returned by VoltBuilder as usual.
You do not need a Mac to upload your apps. This is clearly of benefit if you do not have a Mac. It’s also of help for people who run their build process on Windows, but have to copy their app to a Mac (or MacInCloud session) so they can upload.
-
VoltBuilder now supports Xcode 12 and iOS 14
21 Sep 2020The VoltBuilder servers are now using Xcode 12, the latest update from Apple. This allows you to build apps for iOS 14, which was released last week by Apple.
You don’t need to make any changes to your project to use the new release: all VoltBuilder jobs are now processed using it.
Before we went live with the new release, we tested by processing an entire day of iOS builds. They executed cleanly, with the same results as Xcode 11.7. We don’t anticipate any problems for you with the new release, but please let is know if you spot anything.
The latest version of Xcode supported by PhoneGap Build is 9.2.
What’s New in Xcode 12
Xcode 12 supports developing apps for iOS 14, iPadOS 14, tvOS 14, watchOS 7, macOS 10.16. Xcode 12 supports on-device debugging for iOS 9 and later, tvOS 9 and later, and watchOS 2 and later. Xcode 12 requires a Mac running macOS Mojave 10.15.4 or later.
VoltBuilder provides a high level interface to Xcode, so you don’t have get involved with its installation, complexity and features. We run it on servers with all the latest Apple software, continuously updated.
New and improved features in XCode 12 include Universal apps (including Apple Silicon), templates, testing and UI changes. Most importantly, it has support for iOS 14. There is more information here.
What’s New in iOS 14
iOS 14 is required for the new devices announced Sep 15, 2020, including a new iPad Air an Watch 6. It is also a free update for existing iOS devices. We expect most iOS users to be on the new OS with a month or two.
The builds you make with VoltBuilder will conform to Apple’s latest guidelines for security and App Store approval.
New and improved features in iOS 14 include App Clips, CarPlay, Car keys, Home screen, Widgets,App Library, Compact UI, Search and Siri. There more information on the features and supported devices in this article.
-
September 14th Outage Postmortem
19 Sep 2020On September 14, 2020, the VoltBuilder server went down for several hours. The purpose of this document is to clarify what happened and what we are doing to make sure it doesn’t happen again.
It’s usual in these cases that there isn’t a single failure - one problem uncovers the next and so on. We used this failure to see where other weaknesses might exist in our processes.
The root cause was the main build server running out of space. While we have jobs in place to clear app data soon after builds are completed we found that one of our build tools was caching intermediate build products. We’ve improved our existing clean-up process to include the cached files. We’re also more closely monitoring the free space on the build server in case another anomaly crops up.
Generally resolving the space issue would have solved the problem, but in this case we continued to see a number of problems with the main build server. Further investigation showed that we were experiencing a localized DNS outage. In this particular case it appears that when the host ran out of space, the network adapter settings were somehow corrupted, leaving the main build server able to access the network, but unable to resolve any DNS names. Resetting the network interface resolved this issue.
Once the DNS issue was resolved we were able to get our build infrastructure back to building apps. No submissions were lost during this time, though we did have a bit of a backlog to work through. It took about an hour: no jobs were lost.
Over the course of dealing with this outage we discovered a few other changes we’re implementing to keep VoltBuilder running smoothly and consistently. These include:
- Making our network retry code more resilient so we can deal with a larger variety of outages, should they occur.
- Fixing some minor bugs in our build status checking logic so that longer than average build times don’t cause unnecessary network traffic.
- Continuing to enhance and improve out monitoring and notification so that our engineers are notified of any system anomalies so they can be resolved quickly and efficiently.
In order to make our systems resilient against such outages we will continue to expand our server infrastructure.
We are very sorry for the inconvenience this issue caused.
-
VoltBuilder API
12 Sep 2020The VoltBuilder API lets you submit jobs to VoltBuilder from an app.
Possible uses are:
- Submit jobs to VoltBuilder as part of a larger build process
- Submit both Android and iOS jobs as one operation
- Monitor completion status of jobs
- Complex builds with multiple variations of configs, etc.
Complete documentation is here: https://volt.build/docs/api-spec.html
The documentation gives samples for
- Node + Request
- Python + Python3
- Shell + Curl
If you have questions or need more information, please let us know.
Step by Step
The overall implementation is very simple. Use your credentials to get a token, then use that to make your request.
1. Get your API Credentials for authentication.
Get these from VoltBuilder’s Pricing page. Log in, then click on Copy API Credentials to Clipboard. You’ll need to be on the Pro Plan to do this.
It will be a string like
895ba4ff-ea4f-4238-8cd3-ea36ef8b7e1d:3oTBJ1tXrxdsH0flN6BHf5UNGRg9+lh9
. The part before the colon is the client ID, and the part after the colon is the secret (e.g.client_id:secret
).You can use this credential for as long as you like - it does not expire. You can request additional credentials from the Pricing page if you need them. If your client secret is compromised or exposed in some way, contact support to remove your credential or reset your secret.
2. Request an access_token
Split your credential into a
client_id
andclient_secret
and put them in the appropriate request fields.Here’s Node code to do this. Other samples are here.
const request = require("request"); const options = { method: "POST", url: "https://api.volt.build/v1/authenticate", form: { grant_type: "client_credentials", client_id: "895ba4ff-ea4f-4238-8cd3-ea36ef8b7e1d", client_secret: "3oTBJ1tXrxdsH0flN6BHf5UNGRg9+lh9", }, }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
Here is what gets returned:
{ "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", "token_type": "bearer", "expires_in": 3600 }
3. Submit an app to VoltBuilder
Put the
access_token
you got in step 2 into theauthorization
property of the submit request. Notice the wordBearer
needs to be part of that string. Anaccess_token
is reusable but it expires after one hour. It’s always a good idea to verify youraccess_token
is not expired before attempting to use it.const fs = require("fs"); const request = require("request"); const options = { method: "POST", url: "https://api.volt.build/v1/app", headers: { authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", }, formData: { platform: "ios", app: { value: fs.createReadStream("app.zip"), options: { contentType: "application/zip" }, }, }, }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
If all goes well, the API will return a status of 202. Then you can check the status of the build using the API.
4. Checking build status
Once you’ve submitted a build you can check the status of it by using the following code:
const request = require("request"); const options = { method: "GET", url: "https://api.volt.build/v1/app", headers: { authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", }, }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
Here is what gets returned:
{ "status": "Completed", "timestamp": 1599670881, "name": "MyApp", "links": { "app": "https://link/to/your/app", "log": "https://link/to/your/build/log", "qrcode": "https://link/to/your/qrcode" } }
We’re here to help!
We hope this API will be a welcome addition to VoltBuilder. If we can help in any way, please reach out. We’re excited to see what you can build with VoltBuilder!
Interested in a free trial? Sign up today!
-
Using UIWebView with iOS
11 Sep 2020While UIWebView has been deprecated by Apple and should not be used anymore, there are circumstances where an update to an existing app needs to be done.
Apple will not allow this to be done for long, so this method will not work forever.
Two lines need to be in your config.xml file:
<plugin name="cordova-plugin-uiwebview-engine" source="npm" /> <engine name="ios" spec="5.1.1" />
The first line tells VoltBuilder to load UiWebView. (You may have this line already)
The second tells VoltBuilder to use the old build engine, instead of the default.
You will want to remove these two lines as soon as possible.
-
PhoneGap Migration Guide
12 Aug 2020VoltBuilder is designed to be a modern implementation of PhoneGap Build. We’ve tried to make it as easy as possible to bring your PhoneGap projects over.
There is a tutorial and a video.
Here are a few tips:
-
Both PhoneGap and VoltBuilder use the Apache Cordova libraries. While it’s been a while since PhoneGap has updated their stuff, Apache Cordova has been steadily improving. You may have some changes to keep up with the new features of Apache Cordova.
-
Android and iOS have also been evolving steadily. Once again, PhoneGap has not kept up. You may need to make changes to your project to keep up with Google and Apple’s new requirements.
-
PhoneGap keeps your entire project on their server permanently. Source code, certificates, everything. With VoltBuilder, you upload your code and certificates each time. They get deleted as soon as the job is successfully processed.
-
You upload your project as a zip file for both PhoneGap and VoltBuilder. In VoltBuilder, your certificates are included (in a folder named
certificates
). There is also a new file calledvoltbuilder.json
which has the names of the certificates and their passwords. Both of these are in the zip file. -
Check the documentation on voltbuilder.json for more information
-
Over the years, the project format for PhoneGap gradually changed. A couple years ago, Cordova standardized the format. If you have an older PhoneGap project, you may need to move some folders and files around. Here’s what your project directory should look like:
Project Root ├-- config.xml ├-- certificates │ ├-- android.keystore │ ├-- development.mobileprovision │ ├-- distribution.mobileprovision │ ├-- ios_development.p12 │ └-- ios_distribution.p12 ├-- merges (optional) │ ├-- android │ └-- ios ├-- res (optional) │ ├-- android │ └-- ios ├-- voltbuilder.json └-- www ├-- css ├-- images ├-- index.html └-- js
-
Google now requires projects be built using Android SDK 29. VoltBuilder does this by default. (PhoneGap is unable to do so at all). You may lose the ability to run your app on some older devices as a result.
-
Apple now requires projects be built using XCode 11.6 (PhoneGap can’t do this) to be accepted in the store. VoltBuilder does this by default. There are also some changes involving UIWebView and permissions. The resulting project will run on iOS 11 and above.
-
VoltBuilder has various plans. The Free Plan lets you build Android Debug executables using core plugins. There are monthly Indy, Pro and Enterprise plans depending on your needs. Nearly all plugins listed on npmjs.com will work. If you need one which is not yet supported, it will usually be added within a day.
-
Want more tips? Check out Tips for PhoneGap users.
Got questions? Visit our forum.
-
-
VoltBuilder always uses the current default version of the Apache Cordova libraries. However, you can override this to use a different version as needed.
First, to see what version VoltBuilder is currently using, look in the log. You’ll see the platforms, plugins, Apache Cordova and Xcode (if you’re building for iOS) versions.
Cordova Packages: cli: 10.0.0 common: 4.0.2 create: 3.0.0 lib: 10.0.0 common: 4.0.2 fetch: 3.0.0 serve: 4.0.0 Project Installed Platforms: ios: 6.1.1 Project Installed Plugins: cordova-plugin-camera: 4.1.0 cordova-plugin-device: 2.0.3 cordova-plugin-dialogs: 2.0.2 cordova-plugin-geolocation: 4.0.2 cordova-plugin-native-spinner: 1.1.3 cordova-plugin-printer: 0.8.0 cordova-plugin-safariviewcontroller: 1.6.0 cordova-plugin-screen-orientation: 3.0.2 cordova-plugin-statusbar: 2.4.3 cordova-plugin-uniquedeviceid: 1.3.2 cordova-sqlite-evcore-extbuild-free: 0.12.1 Environment: OS: macOS Catalina 10.15.6 (19G73) (darwin 19.6.0) x64 Node: v12.18.3 npm: 6.14.7 ios Environment: xcodebuild: Xcode 11.6 Build version 11E708
Notice that it’s using
ios 6.1.1
as the platform. That’s the current one.You can specify a different one. For example, this uses the previous one: (you don’t want to do this: your app will probably not be accepted by Apple)
<engine name="ios" spec="5.1.1" />
Similarly, to use another version of Android, add this line to your config.xml:
<engine name="android" spec="9.0.0" />
Apache Cordova Android 9.0.0 was released on Jun 29, 2020. More info here: https://cordova.apache.org/announcements/2020/06/29/cordova-android-9.0.0.html
-
Video: Introduction to VoltBuilder
11 Jul 2020We now have a video about VoltBuilder. It shows how to create simple project, upload to VoltBbuilder, then run on a device.
Watch it here:
-
VoltBuilder is on Twitter
11 Jul 2020We’ve got a Twitter account!
Follow it to get the latest news about VoltBuilder: updates, new docs, enhanced features.
It’s the best way to keep up the the latest news:
We’re at @voltbuilder.
-
Logging is now visible
09 Jun 2020After a successful build, you will now get a View Log button. Click on it to open the log in a new window.
If it’s unsuccessful, you will get just the View Log button.
https://forum.volt.build/t/logging-is-now-visible/32
-
VoltBuilder Beta News
05 Jun 2020We just pushed an update to VoltBuilder. It has a couple of important changes.
The VoltBuilder Upload page is now https://volt.build/upload
We now whitelist all plugins. We’ve built up a list of plugins we think can be trusted. Let me know if you have any we can add.
-
Welcome to VoltBuilder!
23 May 2020Build great apps powered by open web standards. Use your existing web dev skills, frameworks and tools to create native apps.
Store-ready apps for Android and iOS are ready in minutes.
Nothing to install. Simply zip your files and submit them to VoltBuilder.
When the build completes, you’ll get a QR code you can scan with your phone to install your app.