Folder structure for Voltbuilder

I keep getting error messages related to the icon, that it is not in the correct folder when trying to build a native app. How should my folders be set up for VOltbuilder? I have consulted this diagram but am not clear where the icon.png and splash.png images go. I’ve tried resources/ios and www/images but no luck. I notice that Voltbuilder seems to create a new set of folders in a folder alled voltbuilder with separate certificates, resouces, and www/images, /nsb and /toolbox folders.

If you’re submitting from AppStudio, it takes care of building the folder structure and voltbuilder.json. Just put the correct values into Project Properties - VoltBuilder and it will do the rest.

I have selected the icon and splash (png) from the /images folder in my project directory for the icon and splash screen. Here is my folder structure:

Here are the icon and splash

Screenshot 2025-04-10 at 4.33.20 PM
Screenshot 2025-04-10 at 4.33.10 PM

But when I try to build a native iOS app I first get an error that “Missing file: logo.jpg”. But that image is not used in my app at all, I use one that looks just like it called “logo with padova.png” in my image control.


And the file logo.jpg actually is in the images folder (see first screenshot above). The error message when compiling fails is: “UserError: Source path does not exist: nsb/images/192.png Is your resource folder inside your www folder? See https://vo” (it cuts off there).

This is especially frustrating because this problem and the functionality where openURL is called within a in my html to open windows via Cordova inappbrowser has also stopped working. I’m wondering if a file is corrupted.

In the Project Explorer, in the Common tab, what is icon set to?

Let’s fix the icon issue, then see if there is any change to your Inappbrowser issue.

It has been set to the same icon fiile in the /images folder within my project folder:

Screenshot 2025-04-11 at 10.04.24 AM

The icon is now at least appearing when I deploy to desktop in the browser tab. But I get this error when trying to create native iOS app:

“UserError: Source path does not exist: images/PreventionItal yIcon.png Is your resource folder inside your www folder? Se”

And then it cuts off.

The full message is in the log:

UserError: Source path does not exist: images/PreventionItalyIcon.png
Is your resource folder inside your www folder?

Does that help at all?

See shot of folder structure above.

Project
–voltbuilder
–certificates
—resources
–www
–images
–nsb
–toolbox

Here is the screenshot.

Images should be under www. Where you have it now you won’t be able to access it from your app.

At the level where it’s on par with www you would use it add resources via the config.xml. Make sense?

@ppetree - he’s using AppStudio. If everything is set properly, it will automatically move to www. (as it looks like it has)

@markebell - any change you could share your project with me? I might be able to see what’s going on more quickly that way. Email to the gh(at)appstudio.dev.

Sending separately

Mark

How did you send it? There is no sign of it here.

I sent an email with the Dropbox link to gh@appstudio.dev

Mark

Would you send it again?

Thanks for sending me your your project. I found a few things:

  1. It throws a message “Missing file: logo.jpg”. This is caused by having a object called “logo.jpg” in your project. You probably added it by mistake. You should delete it.

  2. In Project Properties… VoltBuilder, your config.xml is out of date. Replace it with

<?xml version="1.0" encoding="UTF-8"?>
<widget  xmlns = "https://www.w3.org/ns/widgets" id = "com.nsbasic.{id}" versionCode = "{phoneGapBuildCounter}" version = "{version}">
	<name>{title}</name>
	<description>{description}</description>
  
  <!-- Splash Screens -->
  <preference name="SplashScreenDelay" value="2000" />
  <preference name="AutoHideSplashScreen" value="true" />
  <preference name="AndroidWindowSplashScreenAnimatedIcon" value="www/img/2732x2732.png" />
  
	<plugin name='cordova-plugin-inappbrowser' source='npm'/>
	<allow-navigation href="*" />
	<access origin="*" />
	<preference name="permissions" value="none"/>
	<!-- sample preference specifications -->
	<!-- <preference name="autorotate" value="false" readonly="true"/> -->
	<!-- <preference name="orientation" value="default" /> -->
	<!-- <preference name="fullscreen" value="true" /> -->
	<plugin name="cordova-plugin-statusbar" source="npm" />
	<preference name="StatusBarOverlaysWebView" value="{phoneGapStatusBarOverlay}" />
	<preference name="StatusBarBackgroundColor" value="{phoneGapStatusBarColor}" />
	<preference name="StatusBarStyle" value="{phoneGapStatusBarStyle}" />
	<allow-navigation href="*" />
	<access origin="*" />
	<allow-intent href="*" />
</widget>
  1. If I then run your project, VoltBuilder has this message in the log:
WARN:	Error with source file /resources/iconTemplate.png: 
The dimensions of source images for iOS icons do not meet minimum size requirements: 
1024x1024 (image is 352x352).

You need to replace that with a template of the proper size (1024x1024)

I have been having the same exact problem. I finally went back to ver 8.5.1.2 so I could compile and submit my program to the app store.

Each time I try to “make native app with voltbuilder” I get the following error:

UserError: Source path does not exist: images/icon.png Is your resource folder inside your www folder? See https://volt.

I have tried everything! Followed your suggestions above and still the same error.

I have sent my program to your PM email. Can you see if you can find my problem. I have no problems when I use 8.5.2.1 but with 9.1.5.1 I get the errors.

Thanks,
Paul

Try removing these 3 lines from your config.xml property:

<!-- Default app icon appearing on device homescreen -->    
<!-- <icon src="qp(128x128)_icon.png" /> -->  <!-- changed 2/23/2025 PWL --> 
<icon src='{icon}' />

Let me know what happens!

George,

It works perfectly now!
Thank you very much.

Paul