我py2app
用来捆绑 Mac 应用程序并试图弄清楚它是如何工作的。根据阅读Bundle Programming Guide,这似乎CFBundleExecutable
是一个必需的密钥,并且这是 OSX 用来确定MacOS
要运行子文件夹中的哪个文件的密钥。但是,我将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>PyMainFileNames</key>
<array>
<string>__boot__</string>
</array>
<key>PyRuntimeLocations</key>
<array>
<string>@executable_path/../Frameworks/Python.framework/Versions/2.7/Python</string>
</array>
</dict>
</plist>
怎么会这样?给定那个确切的plist
文件,OSX 如何加载我的应用程序?