IOS URL Schemes help

Hi All,

Is anyone able to help with getting a URL scheme going please.

I have a small iOS app that is built and sent to my iPad in Xcode successfully and is opening and working properly. I want to open it using a URL Scheme.

In the Xojo IDE I’ve added a scheme … csprintbridge:// in the IOS/Inspector/Settings/ as per documentation. Is this correct, or do I need something following the two forward slashes? I’m ultimately wanting to pass data to the app and handle it in the App/HandleURL event.

I’ve saved the app, built it, and sent it to the iPad. How do I test opening it via the URL Scheme. I’ve tried entering csprintbridge:// into safari address bar but that’s not working.

Thanks in advance.

Hi @Barney_Hyde

  1. Add “csprintbridge” (without the colon and slashes) to the Custom URL Scheme option under Capabilities:

  1. Add the code you want to run to the HandleURL event in the App object:

  2. Run the iOS app and type, for example: “csprintbridge://helloThere” in Safari.

  3. Once you confirm the url in Safari (tap the Return key, for example), it will display a dialog to confirm you want to open it in the iOS app:

  1. Tap on the “Open” button, and the HandleURL event will be called in your iOS app:

1 Like

Amazing…thank you very much Javier, that’s worked perfectly and is running in the debugger and on the iPad.

Next question, Is there a way to prevent the message popping up asking me if I want to open the app?

I really need the function of the app to just happen without the user needing to do anything. It’s for a POS online ordering system receiving orders and printing them to the receipt printer. This app is effectively a printer driver, receiving the data and sending to printer.

The POS app that receives the order from cloud and sends to this app for printing is ours though so we can configure the href call to csprintbridge:// however we like. I’ve read up on this in the Apple Dev docs and I think it can be done, but do you have any experience of this ?

Many thanks.

I guess you want to use the Universal Linking Association feature instead. For that, you can find documentation about how to implement them here.

OK thanks for that.

Quick follow up… As an experiment I’ve just built another app with a button that makes the call

System.GoToURL("csprintbridge://hello?testvalue=true")

This actually launches the app without a popup message successfully. It presents the popup
in the Simulator, but on the iPad it doesn’t ? How reliable that will be is questionable.