作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将较新版本的包加载到目标进程,但这是不可能的,因为已经加载了同名的包。更改 CFBundleVersion
或 CFBundleShortVersionString
捆绑包不起作用。最简单的方法是简单地杀死目标进程并重新启动它。但我认为这不是最好的方法。那么还有另一种方法吗?
最佳答案
mach_inject 我也面临同样的问题。如果不修改 mach_inject,我看不到直接的解决方案。
我的解决方案是创建两个捆绑包。将第一个捆绑包视为真正插件的插件管理器。插件管理器非常简单,希望永远不需要升级,它加载和卸载原始包并添加了清理代码。
我正在使用 Apple 的 NSBundle 类来加载和卸载插件。在卸载之前,我调用原始插件中的主体类来清理它。
卸载用 objective-c 编写的包是危险的。 2 & 4 大体上是对的。
关于macos - 有没有办法在 mach_inject 之后卸载 bundle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14786070/
我是一名优秀的程序员,十分优秀!