在从AlipaySDK运行https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1演示时,发生了一些奇怪的事情。
从xcode中的日志输出来看,有超过10个日志需要说明
-canOpenURL: failed for URL:" momochs ://“-错误:”此应用程序不允许查询方案莫诺什
在演示中没有源代码可以通过简单的搜索打印出这样的东西。而静态库只是做付款,不应该做这样的检查,根据我的理解。
这里的问题是要弄清楚为什么会发生这种情况,或者对演示或其他设置有什么错误吗?
2016-03-02 15:58:55.998 AliSDKDemo4491 4491:1610409 -canOpenURL: failed:"momochs://“-错误:”此应用程序不允许查询方案momochs“2016-03-02 15:58:55.999 AliSDKDemo4491 4491:1610409 -canOpenURL: failed:”财付通//“- -canOpenURL:”此应用程序不允许查询财付通方案“2016-03-02 15:58:55.999 AliSDKDemo4491:1610409 -canOpenURL: failed:"com。Icbc.ipheclient://- error:“此应用程序不允许查询方案com.icbc.iphoneclient”2016-03-02 15:58:56.000 AliSDKDemo4491 4491:1610409 -canOpenURL:-canOpenURL:"wx2654d9155d70a468://“错误:”此应用程序不允许查询方案wx2654d9155d70a468“2016-03-02 15:58:56.000 AliSDKDemo4491 4491:1610409-canOpenURL:-canOpenURL:”meituan0000 0000://“错误:”此应用程序不允许查询方案。“meituan0000“2016-03-02 15:58:56.000 AliSDKDemo4491 4491:1610409 -canOpenURL: failed:"sinaweibo://”错误:“错误:”此应用程序不允许查询方案sinaweibo“2016-03-02 15:58:58:56.001 AliSDKDemo4491 4491:1610409 -canOpenURL: failed:"dianping://”-错误:“此应用程序不允许查询方案dianping”2016-02-15:58:56.001 AliSDKDemo4491:1610409 -canOpenURL:-canOpenURL: failed:"diditaxi://“-错误:”此应用程序不允许查询方案diditaxi“2016-03-02 15:58:56.002 AliSDKDemo4491 4491:1610409 -canOpenURL:"cn.12306://”-错误:“此应用程序不允许查询方案cn.12306”2016-03-02 15:58:56.002 AliSDKDemo4491:1610409 -canOpenURL: failed for:" mtxx ://“错误:”此应用程序不允许查询方案mtxx:mtxx://““2016-03-02 15:58:56.002 AliSDKDemo4491 4491:1610409 -canOpenURL: failed:"youku://”--错误:“2016-03-02 15:58:56.003 AliSDKDemo4491 4491:1610409 -canOpenURL: failed for URL:"baidumap://”- -canOpenURL:“此应用程序不允许查询方案白假人”2016-03-02 15:58:56.003 AliSDKDemo4491 4491:1610409-canOpenURL:-canOpenURL: failed:iosamap://-错误:“此应用程序不允许查询方案iosamap”
发布于 2016-03-02 08:18:09
为什么有这么多canOpenURL?
因为他们想知道安装了哪些应用程序,直到iOS8,知道你安装了哪些应用程序是一个丑陋的诡计,他们基本上有一个他们想知道的应用程序方案列表,所以他们会对每个应用程序方案进行连续的canOpenURL调用,然后获取数据并将其发送回他们需要的任何目的的服务器。
谢天谢地,在iOS9中不再允许这样做,因为您需要提供应用程序将对其进行canOpenURL调用的方案列表,调用不在info.plist中的url方案将导致您看到的日志警告。
奇怪的是,我得到了如下日志信息,但找不到任何源代码来打印这样的东西。
SDK不是开源的,所以您无法查看它们的代码,代码在静态库*.a文件中
只是想知道,如果没有源代码,他们怎么能做到这一点?有什么技术可以做到这一点吗?谢谢
这没什么特别的,如果您编写一个项目并将其构建为一个静态库,您将获得.a文件中的编译源代码,您可以将其导入到其他项目并在其中使用,只要您有适当的头文件,AliPay就是这样做的
希望这能清除混乱,我建议不要再这样做了,不要让他们做那种特技。
你总是可以在你的info.plist中添加这些方案的列表,但是你必须自己向苹果解释为什么你需要打开这么多的应用程序,再一次,非常糟糕的想法,简单地忽略它,你就好了!
https://stackoverflow.com/questions/35741601
复制相似问题