编程开发

swift4 urlSession get和post网络请求

废话不多说,直接上代码。

GET:

POST:

 [……]

点击跳转以继续阅读

Swift 中如何使用字典类型作为泛型约束

今天学员群里有人提了这么一个问题,为什么把特性的字典类型作为泛型类型约束的时候,就必然报错?

显然,说的很明确了,“你不能从一个非协议、非类的类型继承”。显然,字典是个泛型结构体……

那么解决思路也很明确了,创建一个[……]

点击跳转以继续阅读

NSTextField 文本模糊的解决办法 canDrawSubviewsIntoLayer

在开发落格输入法 macOS 的过程当中,我一直被一个奇怪的问题所困扰——文本模糊。

次像素

无论我怎样调试,落格输入法的候选文字都无法达到原生文字的那样清晰和锐利。在请教了大神之后,得到的活久见经验是——上游次像素渲染 bug。

在很多平台都有类似问题,macOS[……]

点击跳转以继续阅读

落格输入法 macOS 是如何处理 ascii 0x01 的兼容问题的-macOS 输入法如何正确设置 buffer

早在去年,落格输入法的用户就有报告说落格输入法 macOS 在 有道云笔记 的 MarkDown 模式下无法正常键入中文,经过测试证明确实如此,体现为打中文字的时候,buffer的刷新会奇怪的删除掉光标前的一个字符——对,不多不少,就删一个。

捣鼓了很久未果,最后我没招了打印出了所有内容,发现[……]

点击跳转以继续阅读

落格输入法是如何在 iOS 上反账号共享盗版的

对于 iOS 开发者来说,面对 app 盗版,最大的问题不是技术破解,反而是越来越多的 Apple ID 共享盗版,有的人可能会说这样的盗版就相当于是“试用”了,喜欢的人自然会去入正……但实际上,由于一分钱共享账号盗版的存在,导致无数独立开发者最终走向了投简历。

总之,去年,Surge 的作者[……]

点击跳转以继续阅读

NSView 在 10.12 不显示 shadow 问题详解

在 iOS 上,如果我们要一个 View 显示阴影,那么基本上是这么做的:

不过,到了 macOS 上,这样就不灵了——没有任何效果。

答案在于 macOS 上如果你想要给一个 View 使用 [crayon-68ffb38[……]

点击跳转以继续阅读

macOS 键盘按键 event 的三种截获方式

一般情况下,你不需要了解这些内容。

在极少数情况下,你的app可能需要去获取用户按下的按键信息,比如盗号木马 开发一款输入法。只有这样你才能给用户提供候选。

怎么在 macOS 下创建一个输入法,我在Swift 使用 InputMethodKit 写输入法这篇文章中有详细的说明,这里略过[……]

点击跳转以继续阅读

winform 使用 视频 作为窗口背景

最近做 Windows 上的项目,客户要求要做的“炫”一点,所以,动态的窗口背景永远是必不可少的内容(比如手机qq的登录界面对吧?

我本以为这是一个很容易实现的功能于是就满口答应下来……是的,在 winform 里,并不是那么容易就能达到你想要的效果的。

理所当然,我们想到如果要播放视频[……]

点击跳转以继续阅读

Android 安卓开发板 读取串口

最近接了个工程,需求是给特制的工程安卓板子做串口读写以实现一些特定外接设备的互动——是的你没有看错,安卓板子也是可以有串口的!

很多做移动开发的朋友可能没接触过——其实在这之前我也没接触过。踩了七八个小时的坑,终于爬出来了,这里做一个总结,可能各个工程板子具体情况不同,大家一定要随机应变。[……]

点击跳转以继续阅读

多显示器下判断窗口位置 macOS

在开发落格输入法的时候,我遇到了这么一件事情,就是作为候选栏的窗口会在屏幕边缘的时候超出屏幕去!所以,在显示窗口的时候我根据坐标做了额外的检查:

总之,就是说如果坐标算上自己的宽度超过了屏幕的宽度,就把它挪回来。

但是,这样[……]

点击跳转以继续阅读

如何让 NSWindow 显示在不同的 Space 或者 Screen 中

在写落格输入法 Mac 版的过程当中,我遇到了这么一个问题,系统的候选条 API 年久失修,很多功能 API 存在但根本无效,比如:

这个方法是用来设置候选条风格的,里边除了默认的[crayon-68ffb3841ddf80785[……]

点击跳转以继续阅读

URL 遇到 中文字符 无法初始化

在 Swift 中,大家经常会用 URL 来初始化一个路径,比如网页的链接。比如这样:

当用户点击按钮(比如说这个帮助按钮),那么一下子就帮用户打开默认的浏览器,并打开指定的页面(这里是个论坛)。

那么,如果你的链接是这样的[……]

点击跳转以继续阅读

如何给服务器端做最基本的密码安全

做 app 做网站,难免要和服务器、后台、数据打交道,那么作为一名后台开发,当涉及到注册登录,你最应当想到的应该是用户的安全,尤其是密码安全。

现在安全界几乎天天都有某网站、某公司被脱裤,也就是整站的数据库被偷走被下载。那么你的用户数据全部落入了歹徒手中,应该怎么防范即使如此,歹徒也不能拿到用[……]

点击跳转以继续阅读

落格输入法是如何实现按键音的

众所周知,落格输入法不需要获取“完全访问权限”,所以根据苹果的权限,自然就无法播放按键音了。

不过,最近的落格输入法更新中加入了这一功能——在后续的版本中甚至可以加入按键震动了。然而我还是无需获取“完全访问权限”。

那么,我是怎么做到的呢?

iOS 里的声音和震动

其实是同一回事[……]

点击跳转以继续阅读