刚发现,只要开发的是.app 程序,必须要开发者证书签名。
否则在别人的 macos 上,会显示损坏。虽然有绕过方法(在用户机器上对.app 用 xattrs 做一次处理),但是会很麻烦,比如用户不懂 terminal 怎么办,shell 脚本被也不能双击运行。
是真的没有绕过方法吗?
1
BingoXuan 2021-04-22 23:44:12 +08:00 via Android
我用 pywebview 打包的程序随意分发,大部分是 10.13 。10.15 限制更多,骚操作就是通过 scp 获取。
|
3
agagega 2021-04-23 00:06:45 +08:00
不是可以强制在安全性里面打开吗(虽然也很麻烦)
|
4
ysc3839 2021-04-23 00:26:15 +08:00 1
我印象中是签了名就不会提示损坏,似乎自签名也可以,只会提示来源未知,需要右键打开。用苹果的证书,或者第三方 CA 的证书签了之后是可以直接双击打开。个人不保证正确,请 macOS 开发者指正。
另外 macOS 下 shell 脚本 (可执行文件) 可以双击打开,把扩展名设置成 .command 并加上执行权限即可。 |
5
ysc3839 2021-04-23 00:30:40 +08:00
不过话说回来 macOS 签名的限制好像是比 Win10 下的 appx 包宽松的。个人认为 appx 包推广不开的原因之一是强制签名,要不然买第三方 CA 的签名,代价是死贵,要不然买微软的开发者,但是要拿到签名得提交给微软审核,不能直接发布。自签名的话得安装到受信任根证书列表里才生效。
|
6
nieyujiang 2021-04-23 00:52:15 +08:00 via iPhone
光签名还不行,还要公证。developer id 证书签名,然后跑一遍苹果的公证服务
|
7
whileFalse 2021-04-23 08:05:52 +08:00
@ysc3839 CA 签名贵?我之前买了代码签名记得是两千块三年。
|
9
qdwang OP @ysc3839 可以了,目前解决方案是。app 旁边附带一个 fix.command 。需要右键打开,然后会删掉 app 的 com.apple.quarantine 属性
|
10
ysc3839 2021-04-23 12:28:15 +08:00 via Android
@whileFalse 对于个人开发者来说是很贵呀。
|
11
whileFalse 2021-04-23 12:30:51 +08:00
@ysc3839 你开发是为了挣钱吧……
|
12
mayuko2012 2023-04-11 18:40:46 +08:00
@qdwang #9 可以看下 fix.command 的命令吗?
|