-
HarmonyOS NEXT HAP安装工具
HarmonyOS NEXT 上的产物有 APP/HAP 两种,其中 APP 上架使用,HAP 用于非上架的场景(企业内部分发和调试包)。 APP 仅用于提交上架,不可以直接安装,只能通过AppStore下载 HAP 非上架发布的场景,可以本地安装,如果是企业发布的应用release模式下的hap无法直接安装 在实际项目中日常提测不可能每次都让开发直接给测试的机器build安装一下,还是需要提供安装包来使用。可以通过 Command Line Tools for ...…
-
使用脚本批量更新iOS开发需要的描述文件
每年到了开发证书过期的时候都需要手动一个个的更新项目的描述文件(mobileprovision),刚开始一两个手动操作一下几分钟也就完事了,如果几十个要一个个的手动去操作就太浪费时间了。有的时候还要补充添加一些新设备进来,又要重复执行一次,随便弄一下一上午就过去了。在之前公司项目中是使用fastlane match进行证书管理的,做法是使用 fastlane 生成证书描述文件,然后提交到git仓库里面。使用的时候只要指定仓库和identifier就可以自动搞定(参考下面的官方示例代码配置)...…
-
使用OpenSSL转换p12到pfx格式
年中有个服务使用到的签名证书过期了,需要重新生成一个签名证书。这个服务使用的是 .pfx 格式的证书文件,需要将 .p12 格式的证书文件转换为 .pfx 格式的证书文件。导出的方式比较繁琐:首先是在 macOS 上使用 Keychain 工具,将证书导出为 .p12 格式的证书文件。然后使用 Windows 管理主控台 工具,将 .p12 格式的证书文件转换为 .pfx 格式的证书文件。一般来说从Keychain导出的p12格式证书的证书链是不完整的,比如有的时候安装别人提供的 p12 ...…
-
macOS Sequoia剪切板获取文件路径的问题
收到一个问题,说升级到 macOS Sequoia,客户端复制文件粘贴到程序中通过代码获取的路径是 file:///.file/id=xxxx,而不是实际文件路径。之前的版本是正常的。从剪切板获取文件路径的代码:void get_file_names(void) { NSPasteboard* pasteboard = [NSPasteboard generalPasteboard]; NSArray* tempArray = [pasteboard pasteboardIte...…
-
iOS使用optool注入动态库
年初为排查性能问题写了一个动态获取函数调用耗时的工具(Kirin)。工具主要包括两个部分:macOS应用,负责发送采集指令,格式化数据生成 Chrome Trace Viewer 用到的 Trace Event Format 格式的数据;framework动态库,嵌入到App里,负责接收指令,采集耗时数据。使用的时候是直接将framework拖到项目里面运行项目就可以了,但是实际场景下Debug阶段可以通过Instrument更加的方便大多数时候需要定位生产版本的问题,就需要将现有的ipa...…
-
从Xcode中提取iPhone新机型信息
2024年9月10日,iPhone 16 系列正式发布,本次主要发布了iPhone 16、iPhone 16 Plus、iPhone 16 Pro和iPhone 16 Pro Max四款机型。每年发布新机型都需要提取一下iPhone的新机型信息,方便后续查询展示使用。现有的历史的数据是从Apple_mobile_device_types.txt 文件中提取的,新的数据的话就要更新之后才能获取到。去年发布的 iPhone 15 的时候是从 Xcode 本地数据库中获取的,最近想要查数据的时候...…
-
Windows下制作Chrome多版本测试程序
前段时间基于CEF(Chromium Embedded Framework)做了一个Windows上的应用,主要能实现动态加载打包好的Web资源包,因为使用的是较低版本的Chrome内核,发现存在较多的兼容性问题,想到以前做IE兼容性测试的时候可以使用 IETester 来做IE不同版本之间的兼容性测试。查了一些资料发现可以通过制作便携版的Chrome来实现多版本Chrome共存。因为经常要切版本,这里记录一下整个过程:1、提取启动程序(1)到官网下载 GoogleChromePortab...…
-
博客支持暗黑模式
去年支持了 github action 的方式实现代码push到master分支后能自动发布到 github pages 上面,确实比之前使用脚本强制提交发布的方式方便了不少,主要还是不需要本地配置环境了,切换到其他设备的只要写完提交就好了。配置支持 github action 也是非常简单,从官方市场上面选择需要的action,简单配置一下就好了最近想把博客适配支持一下暗黑模式,需要在本地调试一下,按照之前的文档安装了一下环境,结果是各种报错,折腾了个把小时,最后还是没搞定。最终采用的是...…
-
在Docker上运行OHPM私仓服务
OHPM(OpenHarmony Package Manager)是鸿蒙开发中的包管理工具,类似于Maven、npm、CocoaPods等,常用的是OpenHarmony三方库中心仓,可以到上面搜索项目需要的第三方库。使用起来非常简单,只要下面的命令就可以快速安装ohpm install <package_name> 在企业内部为了共享代码一般会搭建私仓,比如: 使用Verdaccio搭建npm仓库 搭建Dart Pub镜像服务 好在鸿蒙官方提供了一个...…
-
MySQL创建函数语法报错的解决过程
近期想把之前做的一个系统在本地跑起来做一些测试,结果在执行创建函数语句的时候报错了,解决的方式很简单,免得下次再遇到,记录一下解决过程。SQL语句如下:DROP FUNCTION IF EXISTS fn_version_format;CREATE FUNCTION fn_version_format(version VARCHAR(50)) RETURNS VARCHAR(255)BEGIN DECLARE v_con VARCHAR(255); SET v_con =...…