亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不調用方法“ application:openURL:options:”

不調用方法“ application:openURL:options:”

iOS
海綿寶寶撒 2020-02-02 15:19:48
我正在嘗試使用自定義方案從網頁打開我的應用程序。該應用已打開,但未調用以下方法:func application(_ app: UIApplication, open url: URL, options [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {    // This is not called}我的info.plist樣子如下:    <key>CFBundleURLTypes</key>    <array>        <dict>            <key>CFBundleURLSchemes</key>            <array>                <string>MyApp</string>            </array>            <key>CFBundleURLName</key>            <string>url here</string>        </dict>    </array>該項目是使用Xcode 11.1創建的,我正在iOS 13上進行測試。
查看完整描述

3 回答

?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

scene(_:openURLContexts:)在您的場景委托中實施。


如果該網址啟動了您的應用,則您將獲得該網址scene(_:willConnectTo:options:),它位于中options。


查看完整回答
反對 回復 2020-02-02
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

使用最新的SDK,如果您不使用SceneDelegate,則可以正常工作。


如果使用的是SceneDelegate,則不會調用以下AppDelegate方法,因此無法處理登錄。


func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {

    let handled = ApplicationDelegate.shared.application(

        application,

        open: url,

        sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,

        annotation: options[UIApplication.OpenURLOptionsKey.annotation])

    return handled

}

這是因為(可以理解)將此方法推遲到SceneDelegate中的以下方法:


func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {

    ...

}

我可以確認適用于實現SceneDelegate的iOS 13應用程序的解決方案是:


func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {

    guard let url = URLContexts.first?.url else {

        return

    }

    let _ = ApplicationDelegate.shared.application(

        UIApplication.shared,

        open: url,

        sourceApplication: nil,

        annotation: [UIApplication.OpenURLOptionsKey.annotation])        

}


查看完整回答
反對 回復 2020-02-02
  • 3 回答
  • 0 關注
  • 3268 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號