https://runbing.me/archives/create-favicon-with-icontool-from-icoutils.html
Qt 显示语言切换
核心操作就是通过 QTranslator
加载对应的国际化文件
调用 installTranslator 改变当前显示语言
#ifndef QT_NO_TRANSLATION
static bool installTranslator(QTranslator * messageFile);
static bool removeTranslator(QTranslator * messageFile);
#endif
系统有个系统事件
void MyWidget::changeEvent(QEvent *event)
{
if (event->type() == QEvent::LanguageChange) {
titleLabel->setText(tr("Document Title"));
...
} else
QWidget::changeEvent(event);
}
可以处理显示语言变化的消息
Qt提供的翻译在 Qt安装目录下 /translations
文件夹内 ,直接加到工程资源中就行
参考
AppleScript 获取应用路径
1 | on getAppPath(AppName) |
参考:
Codesing & Notarize app on macOS
Codesign
可用签名证书查询
security find-identity -v -p codesigning
签名
codesign -s 'Name of the certificate’ /path/Example.app
重新签名
codesign -f -s 'Name of the certificate' /path/Example.app
应用签名信息
codesign -vv -d Example.app
应用签名认证
codesign --verify Example.app
没有任何输出代表签名是完好的
应用可用验证
spctl -a -v Example.app
Notarization
- Apple 新认证方式
- Bundle ID 应用bundle ID
- Username Apple ID
- Password Apple ID 密码 是一个一次性的密码
- FilePath 要认证的包 一般是dmg 或者 zip .app 的不行
- Team ID 开发者账号所在的 Team ID 登录到开发者账号 资料里面查看
校验
xcrun altool --notarize-app --primary-bundle-id “Bundle ID" --username “Username" --password “Password" --file FilePath -itc_provider "Team ID"
上面的执行完成后会生成 RequestUUID
使用下面的方法查看即可
查询 邮件中 ID
xcrun altool --notarization-info RequestUUID -u “Username --password “Password"
查到认证通过后
需要重新签名一下安装包
重新签一下
xcrun stapler staple “FilePath"
stapler validate
will do this -
1 | $ stapler validate myfile.pkg |
- If
The validate action worked!
is printed, the specified pkg file is notarized. - If
does not have a ticket stapled to it.
is printed, the specified pkg file is either not notarized, or the notarization was never followed up with the stapling step.
检查公证结果脚本
NotarizationScript.sh
1 | # 公证的 bundle id |
保存文件 直接调用传入本地包路径即可
sh NotarizationScript.sh filepath
参考
- https://www.logcg.com/archives/3222.html
- https://antscript.com/post/2019-10-08-notarizing-mac-app/
- https://blog.csdn.net/lovechris00/article/details/102309757
- https://developer.apple.com/documentation/xcode/notarizing_your_app_before_distribution?language=objc
- https://help.apple.com/xcode/mac/current/#/dev88332a81e
- https://help.apple.com/xcode/mac/current/#/dev033e997ca
- https://developer.apple.com/developer-id/
- https://blog.csdn.net/shengpeng3344/article/details/103369804
- https://scriptingosx.com/2019/09/notarize-a-command-line-tool/
- https://github.com/CaicaiNo/Apple-Mac-Notarized-script/blob/master/Apple-Mac-Notarized-script.sh
- https://blog.csdn.net/ftpleopard/article/details/102721138
pkg文件静默安装
sudo installer -store -pkg /User/MyName/Desktop/helloWorld.pkg -target /
Qt ssl error
Qt 5.14.2 Ubutun 16.04.6 运行时报错ssl相关
类似下面这样的报错信息
Qt Ubuntu 运行报错
近期迁移到 ubuntu 上做开发支持,系统版本是 16.04.6
编译项目报错 /usr/bin/ld: cannot find -lGL
讲过查找是缺少 libGL.so
库
先本地查找一下 sudo find / | grep "libGL.so"
1 | /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 |
找到后 弄个链接到 usr/lib
下
sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 /usr/lib/libGL.so
如果本地没有查到 libGL.so
可以先下载
sudo apt-get install libgl1-mesa-dev
然后再弄链接
音视频文件下载测试
发表于