作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Cocoa 编写一个 Mac OSX 应用程序,该应用程序旨在在指定日期后停止工作,以避免用户简单地更改系统时钟,然后重新运行该应用程序我希望该程序关闭并删除自身如果是在过期日期之后加载的。这可能吗?
我直接分发应用程序,而不是通过应用程序商店。此外,使用互联网检查日期并不是真正的选择,因为该应用程序需要可以离线使用。
谢谢,马修
最佳答案
这是可能的,但并不可靠。要删除您的应用程序,只需获取主包的 URL 并告诉 NSFileManager 删除它即可。但您的应用程序包可能不可写,因此也不可删除,并且即使您确实设法删除它,用户也可能拥有任意数量的备份。除非我对程序运行的系统有严格的控制,否则我不会写任何依赖于此的内容。 (我的意思是,无论如何我可能都不会写这样的东西,因为这有点疯狂。但是如果我要写这样的东西,它就必须是只运行在我自己的系统。)
关于macos - cocoa 应用程序会自行删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15923697/
我发现以下帖子非常有帮助: How to pickle yourself? 但是,此解决方案的局限性在于,重新加载类时,它不会以其“运行时”状态返回。即它将重新加载所有变量等以及类在转储时的一般状态.
我是一名优秀的程序员,十分优秀!