你知道scheme和schema在计算机领域的代表含义吗?

今天在看一段程序源码的时候,看到使用了单词 scheme 作为变量名来表示协议类型。以前接触类似意思比较多的单词是 schema,所以比较困惑 scheme 和 schema 到底有什么区别。于是查了很多资料,终于弄明白了。先看下《牛津高阶英语词典》对这两个词的定义:

scheme
1. a plan or system for doing or organizing something 
2. a plan for getting money or some other advantage for yourself, especially one that involves cheating other people
3. an ordered system or arrangement
4. (Scottish English, informal) an area of social housing (= houses or flats for people to rent or buy at low prices)

schema
1. an outline of a plan or theory 

可以看出 scheme 可以理解为

指比较明确的具体的方案、计划、体系等。在计算机领域可以指例如术语词表、分类表等

schema 可以理解为

计划或理论的大纲,梗概、概述等。在计算机领域可以指编码规范、技术规范、数据使用规范等

总的来说,scheme 比 schema 指的东西更具体一些。

在iOS中启用微信分享的Scheme,通常需要以下几个步骤: 1. **添加URL Scheme**: 首先,在微信开发者中心注册并获取一个专属的URL Scheme,例如`wxapp_yourappid`。 2. **修改Info.plist文件**: - 打开你的Xcode项目中的Info.plist文件。 - 在`CFBundleURLTypes`数组中添加一个新的条目。 - 设置`CFBundleURLSchemes`键值为你的URL Scheme加上`@"\""`,如`"wxapp_yourappid"`。 3. **设置WKWebView** (如果你的应用包含WKWebView): - 如果你的应用使用WKWebView作为web视图,你需要允许WKWebView处理所有有效的URLs,包括你新添加的Scheme。在WKWebView的配置里添加: ```swift let config = WKWebViewConfiguration() config.userContentController.add(self, name: "handleOpenURL") ``` 然后实现`handleOpenURL`方法: ```swift func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { if let url = message.url { // 处理接收到的微信链接 handleUrl(url) } } func handleUrl(_ url: URL) { guard let schemeComponents = url.schemeComponents, schemeComponents.first == "wxapp" else { return } // ... 进行进一步的处理 } ``` 4. **处理分享链接**: - 当用户通过微信点击分享到你的应用的链接时,微信会打开一个含有特定参数的URL。在上述`handleUrl`方法中,你可以解析这个URL,根据其内容执行相应的操作。 记得每次更新App ID后,也需要更新Info.plist中的URL Scheme以及相应的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路多辛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值