在Python和PyObjC中设置Info.plist文件,不使用Xcode

在Python和PyObjC中设置Info.plist文件,不使用Xcode,python,python-2.7,pyobjc,info.plist,Python,Python 2.7,Pyobjc,Info.plist,我正在使用PyObjC用Python编写一个相对简单的助手应用程序。由于它的简单性(一个主文件和另一个文件中的一些助手函数),我不使用Xcode进行开发 但是,我想设置一些,我不知道如何让我的程序找到Info.plist文件。特别是,我想将LSUIElement键设置为1,以便在Dock中隐藏我的应用程序 我在主.py文件所在的目录中创建了一个名为Info.plist的文件,并添加了以下文本: <?xml version="1.0" encoding="UTF-8"?> <!D

我正在使用PyObjC用Python编写一个相对简单的助手应用程序。由于它的简单性(一个主文件和另一个文件中的一些助手函数),我不使用Xcode进行开发

但是,我想设置一些,我不知道如何让我的程序找到
Info.plist
文件。特别是,我想将
LSUIElement
键设置为
1
,以便在Dock中隐藏我的应用程序

我在主.py文件所在的目录中创建了一个名为
Info.plist
的文件,并添加了以下文本:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>LSUIElement</key>
    <string>1</string>
</dict>
</plist>

我想补充一下。它就像一个符咒——我的应用程序现在隐藏在Dock之外。成功

要使用Info.plist文件,脚本需要是应用程序包的一部分,系统库只在应用程序包中的特定位置查找Info.plist

如果从命令行(“python main.py”)启动脚本,系统将使用Info.plist文件,但该文件嵌入python安装中


创建应用程序捆绑包最简单的方法是使用,它可以构建独立的应用程序捆绑包,并具有自定义info.plist:。

感谢您的帮助!我现在正在使用py2app,我已经让它工作了。
<key>LSUIElement</key>
<string>1</string>