我正在使用一个 shell 脚本来启动我的 (Java) 应用程序包装在一个.app
包中。当我尝试将文件或目录拖放到 Finder 中未运行的应用程序的应用程序图标上时,它们将被复制到此目录中,而不是使用这些作为命令行参数启动应用程序。
我必须添加一些“魔术”条目Info.plist
吗?
我正在使用一个 shell 脚本来启动我的 (Java) 应用程序包装在一个.app
包中。当我尝试将文件或目录拖放到 Finder 中未运行的应用程序的应用程序图标上时,它们将被复制到此目录中,而不是使用这些作为命令行参数启动应用程序。
我必须添加一些“魔术”条目Info.plist
吗?
我已经让应用程序接受删除的文件(.MOV),但我无法将文件名作为我的脚本的参数......((
ffmpeg.app/Contents/Info.plist
ffmpeg.app/Contents/MacOS/ffmpeg
ffmpeg.app/Contents/Resources/ffmpeg.icns
ffmpeg 是一个简单的脚本,以#!/bin/sh
信息列表:
<?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>CFBundleDevelopmentRegion</key>
<string>Russian</string>
<key>CFBundleExecutable</key>
<string>ffmpeg</string>
<key>CFBundleName</key>
<string>ffmpeg</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleIconFile</key>
<string>ffmpeg.icns</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>mov</string>
</array>
<key>CFBundleTypeRole</key>
<string>Converter</string>
<key>LSTypeIsPackage</key>
<false/>
</dict>
</array>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
</dict>
</plist>
我对 CFBundleTypeRole 一无所知,但我的 ffmpeg.app 接受丢弃的 .MOVs