二维码和URL Scheme


=Start=

缘由:

从“让你的二维码,简单一点”这篇文章开始说起,里面有一段内容是介绍【当你扫码时,手机发生了什么】的,对于iPhone来说,其实是URL Scheme的概念,然后又提到了二维码的几个使用场景,让我想起了以前看过的几篇帖子/文章(【用Python的qrcode模块生成二维码】/【过年回老家,亲朋好友来串门使用 WiFi 太麻烦,写了一个 WiFi 管理和分享的小工具,欢迎大家使用】/【Mac 下 终端也能生成二维码了】),觉得里面有些内容还挺有意思的,而且相互之间还可以串起来,所以简单汇总记录一下,方便后面有需要的时候参考。

正文:

参考解答:
  1. URL Scheme的概念

URL scheme是系统提供的一种机制,它可以由应用程序注册,然后其他程序通过URL scheme来调用该应用程序。

它分为两部分:一部分是系统默认的URL scheme,另外一部分是应用程序自己注册的URL scheme。

例如:mailto:这种就属于系统默认的一种机制。访问一个mailto的url链接,可以直接调用本机的邮件客户端。

目前它已经被Windows、macOS、GNome、iOS以及Android支持。

  1. 当你扫码时,手机发生了什么

二维码的内容是一段文本,这些文本通过不同的前缀可以被手机识别为不同的数据类型。

以 iPhone 为例,使用自带的相机,或其它二维码识别 app 对二维码进行扫描的时候,会首先判断识别到的内容前缀,然后通过相应的 app 来打开该内容。如果是纯文本,则会使用 Safari 浏览器进行搜索。

实测需要 iPhone 和 iOS 达到一定的版本才能支持(iOS 11+)。而且有些具备二维码识别的 app 出于安全方面的考虑,仅会把二维码中的内容提取出来而不做进一步的应用调用处理。

  1. iPhone上面如何快速连接WiFi

根据一定的规则生成字符串,然后把字符串的内容放入二维码,再用iPhone自带的相机扫描,就会提示你连接Wi-Fi从而达到快速连接Wi-Fi的效果。

WIFI:S:My_SSID;T:WPA;P:password_here;H:false;
^    ^         ^     ^               ^
|    |         |     |               +-- hidden SSID (true/false)
|    |         |     +-- WPA key
|    |         +-- encryption type (WPA/WEP/WPA2-EAP/nopass)
|    +-- ESSID
+-- code type
  1. 如何快速生成二维码

方法一:使用在线工具

比如:草料二维码
https://cli.im/

pure JS WiFi QR Code Generator
https://qifi.org/

方法二:借助终端命令

$ brew install qrencode
$ qrencode -t ANSIUTF8 "https://ixyzero.com/blog/"

方法三:自己实现一个小工具

可以参考之前记录的文章“用Python的qrcode模块生成二维码”,也比较简单,这里就不重复了。

参考链接:

让你的二维码,简单一点
https://sspai.com/post/72727

用Python的qrcode模块生成二维码
https://ixyzero.com/blog/archives/905.html

过年回老家,亲朋好友来串门使用 WiFi 太麻烦,写了一个 WiFi 管理和分享的小工具,欢迎大家使用
https://www.v2ex.com/t/835565

Link / URL to connect to WiFi
https://superuser.com/questions/1223272/link-url-to-connect-to-wifi

pure JS WiFi QR Code Generator
https://qifi.org/

Mac 下 终端也能生成二维码了
https://droidyue.com/blog/2022/05/30/generate-qrcode-in-terminal-on-mac-or-linux/

qrencode
https://formulae.brew.sh/formula/qrencode

Defining a Custom URL Scheme for Your App (Use specially formatted URLs to link to content within your app)
https://developer.apple.com/documentation/xcode/defining-a-custom-url-scheme-for-your-app

How to Find and Use iOS URL Schemes for Shortcuts
https://medium.com/p/986c2540c788

Complete List of iOS URL Schemes for Apple Apps and Services (Always-Updated)
https://medium.com/@contact.jmeyers/complete-list-of-ios-url-schemes-for-apple-apps-and-services-always-updated-800c64f450f

Complete List of iOS URL Schemes for Apple Settings (Always-Updated)
https://medium.com/@contact.jmeyers/complete-list-of-ios-url-schemes-for-apple-settings-always-updated-20871139d72f

Find the URL scheme of an app on my iPhone
https://stackoverflow.com/questions/52318063/find-the-url-scheme-of-an-app-on-my-iphone

URL Scheme 查询指南
https://sspai.com/post/66334

含参数的 URL Scheme 收集.md
https://gist.github.com/JamesHopbourn/046bc341e7debfd0c86e3b388d983c53

如何寻找一个 App 的 URL Schemes
https://zhuanlan.zhihu.com/p/53439246

URL Schemes 收集整理
https://jiejinghe.com/posts/7887440252

URL Schemes 使用详解
https://sspai.com/post/31500

URL scheme是什么?能拿来做什么?
https://blog.csdn.net/lengye7/article/details/105799574

URL scheme
https://www.zhihu.com/topic/19568161/top-answers

从 CVE-2018-8495 看 PC 端 url scheme 的安全问题
https://paper.seebug.org/719/

=END=


发表评论

您的电子邮箱地址不会被公开。