方式一:使用libfaketime解决
我们可以直接修改系统时间来临时解决Axure 10 一直提示订阅过期的问题,但是不建议,其实我们可以使用 libfaketime
来处理的。
libfaketime 允许你 仅对特定程序应用指定的时间,而不会影响整个系统。
首先使用brew安装:
brew install libfaketime
由于 faketime 直接运行可能被 SIP 限制,我们手动加载 libfaketime.dylib ,所以找到faketime的安装位置:
brew --prefix libfaketime
设置环境变量:
vi ~/.bash_profile
设置环境变量:
export DYLD_INSERT_LIBRARIES=/opt/homebrew/opt/libfaketime/lib/faketime/libfaketime.1.dylib
export FAKETIME="2025-02-01 00:00:00"
如果配置里面的 libfaketime.1.dylib
不在 lib/faketime/
目录下,可以用 find
命令查找:
find /opt/homebrew/opt/libfaketime -name "libfaketime*.dylib"
生效环境变量:
source vi ~/.bash_profile
启动Axure 10:
/Applications/Axure\ RP\ 10.app/Contents/MacOS/Axure\ RP\ 10
可以看到,还有29天可以用,不用继续订阅了。
方式二:修改启动脚本(推荐)
首先备份 Axure 10 的原启动文件
sudo mv /Applications/Axure\ RP\ 10.app/Contents/MacOS/Axure\ RP\ 10 /Applications/Axure\ RP\ 10.app/Contents/MacOS/Axure\ RP\ 10.bak
然后创建新的启动脚本:
sudo vi /Applications/Axure\ RP\ 10.app/Contents/MacOS/Axure\ RP\ 10
填入以下内容:
#!/bin/bash
export DYLD_INSERT_LIBRARIES=/opt/homebrew/opt/libfaketime/lib/faketime/libfaketime.1.dylib
export FAKETIME="2025-02-28 00:00:00"
/Applications/Axure\ RP\ 10.app/Contents/MacOS/Axure\ RP\ 10.bak "$@"
最后 赋予执行权限:
sudo chmod +x /Applications/Axure\ RP\ 10.app/Contents/MacOS/Axure\ RP\ 10
最后直接点击 Axure 10 的 Dock 图标,它会自动使用 libfaketime 运行。
方式三:Automator创建Axure副本
当然频繁的使用命令启动时相当烦人的,其实我们可以使用macOS 自带 Automator 可以创建自定义应用,让 Axure 10 直接以指定的时间运行。
使用 Command + Space 搜索 “Automator” 并打开,选择 “应用程序” 类型:
然后在左侧搜索 “运行 Shell 脚本”,然后拖入到右侧:
输入框输入,前面步骤的内容:
export DYLD_INSERT_LIBRARIES=/opt/homebrew/opt/libfaketime/lib/faketime/libfaketime.1.dylib
export FAKETIME="2025-02-01 00:00:00"
/Applications/Axure\ RP\ 10.app/Contents/MacOS/Axure\ RP\ 10
点击文件 > 另存为:
选择 应用程序 格式,命名为 Axure 10 FakeTime.app,放到 应用程序 目录:
当然你也可以为新建的App设置图标:
- 右键原 Axure 10 图标,点击 “显示简介”,选中图标 Command + C 复制,或拖动到桌面。
- 右键 Axure 10 FakeTime.app,点击 “显示简介”,然后 Command + V 粘贴图标,或从桌面拖进来。
本文简单记录Axure的Trail校验流程,剩下的就靠读者自己领悟了,不宜多说,哈哈。