swift - 从其他应用程序接收方案数据的功能未触发

标签 swift xcode

我在我的应用程序中使用方案将数据从第二个应用程序传递到我的应用程序。 我已经可以使用第二个应用程序的方案打开我的应用程序。 但现在我想解析从第二个应用程序发送的 URL 数据。我在网上找到了一个关于在我的 viewController 类中实现如下所示方法的教程,但该方法从未被触发。我需要把它放在特定的地方吗?现在它就在 viewController 类中。

这周我刚刚开始用 Swift 编码来创建 POC,我有更多的 Android 背景。

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

        // Determine who sent the URL.
        let sendingAppID = options[.sourceApplication]
        print("source application = \(sendingAppID ?? "Unknown")")

        // Process the URL.
        guard let components = NSURLComponents(url: url, resolvingAgainstBaseURL: true),
          //  let ro_response = components.path,
            let params = components.queryItems else {
                print("Invalid")
                return false
        }

        if let serial = params.first(where: { $0.name == "serial" })?.value {
            self.SERIAL = serial as String


        } else {
            return false;

        }

        if let otp = params.first(where: { $0.name == "otp" })?.value {
            self.OTP = otp as String

        } else {
            return false;

        }
        return true

    }

最佳答案

这是来自 UIApplicationDelegate 的方法,因此您必须在 AppDelegate 中实现它。

关于swift - 从其他应用程序接收方案数据的功能未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58353611/

相关文章:

swift - 连接 Swift 自定义键盘中的按钮时出错

ios - 循环遍历字符串数组(迭代图像)

objective-c - 使用 tabbarViewController.selectedViewContreller 没有推送下一个 View

xcode - iAd 横幅实现

xcode - 在终端中使用 codesign 命令签名后,使用 Unity 构建的 macOS 应用程序在启动时挂起

ios - 用于离线查看的 Swift iOS 缓存 WKWebView 内容

ios - 按钮移动后重置位置

iphone - 错误 : Symbol not found: ___CFObjCIsCollectable

ios - XCode 6 - iOS 8 : programmatically check if view is installed

objective-c - 目标指定产品类型 'com.apple.product-type.application'