Mac 应用内更新的逻辑应该是什么?

查看 50|回复 2
作者:LeeeSe   
Mac 平台信息和邮件验证码提取:MessAuto
目前的应用内更新逻辑:
  • 检测 GitHub 上是否有最新 release
  • 下载 zip 并解压出 MessAuto.app 文件到/tmp/MessAuto.app
  • mv /tmp/MessAuto.app /Applications/MessAuto.app

    目前 App 更新存在的问题:
  • 由于 MessAuto.app 是文件夹而不是文件,前者会被直接移动到后者文件内部,而不是直接替换,导致无法完成 app 替换更新
  • 直接手动下载 zip 替换后,原先赋予的辅助功能和磁盘权限均失效,必须手动从权限列表中删除 MessAuto 并重新添加才能运行,不删除即使赋予权限也无法生效

    目前的情况:
  • 没有开发者证书
  • 磁盘访问权限是通过 read 敏感文件位置使 macOS 自动弹出磁盘权限请求窗口,然后由用户后续操作
  • 辅助功能权限是依赖一个第三方库,但两者均有上述问题

    OP 想问的问题:
  • 正常应用内更新的逻辑应该是什么?
  • 权限问题是和开发者证书有关吗?还是和别的有关?

    messauto, App, tmp, 权限

  • LeeeSe
    OP
      
    来个吊大的指点一下
    shinsekai   
    提示跳转 mac appstore 更新
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部