删除Info.plist后Mac应用程序仍在运行

时间:2013-08-22 18:01:30

标签: macos bundle info.plist

我想从头开始构建Mac应用程序。我手动创建了主应用程序,内容,MacOS,资源所需的文件夹,并删除了二进制文件。唯一一个我不知道如何从头开始创建的是“Info.plist”。所以,我只是在我的机器上安装的应用程序中复制了一个,删除了所有不熟悉的键,除了可执行文件和包类型(作为APP)。

然后我做了一个测试。在复制和编辑Info.plist文件之前,我在Finder中双击了应用程序图标。不工作,这是预期的。复制并编辑Info.plist文件后,它正在运行,这也是预期的。接下来是我不明白的。我删除了Info.plist文件,双击Finder中的应用程序图标,它仍在工作!

我的问题是:

  1. 第一次运行是否已将Info.plist信息迁移到应用包中的某个秘密位置?
  2. 从其他应用程序复制和编辑现有的Info.plist文件是从头开始构建应用程序的一个好方法吗?

1 个答案:

答案 0 :(得分:0)

我知道帖子已经过时了,但我想回答一下,以便用户在遇到这个问题时会受益。你问了两个问题: -

1)看到第一次运行有一个构建,它的派生数据可能会帮助你在没有Info.plist的情况下运行(特殊情况虽然我不认为它运行)。   但是如果没有info.plist,你就无法运行app。

2)不。答案是从其他应用程序复制和编辑现有的info.plist不是一个好习惯。

每个应用和插件都使用Info.plist文件将配置数据存储在系统可以轻松访问的位置。 OS X和iOS使用Info.plist文件来确定要为捆绑包显示的图标,应用程序支持的文档类型以及在捆绑包本身之外产生影响的许多其他行为。 为了更好地了解这一点,您可以看到以下链接: -

https://developer.apple.com/library/ios/documentation/general/Reference/InfoPlistKeyReference/Introduction/Introduction.html

我认为提出这个问题的用户已经得到了这些东西,希望这会有助于其他用户。

感谢。