boybeak The fortress besieged of an independent developer
Contact Me
Github X Email
My Apps
Banner Dog AOD Volume JustTodo DeskNote Translator
Donate Me About
Boybeak Tags Android 陷阱与缺陷 Kotlin Translator J2V8 Camera macOS 静态库 JustTodo 面试 Hexo Jekyll Material Design Github Categories 源码分析 Android技巧 陷阱与缺陷 Kotlin Native Translator 独立开发笔记 面试笔记

Category: 独立开发笔记

  • Tray - macOS菜单栏app开发库

    最近开发了JustTodo和DeskNote两个macOS应用,都是启动入口在菜单栏的,通过菜单栏上图标点击,快速执行相关操作,这让我想起我开发第一款菜单栏app Translator时的痛苦。因为想使用最新的SwiftUI作为UI框架,但是此框架构建菜单栏app的资料很少,大多数都是生成一个简单菜单,而不是可以自定义的复杂界面,尤其是用swiftUI构建的界面。 为了解决这一痛点,在总结了JustTodo和DeskNote两个macOS应用开发经验后,决心自己做了一个菜单栏应用快捷库Tray,方便以后使用。
  • 发布Swift Package库

    最近开发JustTodo时,发觉把处理托盘应用的代码封装起来是很有必要的,这样的话,在以后开发其他应用时,便不需要一而再的写重复代码。以前发布过很多Android平台的类库,但是对于macOS平台的swift库,我还是第一次。 再次吐槽一下苹果生态下的包管理,挺混乱的,最终我选择使用最新的Swift Package Manager
  • JustTodo开发(五) SwiftUI + web

    初版完成以后,发现了一个问题,就是web中的输入框不接受复制/粘贴的快捷键(cmd+c, cmd+v),触发快捷键时,会弹“咚”一声系统音,暂时在AppKit下没能解决这个问题,搜了很多资料,比如这里-Cut/copy/paste keyboard shortcuts not working in NSPopover,想要支持这两个快捷键还是很不容易的,其实包括cmd+x, cmd+a也都不支持,但是我想到之前写的同样是托盘应用Translator,这个就支持这些快捷键,让我突然想到,是不是可以在SwiftUI下,封装一个WKWebView,然后再加载web内容呢?
  • JustTodo开发(四) 初版完成

    初版已经完成,从切换到SoberJS,基本上只用了一周,便写出来了,如果是使用macOS的原生开发方案,可能现在还困在各种不兼容中。
  • JustTodo开发(三) 更换技术路线,跑步前进

    在尝试使用AppKit原生开发界面几天后,我还是放弃了这种尝试了,其羸弱UI表现力,真的是让搭建界面的我心力交瘁。转而,我尝试使用web的形式来开发,即NSPopover中嵌套WKWebView的方式,配合原生层提供一些数据库接口。
  • JustTodo开发(二) 界面初始化

    一、界面布局 一个简单的界面布局描述如下: --------------------- | | | | | | | | | | 1 | 2 | | | | | | | | |---------------| | | 3 | --------------------- 简单分为3个区域: 导航 - 用于做Todo Item的分类导航,是一个列表; 内容 - 展示当前分类下的Todo Items; 输入 - 在当前分类下创建新的Todo。
  • JustTodo开发(一) 项目初始化

    正如很多开发者一样,进入一个新平台开发连带学习,通常都会开发一个极简的应用,很多人都会开发Todo类应用,这类应用一般来说比较简单容易上手。我也打算开发一个,一来是练手,二来是写一个自己用的极简Todo类应用。 目前市面上的Todo类应用,一般来说,都比较复杂,太多我不需要的功能了,而且还有一些增值付费,对于我来说,根本没有那么多的复杂需求,只需要一个随手打开和关闭的记录而已,放在托盘上就非常的方便。 所以,需求如下: macOS托盘应用,随手打开和关闭; 带有分页标签,以便标记不同类型的todo; 最好有利用iCloud的数据云同步,方便未来与其他平台同步数据;
  • MacOS SwiftUI托盘应用开发

    最近想利用闲暇时间,做一些托盘工具类app的开发,主要是方便自己在Mac上的部分操作。在遇到各种问题后,总结了一下实现托盘SwiftUI应用的两种方式。 小声吐槽:swiftUI在macOS上的适配真的是很烂,相当多的组件可以说是不完善甚至是不可用的状态,似乎苹果也没有完善的意思,这已经是swift迭代到5.10了啊,竟然还有这么多问题存在。
  • MacOS项目引入c语言源码

    在上一篇文章macOS项目中引入c静态库中,为阐述了如何在macOS项目中引入c语言的静态库,但是这样做有一个问题,就是静态库中的代码报错,会无法定义报错的位置,进而不利于排查问题。为了解决这个问题,我修改为源码引入c语言库。 很多教程中都提到,要引入c语言库的源码,需要将源码和头文件都拷贝到macOS项目的目录中,这样做,有一个弊病,就是对于需要引入c语言库的项目,通常都是想底层多平台支持,底层代码就需要独立于任何一个平台代码,如果要拷贝到macOS项目中,那后续修改和维护都会比较麻烦,实际上这是不需要的,接下来就阐述一下我这两天的实践。
  • macOS项目中引入c静态库

    最近在写一款多平台的文件传输工具,Android平台已经写的差不多了,现在正在写macOS端,为了多端共享同一套底层协议代码,通讯协议部分,使用了c语言开发,对于Android通过jni调用c的相关代码,我已经驾轻就熟了,但是在macOS项目里,添加静态库并成功调试,我还是有一些懵逼。好在通过ChatGPT的各种帮助,还是跌跌撞撞的调通了。为了防止遗忘,记录一下过程。