苹果(MacOS)桌面应用程序 签名及分发教程
1. 签名程序获取(联系邮箱:peter_mao_studio@163.com)
2.程序使用说明
- 签名的app 必须是标准的苹果应用形式,请自行查阅相关文档
- 若运行时提示未知开发者以及损害等提示,在设置中继续允许运行即可
- 程序改编自Qt源码,无任何风险
- 程序使用示例 :
./Codesign /~/Desktop/xxx.app -sign-for-notarization="开发者id 或苹果商店上架id"
- 若应用包含权利文件(必须以 .entitlements 格式放置在
xxx.app/Contents/Resources
目录下),即可使用相应权利进行签名 - 替换签名,以及签名错误均会有相关提示,请根据相关提示进行修改
- -hardened-runtime 在签名时会加上 -o runtime 进行签名
- -timestamp 选项选择 必须具有网络连接,如连接timestamp服务器错误,则应用需要重新签名,无可避免
- -sign-for-notarization 会同时 带上-hardened-runtime -timestamp ,无需额外的选项
- 签名时建议备份应用,签名失败导致的异常可能会导致下次签名直接失败,如出现该情况,请对原始应用进行重新签名尝试
Usage: Codesign app-bundle [options]Options:-codesign=<ident> : Run codesign with the given identity on all executables-hardened-runtime : Enable Hardened Runtime when code signing-timestamp : Include a secure timestamp when code signing (requires internet connection)-sign-for-notarization=<ident>: Activate the necessary options for notarization (requires internet connection)
3.对app进行公证及盖章
- 将应用压缩为zip,使用如下命令,不建议使用右键压缩(会附带苹果其他文件)
ditto -c -k --keepParent "签名后的app 路径" "xxx.zip
- 准备应用专属密码,开发者账号、密码、组织10位id,详情见苹果开发文档
- 存储keychain-profile 使用该命令,根据屏幕提示完成
xcrun notarytool store-credentials
,如已存储,请跳过该步骤 - 上传zip进行公证
xcrun notarytool submit “zip文件” --wait --keychain-profile "上述的keychain-profile"
- 等待公证结果,如遇网络问题,显示无法找到domain 等请选择其他时间进行尝试
- 如结果为rejected,请使用命令
xcrun notarytool log “公证时显示在终端审核id” --keychain-profile "上述的keychain-profile" developer_log.json
对存储的log.json文件根据相关提示进行修改;若结果为accepted,请对签名后的app进行盖章xcrun stapler staple “签名后的app路径”
4. 通过自己的方式生成dmg\pkg 如create-dmg ,appdmg等
5. 对dmg进行签名
codesign -s "开发者id\ 苹果上架id" "所需签名的dmg"
验证dmg签名
codesign --verify --deep --verbose=2 --strict "签名的dmg"
6.对dmg进行公证及盖章(如步骤3所诉,不再重复,app路径改为dmg即可)
7. 可以进行分发了
苹果(MacOS)桌面应用程序 签名及分发教程相关推荐
- 【Mac新手必看】苹果macOS桌面壁纸设置技巧
相信很多朋友像小编一样,喜欢设置各种有意思的桌面壁纸,不管是工作还是生活,每天对着自己喜欢的壁纸心情都超级棒呢~那这些Mac壁纸小技巧你们知道吗? 如何设置桌面壁纸? 你可以点击屏幕左上角的" ...
- android 开发桌面应用程序,安卓开发基础教程-Android多界面应用程序开发
开篇 本文阅读需10分钟,简单易上手,属于安卓开发教程的基础部分. 建议精读,深刻理解大意.多做实践.多写代码. 本文章由做全栈攻城狮原创首发. 同名公众号已开启,官网www.8z5.net. 本套教 ...
- nw.js入门+桌面应用程序——最易懂的教程
nw.js 是为了解决vue在xp 或window ie8及以下用户的兼容问题.曲线救国!! 一,下载nw.js 1.你可以从**官网获取最新版本的文件,或通过源代码构建. 一定要下载sdk版本! 2 ...
- 运营级IOS一键签名程序源码 支持app超级签名一键分发平台
简介: IOS APP超级签名一键分发平台(七牛魔签)是一款app分发源码-app签名-完美运营级别IOS一键签名程序,该系统完全在linux下运行,源码不存在使用第三方收费工具,市面上很多系统都是使 ...
- iphone 计算机 桌面图标不见了,Mac苹果电脑的应用程序图标消失不见了如何恢复...
Mac苹果电脑的应用程序图标消失不见了如何恢复 腾讯视频/爱奇艺/优酷/外卖 充值4折起 今天给大家介绍一下Mac苹果电脑的应用程序图标消失不见了如何恢复的具体操作步骤. 1.如图,我们打开电脑上的访 ...
- [macOS]_[初级]_[关于程序签名时出现User interaction is not allowed的问题]
场景 当做macOS的程序做持续集成时, 服务器上自动构建的项目在构建完之后需要签名, 这时候在签名时出现User interaction is not allowed 错误, 导致签名失败, 从而程 ...
- ChatGPT 桌面应用程序 for macOS, Linux, Windows v0.10
请访问原文链接:https://sysin.org/blog/chatgpt/,查看最新版.原创作品,转载请保留出处. 作者主页:www.sysin.org ChatGPT 是什么 ChatGPT 是 ...
- vmware如果在安装苹果系统提示“安装 macOS xxx“应用程序副本已损坏,不能用来安装macOS
如题,如果在安装苹果系统提示"安装 macOS xxx"应用程序副本已损坏,不能用来安装macOS,这个时候本不是镜像本身有问题,是由于镜像的证书过期,并且苹果没有更新证书日期导致 ...
- 桌面应用程序UI框架有哪些
Electron 是一种基于Node.js和Chromium的跨平台框架,可以用于构建桌面应用程序.Electron使用HTML.CSS和JavaScript编写,可以使开发人员使用Web技术开发桌面 ...
最新文章
- 51nod 1065 最小正字段和 解决办法:set存前缀和,二分插入和二分查找
- Darwin Streaming Server服务器mp4文件点播返回”415 Unsupported Media Type“错误
- Java 文件字符输入流FileReader读取txt文件乱码问题
- 1034 Head of a Gang (30 分) 【难度: 中 / 知识点: 并查集】
- VirtualBox 释放虚拟磁盘文件的大小
- 驱动框架6——linux内核的gpiolib学习
- MySQL用函数统计记录总数_在mysql中使用COUNT 或者SUM函数计算记录总数
- k8s集群资源监控-搭建监控平台(prometheus和grafana)---K8S_Google工作笔记0053
- 事件 ID: 3006 定期记录到应用程序日志
- JBOSS最大连接数配置和jvm内存配置
- mysql 中时间和日期函数应用
- 阿里云成长记的一篇文章《阿里云的这群疯子》
- mac使用svn命令基础篇
- android项目查看sdk版本号,怎查看Android项目的Android版本
- 华硕a53s拆机图解_华硕a53s配置 功能与外观描述【图解】
- mysql存储表情字符_MySQL 存储表情字符
- 七自由度机械臂设计分析——待更新
- JAVA泛型通配符T,E,K,V区别,T以及ClassT,ClassT的区别
- Jquery如何获取当前元素的id?
- 系统集成项目管理工程师案例分析考点汇总(成本、质量、人力)