作为一个 macOS 和 Windows 双持的野生程序员,一直有个痛点:在 Windows 上有 Ditto 这种神器,而在 macOS 上,虽然剪贴板工具不少,但总感觉差点意思。要么是功能太简单,存不了几条记录(我想存几十万条那种,当归档记事本用了);要么是没法搜索/功能太少;要么就是缺少“局域网同步”这种功能(不喜欢 icloud 同步)。
既然找不到完美的,那就自己动手造一个吧。
![]()
这是我第一次尝试用 Go 开发 macOS 应用。不得不说,Go 还是很省内存,我的 app 常驻后台也就使用 40MB 左右的内存。打出来的包整体在 10MB 左右,个人觉得也没比原生应用差太多。
使用倒排索引,即使存了几万条剪贴板记录,搜索起来也是秒开(不过至少要搜 3 个字符)。
取名叫 OnlyPaste,最初只是想做一个纯粹的粘贴工具,但写着写着就收不住了,把我想用的功能全加上了:
等等
开发过程中也踩了不少坑,特别是 macOS 的沙盒机制和 CGO 的交互,头发都掉了一把( macos 上架对权限要求的太严格了,主要是辅助权限那块)。不过看到成品运行在自己的菜单栏里,还是比较有成就感的。
为啥不用 swift 写?实在是不想再学一个语言,我觉得 go 配合 ai 肯定能胜任,实在不行就写 cgo 调 mac api 嘛。。(事实也的确如此,核心功能、内购基本都是通过 cgo 调用来实现的,还比较复杂)
目前 App 已经基本稳定了,基础功能免费,为了回血搞了个 Pro 版(主要是局域网和显示数量,其他功能都共有),定价也比较便宜。免费版对于日常使用也够了。
大家感兴趣的话可以去下载试试,也欢迎各位大佬提提意见,轻喷哈!
app 下载地址:
https://apps.apple.com/us/app/onlypaste/id6758364019
也可以直接搜 OnlyPaste 。下面放免费码,希望各位大佬体验下,给出意见,感激不尽。
关于技术栈补充一下: 后端用了 Wails v3 (Go),前端是 Vue3 + Naive UI 。为了搞定 macOS 的原生剪贴板监听,还专门写了不少 CGO 代码去调 Cocoa 的 API ,还有内购代码也全部是纯 cgo 写的,有点折磨人了……
送内购免费优惠码,人多再接着发,祝大家新年快乐,事事顺心~
7T6L6KPMY6EP
PPT77L7F4H6H
9A6RXFXPEKLF
WKRKKKLFRAFN
KK3RWA7WLLJL
WANLN9JYT4W9
73X9NJJXP7XA
XRFHYNFKRJKP
NPMTJ44AWKWJ
MLWXX36HR4TM
4YTPY9PNKH3P
9PP4MM4PMEYX
6TP9FK9MJRAL
MFPXYAX3476Y
MEL7JNFP7W7A
3JYTRMWFNWWM
JFFHWAYR36AK
WJ4AKXP44RFK
MRRF497HMXXR
6HNF6FKTHY7M
7F6FYLKPAH4F,PTX3MTM9L4WE,N34L7MJAPWN3,XRXR7HWLW7WN,
EHJ9F7MRRK7M,WX96NPF9EH3K,NMR4TNFY6YPT,R3FMNXJRTHNF,
3PMP4XPWHYJR,KTHYYYLMMMTH,W3EW9F9HE9PH,W4RWM9HAA67T,
4FA7XLL3ME7H,THW7LNWMM9XY,TY43AKJAEEFR,4AAN4HAEPAA9,
AEL4FTT3E66F,L4WMTRHNHNJA,JKRA7MT3964W,NJK9MTW9E347,
376LKRTWHAFE,EREPFRJFKKT9,KYPPH3TY44LH,K4WJ3TJ937L9,
4N43LXAJPK4K,NJF6W97LJAR6,97JHJJ4MPXM3,NTYWWRX4JHML,
K7NE33PJNPYW,AE4EKP3PNP43,KM6K9YWMWMF9,TFR9LR6R3A3T,
NEK3MPRXYWHK,3EX3EA3TY4P9,H7YLERE4F6EX,3LFALPK3HTXN,
ATY3FWE9XM9K,4X4EEYME3F9R,MM6AX7JPRFFM,MYA3RRW4PKE7,
MMRWKK76XXFX,JPFWKY6K7JRE,MYEHP49JKKTK,AHMWLXN4RHKY,
F4A4T46WFP4A,KKWLNAY9ANXW,APMXF7MKFY4M,79KJEWLK3MTA,
HJ644EMP6X4T,96WPXWXY3P46,4R4LLNFH7Y97,KXYNTP3MKELM,
KERWK3EYHMX6,MKATXN4PLATX,PJTET3FXNP3L,LX4HERFL7KNR,
947KRRP3WAKF,JN69FL6TW4XE,N6PRF6FAP7LL,FRJEYLXLATLF,
E3LJ7ARK4JX3,7RT93MEYY6YP,7J6P6EKTHK4L,WWXRF393TXAM,
64X79RYR6HEH,TN6HAR3E9PLJ,7AMT4JKL9KFP,3KRYTNL3X9L9,
MN3KFP463YRA,JAHMLAJANREN,7XEAEHF6JN74,E77APPMEET6L,
77KPJEJPRXNL,RPNK3HXAY4ET,4R3LJ97RXH33,6LXYJR4J6LK4,
XLFEJRK9YTA4,9XYT4YWL9A3M,X6XREA6MAMJM
补充一个技巧:到 mac设置——隐私与安全——辅助功能给 app 开启辅助功能权限后,这样点击后会自动触发内容粘贴;如果未开启,会写入系统剪贴板,需要自己粘贴;
当然如果比较习惯/喜欢自己粘贴的话,就不必开辅助功能权限~
关于pro定价,主要是为了每年700元上架费回血,pro国内定价只需要12元,一杯奶茶钱(注意国外定价是5美金比较贵,建议在国区购买),个人觉得不算非常贵,我这边能放的兑换码也全部放出来了;app我也一直自己在用,所以有bug、需求欢迎大家提出来
关于golang/wails在macos上的开发技术,也欢迎大家一起沟通,这边还是积攒了不少经验的,之前开发的开源kafka-king也有1K多star,不少v站朋友用过
祝大家新年发大财~
101
bronyakaka OP @usedname 谢谢老铁 新年快乐
|
102
colvv 2 月 26 日
提个建议,预览的时候 支持 通过 左右、或者上下来做切换,我复制了多个图有时候想对比一下
|