sh appify - 从shell脚本创建最简单的Mac应用程序(添加应用程序图标)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh appify - 从shell脚本创建最简单的Mac应用程序(添加应用程序图标)相关的知识,希望对你有一定的参考价值。

#!/bin/bash

if [ "$1" = "-h" -o "$1" = "--help" ]; then cat <<EOF
appify v3.0.0 for Mac OS X - http://mths.be/appify
Creates the simplest possible Mac app from a shell script.

Appify takes a shell script as its first argument:

    `basename "$0"` my-script.sh

Note that you cannot rename appified apps. If you want to give your app
a custom name, use the second argument:

    `basename "$0"` my-script.sh "My App"

Copyright (c) Thomas Aylott <http://subtlegradient.com/>
Modified by Mathias Bynens <http://mathiasbynens.be/>
Modified by Andrew Dvorak <http://OhReally.net/>
EOF
exit; fi

# OSX_VERSION is currently unused, though knowing this may help, since the
# GenericApplicationIcon.icns file may be located elsewhere pre-10.6.x
OSX_VERSION=`sw_vers -productVersion`

APPNAME=${2:-$(basename "$1" ".sh")}
DIR="$APPNAME.app/Contents"

if [ -a "$APPNAME.app" ]; then
	echo "$PWD/$APPNAME.app already exists :("
	exit 1
fi

mkdir -p $DIR/{MacOS,Resources}

# Copy Apple's GenericApplicationIcon to our application.
# - TODO: provide command-line options for specifying an icon to use
#         (maybe even allow the user to specify an)
cp "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericApplicationIcon.icns" "$DIR/Resources/$APPNAME.icns"

cp "$1" "$DIR/MacOS/$APPNAME"
chmod +x "$DIR/MacOS/$APPNAME"

cat <<EOF > $DIR/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleExecutable</key>
	<string>$APPNAME</string>
	<key>CFBundleGetInfoString</key>
	<string>$APPNAME</string>
	<key>CFBundleIconFile</key>
	<string>$APPNAME</string>
	<key>CFBundleName</key>
	<string>$APPNAME</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
</dict>
</plist>
EOF

echo "$PWD/$APPNAME.app"

以上是关于sh appify - 从shell脚本创建最简单的Mac应用程序(添加应用程序图标)的主要内容,如果未能解决你的问题,请参考以下文章

sh appify - 从shell脚本创建最简单的Mac应用程序(添加应用程序图标)

如何给shell脚本传参数

Shell 脚本文件(.sh)不能从 Linux 上的 c# 核心运行

如何从 Flask App 执行 Shell 脚本 [重复]

sh 创建shell脚本并传递flags / arguments。

shell脚本实现数据库表批量导入记录