-canOpenURL: failed for URL: "x://" - error: "This app is not allowed to query for scheme x"
The app called canOpenURL for a scheme not listed in LSApplicationQueriesSchemes in Info.plist.
Seen on:
iOS
Meaning
Since iOS 9, apps must declare schemes they query (up to 50). open(_:) works without it, but canOpenURL returns false.
Common causes
- Scheme missing from LSApplicationQueriesSchemes
- Plist entry in a different target
- Typo in the scheme name
⚡ Quick fix
- Add the scheme (without ://) to LSApplicationQueriesSchemes
- Or skip canOpenURL and call open with a completion handler
Detailed fix by platform
XML
- swift
<key>LSApplicationQueriesSchemes</key> <array> <string>whatsapp</string> <string>comgooglemaps</string> </array>
How to diagnose
- Plist — Scheme listed?
- Target — Right Info.plist?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- ATS App Transport Security has blocked a cleartext HTTP resource load
- attempted to access privacy-sensitive data without a usage description This app has crashed because it attempted to access privacy-sensitive data without a usage description
- built for iOS, linking for simulator Building for iOS Simulator, but linking in object file built for iOS, for architecture arm64
Most viewed in iOS
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026