首页 > 解决方案 > 收到此错误:条件绑定的初始化程序必须具有可选类型,而不是“布尔”

问题描述

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

        if let isDynamicLink = DynamicLinks.dynamicLinks() .shouldHandleDynamicLink(fromCustomSchemeURL: url) {
            let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url)
            return handleDynamicLink(dynamicLink)
        }
        return true
    }

标签: iosswiftfirebasefirebase-dynamic-links

解决方案


⌥-click打开shouldHandleDynamicLink,你会看到声明

func shouldHandleDynamicLink(fromCustomSchemeURL url: URL) -> Bool

返回类型是非可选的。删除可选绑定

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

    if DynamicLinks.dynamicLinks().shouldHandleDynamicLink(fromCustomSchemeURL: url) {
        let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url)
        return handleDynamicLink(dynamicLink)
    }
    return true
}

推荐阅读