Я использую py2app
, чтобы связать приложение Mac и пытаюсь выяснить, как он работает. Основываясь на чтении Bundle Programming Guide, кажется, что CFBundleExecutable
является обязательным ключом и что это ключевой OSX использует, чтобы выяснить, какой файл в подпапке MacOS
для запуска. Тем не менее, я раздели мой Info.plist
файл в дальнейшем, и приложение нагрузки просто отлично:Как Mac OS X запускает пакеты приложений?
<?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 может загрузить мое приложение?
о, блестящий! не знал, что я могу просто взглянуть в источник. Поскольку мой пакет назывался 'foo', а исполняемый файл также назывался' foo', кажется, что случай №3 - это то, что заставило его работать. вопрос в том, почему он не отображает окно, если я включаю его имя, но он делает, если я этого не делаю ... – Claudiu