Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 替换/更新Mac OS X应用程序包中的文件_Macos_Deployment_Bundle - Fatal编程技术网

Macos 替换/更新Mac OS X应用程序包中的文件

Macos 替换/更新Mac OS X应用程序包中的文件,macos,deployment,bundle,Macos,Deployment,Bundle,在Windows上部署软件时,通过运行具有管理员权限的安装程序(例如,使用NSIS生成)来更新程序文件夹中的文件相对容易。在Mac上有类似的方法吗?是否可以在已安装的应用程序包中交换文件?如何进行 谢谢 如果是通过app Store分发的应用程序或已签名的应用程序(或两者都有),您可以不替换应用程序捆绑包中的文件而不破坏它(在以后尝试时它不会启动) 你没有在问题中提供足够的信息来解释你想做什么。这是针对您正在编写的应用程序,还是针对具有站点许可证的应用程序或您根本无法控制的应用程序 如果这是针对

在Windows上部署软件时,通过运行具有管理员权限的安装程序(例如,使用NSIS生成)来更新程序文件夹中的文件相对容易。在Mac上有类似的方法吗?是否可以在已安装的应用程序包中交换文件?如何进行


谢谢

如果是通过app Store分发的应用程序或已签名的应用程序(或两者都有),您可以替换应用程序捆绑包中的文件而不破坏它(在以后尝试时它不会启动)

你没有在问题中提供足够的信息来解释你想做什么。这是针对您正在编写的应用程序,还是针对具有站点许可证的应用程序或您根本无法控制的应用程序


如果这是针对您正在编写的应用程序,苹果建议在
~/Library/application Support/
~/Library/Cache/
或其他目录中安装资源,然后——在大多数情况下——您必须在应用程序中创建一些机制来获取和保存更新的资源。MacOS可能提供了一些功能,例如。

谢谢您提供的信息。我是Mac的新手,我想以适合Mac OS X的形式部署我自己的基于Java的软件。该软件不通过App Store分发,也没有签名。我正在使用JarBundler创建应用程序包(+plist文件的一些手动修改)并创建一个dmg,以便在CD上部署。用户数据存储在User.home中,但其余数据包含在应用程序包中。应用程序包似乎只是一个目录结构。我想知道是否有可能自动替换此结构中的文件。否则,用户将不得不手动复制文件。我仍然认为使用“~/Library/Application Support”或
~/Library/Cache/
~/Library/Preferences
中提供的文件夹层次结构会更明智,特别是如果苹果决定锁定未来版本MacOS上的所有应用程序和应用程序包。这似乎很容易:只要你有管理员权限,就可以轻松编写未签名的应用程序包,即使它们位于程序文件夹中。我使用一个单独的过程来替换相应的内容。看起来很好用!