web-dev-qa-db-fra.com

La méthode 'application: openURL: options:' n'est pas appelée

J'essaie d'ouvrir mon application à partir d'une page Web à l'aide de schémas personnalisés. L'application est ouverte mais la méthode suivante n'est pas appelée:

func application(_ app: UIApplication, open url: URL, options [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
    // This is not called
}

Ma info.plist ressemble à ceci:

    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>MyApp</string>
            </array>
            <key>CFBundleURLName</key>
            <string>url here</string>
        </dict>
    </array>

Le projet est créé avec Xcode 11.1, et je teste sur iOS 13.

7
Jabson

J'ai rencontré un problème, en utilisant le raccourci safari pour démarrer l'application, le rappel openURLContexts plusieurs fois.

2019-12-09 18:33:41.257088+0800 OCTEST[5019:1468254] openURLContextsopenURLContexts {(
    <UIOpenURLContext: 0x2805a71c0; URL: appoctest://action=123123123; options: <UISceneOpenURLOptions: 0x280bd4750; sourceApp: (null); annotation: (null); openInPlace: NO>>
)}
2019-12-09 18:33:42.022132+0800 OCTEST[5019:1468254] openURLContextsopenURLContexts {(
    <UIOpenURLContext: 0x2805a6d40; URL: appoctest://action=123123123; options: <UISceneOpenURLOptions: 0x280bd6f70; sourceApp: (null); annotation: (null); openInPlace: NO>>
)}
0
Sheldon