canOpenURL用于打开其他应用-在模拟器上不起作用

我正在尝试从部署目标为8.1的应用程序中打开Yelp

我面临的问题是我的代码无法在模拟器上正确评估。我的设备是iOS 10.3,在该设备上运行正常(Yelp打开),但是我需要检查一下是否可以在旧版iOS的模拟器上运行!

    let urlStr: String = "yelp://"
    let url = URL(string: urlStr)
    if UIApplication.shared.canOpenURL(url!) {
        print("can open")
        if #available(iOS 10.0, *) {
            print("10")
            UIApplication.shared.open(url!, options: [:], completionHandler: nil)
        } else {
            print("NOT 10")
            UIApplication.shared.openURL(url!)
        }
    }
    else {
        // Can not open URL
        print("can not open url")
    }

在模拟器(iOS 8.1)中,以下内容将打印到控制台:

can open
NOT 10

但是,这是错误的!Yelp未安装在模拟器上-但如果是这种情况,将无法print("can not open url")评估?

这是info.plist中的URLTypes / LSApplicationQueriesSchemes。

这是info.plist中的URLTypes / LSApplicationQueriesSchemes。

我上面的代码有什么问题吗?如何在模拟器上正确测试Yelp的打开状态,在那里我可以对各种iOS版本(从8.1开始)进行质量检查?谢谢朋友。

true之所以返回,是因为在您的URL方案中有一个项目yelp,基本上,系统会在您调用时尝试打开自己的应用程序openURL更改该项目并再次测试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Google应用程序上的操作在手机表面模拟器上不起作用

带有facebook / gmail的OAuth在iOS模拟器上不起作用(Cordova应用程序+ Firebase)

Tizen 模拟器可穿戴 Web 应用程序样式不起作用

模拟器不起作用-在iPhone 5s模拟器上运行完毕的应用程序时出现空警报

Android HttpUrlConnection Url在模拟器上不起作用

后台音频在模拟器上不起作用

库在模拟器上不起作用

ScrollView在模拟器上不起作用

适用于Android的Visual Studio(2015)模拟器不起作用-XDE.exe-退出代码3

Firebase Phone Auth在iOS模拟器或真实设备中的flutter应用程序中均不起作用

自动布局在iPhone 6设备上不起作用,但在模拟器上起作用

SQLite在实际设备上不起作用,但在模拟器上起作用

为什么我的代码在设备上不起作用,但在模拟器上起作用?

JPlayer在Firefox Android上不起作用,但在所有其他浏览器上都起作用

单击在iOS 8模拟器[Xcode 6.0.1]上不起作用

Android-adb setproppersist.sys.locale在模拟器上不起作用

Firebase数据库在Android模拟器上不起作用

iOS:float16_t在模拟器上不起作用

在PhoneGap / Cordova中安排本地通知在iOS模拟器上不起作用

登录按钮在移动设备上不起作用,而在模拟器上正常工作,颤动

XML中的字体在模拟器API上不起作用23

React-Native-Maps Lite模式在Ios模拟器上不起作用

MKLocalSearchCompleter在物理设备上不起作用,但在模拟器上可以正常工作

Firebase 在flutter web 上不起作用,但在android 模拟器上运行良好

keyboardType 'number-pad' 在 android 模拟器或 android 设备上不起作用

ui-sref在ionicview上不起作用,但在浏览器,设备和模拟器上起作用

其他Python库在MacOS上不起作用

iOS背景音频流(m3u)在设备上不起作用(但在模拟器中起作用)

我的按钮在移动设备上不起作用,但它在 chrome 上的移动模拟器上起作用