Open my JUCE Application with URL

Hi guys,
I would like to open my JUCE application using a URL. For example, we can open Postman by typing postman:// in the browser, or zoom with zoommtg:// and many other applications.
I would like to do the same with my JUCE. I want to type my_app://someparams=123 and be able to open the app using the browser. Any idea?
Thank you very much in advance.

I found the way.
In Xcode, choose your target and then select the info tab and add a URL types. You can fill the information as below.
After that, build your application, open your browser and type in my_special_app://params_list=1234
Then it would ask to open your app

I hope it helps

3 Likes

You can also achieve this in Projucer, by entering a Custom PList on your exporter:

<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
			<key>CFBundleURLName</key>
			<string>MyURLSchemeName</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>myUrlScheme</string>
			</array>
		</dict>
	</array>

This will call JUCEApplication::anotherInstanceStarted () with the url, if its formatted like myUrlScheme://somethingSomething

It makes sense to not set this on Xcode directly, since Projucer will overwrite the XCode project. Now, anyone knows how to do this on Windows :smiley: ? (That’s how i got here)

On Windows you need to add entries to the Windows Registry, typically using an installer. Googling “Windows Custom URI Scheme” brings a bunch of links with details including this one: Custom URI Schemes On Windows – Xojo Programming Blog

1 Like

ah right, figured it would be something like that, thanks for giving me the right terminology here :slight_smile:

1 Like

I know this is an old thread, but I have a similar problem.
Following the advice here, I managed to open my JUCE app on Mac using an URL.
But I am not seeing the parameters. I would have expected they would be command line parameters, but that’s not the case it seems. Assume this is my URL:

myUrlScheme://somethingSomething

How would I get to the parameter “somethingSomething” from my JUCE app?