Программа .app не может открыть файл двойным кликом
У меня есть программа c++ которая должна получить название файла из argv, открыть его и работать с ним.
Программа полностью работает, т. к. если вызывать бинарник из терминала (т. е. вызывать файл формата Unix Executable) тогда программа спокойно получает название файла из argv и работает с ним, но если сделать из этого бинарника MacOs программу .app то по двойному клику на файл, который нужно открыть, программа выкидывает такую ошибку:
Опять же, если я запускаю бинарник (уже находящийся в папке программы), а не саму программу полностью из консоли, то все работает, но если я запускаю программу из консоли, то выкидывает ту же ошибку, для наглядности вот табличка со всеми командами которые я пробовал:
open -a /Applications/Sengine.app obj/rogers.mdl - Не работает
/Applications/Sengine.app/Contents/MacOS/SENGINE obj/rogers.mdl - Работает
cmake-build-debug/SENGINE obj/rogers.mdl - Работает
Компилирую через cmake:
/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake --build cmake-build-debug --target SENGINE -- -j 3
Файл 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>CFBundleDisplayName</key>
<string>Sengine</string>
<key>CFBundleExecutable</key>
<string>Sengine</string>
<key>CFBundleIconFile</key>
<string>icon.icns</string>
<key>CFBundleIdentifier</key>
<string>com.zolars.sengine-department.SENGINE</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Sengine</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.0.0</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<string>mdl.icns</string>
<key>LSItemContentTypes</key>
<array>
<string>mdl</string>
</array>
<key>LSHandlerRank</key>
<string>Owner</string>
</dict>
</array>
</dict>
</plist>
Если я правильно понял, то почему то название файла, после вызова программы, не доходит до бинарника. Я не могу понять почему и как это исправить.
Помогите пожалуйста разобраться.
