遊戲/程序/更新/二次開發/小作品相關發佈
Jun 22
WWDC20221讲到iOS15在相机部分新增了不少识别相关的功能,一种有一项就是人物聚焦——对应背景模糊。同时,我们排查SDK变化时,注意到CIFilter新增了一个personSegmentationFilter,看起来就是对应这个功能的实现了。不过翻阅文档https://developer.apple.com/documentation/coreimage/cifilter/3750390-personsegmentationfilter?language=objc,苹果真是啥都没有讲。尝试了之后,我得到了能实现人物聚焦(背景虚化)的效果的CIFilter使用方式。
Jun 10
iOS15在UIKit中的改动并不多,其中一大项目是为UIButton新增了UIButtonConfiguration功能,为标准化button组件样式复用增加了更多的可能性。
之前我提过从里氏替换原则的角度,目前我们常用的复用UIButton的方法——继承+约束,其实是不合理的,那UIButtonConfiguration能解决我们的问题么?看起来不能。
Oct 31
遇到这个问题的场景是,在react-native容器里,我们可以通过react-native-canvas绘制图片,并且拿到图片的base64信息。但是怎么把这个base64上传到服务端呢。谷歌搜索一番,一般的做法是通过类似于react-native-fs储存到本地,然后通过给地址的方式从formdata上传文件。由于我们的react-native容器有一套几乎和微信小程序一样的请求api,我们也搜索了小程序一般上传base64文件的方式——通过filesystemmanager储存到本地,然后通过uploadfile桥上传。
Jul 9
背景:我们做一些辅助工具库时,为了对目标库进行最小的入侵,往往会通过方法交换来实现特定的节点完成特定的操作。这样的代码假设我们有一个Utils要入侵A,只需要U依赖A即可。但是偶尔会有这种情况,我们的Utils适配了ABCDE五个库,比如我是一个流量统计库,对这五个库的网络操作进行了抓取。但是我Utils并不适合直接依赖这五个库,而是期望用户实际引用到啥,我就统计啥。

因此,需要实现的是Utils不依赖目标库,也不依赖目标类,来实现方法交换。
Jul 1
在iOS项目开发过程中,我们总是会加入一些开发者工具相关的代码,通过DEBUG/TEST宏或者其他形式防止相关代码引入到线上。但是随着我们做组件二进制化对相关类进行编译后pod沉淀,相关代码的处理就麻烦起来了。

- 首先明确,组件二进制化是iOS工程化的整体趋势,不可阻挡

那对应的,对于有开发者工具区分的二进制pod,我们如何进行管理呢?
Jun 30
上一话http://lrdcq.com/me/read.php/106.htmWidgetKit是从StaticConfiguration入手的,而避开了实际上应该更常用的IntentConfiguration。而理解在WidgetKit中出现的Intent,显然不能按照Siri中的Intent去理解了。在WidgetKit中,Intent更多的是用来呈现长按配置菜单中的选项,简单的来说,Intent是一个配置表。如下图:
Jun 28
iOS14开放给开发者的大一统的小控件WidgetKit出来了。作为“抄袭安卓”的必不可少的一步。初探下苹果如何在偏向于安卓的高自由度,高可配,和自己风格的安全,隐私,高性能之间作出平衡,最终设计出的这个WidgetKit呢。

概览

點擊在新視窗中瀏覽此圖片
Apr 12
由于国家公祭日等一些原因。我们客户端也需要将部分核心页面置灰。虽然可以通过预留的大促方案或者主题化方案进行配置。但是,1. 相关方案的配置并不彻底,一般多多少少会有遗漏的地方,那在这类场合会相当眨眼。2. ugc内容无法控制。因此,我们需要尝试一个更通用的方案进行处理。

方案对标