在 Node-API (或者称为 N-API) 发布之前,通常的 native 组件都是依赖特定版本的 v8 以及 NAN API 来实现 C/C++ 的调用。随着 NodeJS 的版本或者 v8 API 的版本变动,这会导致使用了 native 组件的项目升级其 node 版本都需要考虑其版本之间的兼容性,特别是遇到...
  • 2024-11-27
最近 React Native 团队发布了 react native 0.76 稳定版,各位小伙伴有没有升级上来呢?新架构从 2018 年开始说要弄新架构到现在已经五六年了,现在终于也是在这个版本 默认启用新架构 了。 新架构在性能上提升还是很大的,也有很多值得我们关注的地方。当然完整的新架构其实包含了很多部分,比如说...
  • 2024-10-29
应该说很早之前我就注意到终端启动时加载时间过长(有时候达到 5s 以上)了,且我忘记是去年底还是今年初时,我也分析过自己的 .bash_profile 发现 nvm 是耗时增加的最大凶手有时候能达到 3s 左右的耗时,极大的拖慢了终端的启动速度。刚开始我也是参考一些社区解决方案,在 nvm 初始化的时候添加了 -no-...
  • 2024-10-03
最近在调查一个 WKWebView 报错找不到 domain 的问题,于是就需要在报错找不到域名的时候手动通过 CFHostCreateWithName 去查询一下 DNS 是否正常能够解析。 我们先的定义一个 HostAddressQuery 类其中包含待查询 hostname 的 name 成员变量、CFHost ...
  • 2024-09-22
还记得大概在一年前写下的 NodeJS 实现 http client proxy 请求转发,在博客结束时挖了一个坑说要在 IOS 中实现一个 HTTP Proxy 反代的,到现在还没填上呢。今年年初在做 懒猫微服 通过 wifi 局域网扫描设备功能的时候发现,在 IOS 中 network extension 中向网关...
  • 2024-08-25
众所周知 React Native 自 2021 年开始就宣布支持新的渲染器 Fabric 并开始逐渐迁移 新架构 ,据 RN 开发团队的计划逐步迁移并在 2024 年底将会将新架构上线到 RN 正式版默认启用,并逐步放弃对旧架构的支持(当然段时间不会立即将旧架构部分移除,会在一定时间内保持兼容,就如同燃油车到电车的过...
  • 2024-07-27
在治理 IOS 应用崩溃之前我们肯定得需要先收集应用的 Crash 日志,然后可以参考我前几天写的 IOS Crash 日志分析调查入门实践 定位并解决问题。至于在得到设备的情况下能够在手机的设置中导出应用 Crash 日志或者使用 Xcode 导出日志的常规操作有很多前辈都在博客里提到了,我就不重复赘述了。那我们如果...
  • 2024-06-03
在之前没记录任何日志的时候,想要分析 IOS 应用崩溃只能靠重现步骤,然后在自己设备上重现后通过调试 crash 崩溃断点分析具体原因。但其实到后期很多明显的 crash 都已经被解决的差不多了,于是我就利用 NSSetUncaughtExceptionHandler 接口捕获异常并通过 Thread.callStac...
  • 2024-05-29
在 IOS 客户端上,为了方便开发且我们小伙伴们前端技术栈也会更熟悉一些,所以 IOS 客户端的架构我选择了用 WKWebView + Vue3 来开发客户端的 UI 部分。 当然既然选择了 WebVIew 的方式来写,有几个点肯定是绕不开的,首先就是目前的 SPA 单页应用无法直接通过 file://index.ht...
  • 2024-05-08
最近在上架应用时 App Store Connect 总是给我发送邮件说我提交的版本有问题,邮件内容大致如下 导致出现这个情况的原因是 Apple 增加了一个 隐私清单文件,最近强制要求上架应用都需要声明所使用的涉及隐私数据相关的 API 都需要说明原因为啥需要使用,并且在 2024 年 5 月 1 日后上架的应用如果...
  • 2024-04-07