AppleScriptエディタで作ったスクリプトをアプリケーション形式で保存すると単体のアプリのような形にできます。
社内でちょいと使うツールとかこれで済ますのだけど、ダウンロード配布するときにデベロッパ証明書を付けたくなります。
Xcodeを使わずに作るアプリのため証明書はどうやって付けるの?という話。
会社のMacは OS X Lion 10.7 ですが以下の方法でできました。
http://cometheart.blogspot.jp/2012/07/applescript-automator-codesign.html?m=1
※前提条件 Developer ID を入手していること。
chmod a-w "./HOGEHOGE.app/Contents/Resources/Scripts/main.scpt" sudo defaults write /Users/XXXXX/Desktop/HOGEHOGE.app/Contents/Info CFBundleIdentifier "com.ahirustudio.hogehoge" sudo codesign --sign "Developer ID Application: ahiru studio" -i "com.ahirustudio.hogehoge" -f "HOGEHOGE.app" sudo codesign --display -vvv "HOGEHOGE.app"
参考までに以下のようなスクリプトで仕事してみました。
AppleScriptエディタで保存したときのファイル名(アプリ名)がアプリ起動しているときのメニューバーのアプリ名として使用されるので、最終的にリリースするバージョンは適切なファイル名にする必要があります。
identifierとしてユニークな名前を使用します。(例:com.ahirustudio.applescript.test)
アイコンファイルを作成してデフォルトのAppleScriptのものと置き換えさせるので同じフォルダに置く。(myIcon.icns)
applescriptbuild.sh
#!/bin/sh
# 作成したアプリ名を引数とする
# $ applescriptbuild.sh test.app
#
# 2013/10/23 Yutakano
# ahiru studio
#
# --------------------
# ICON copy
# --------------------
myappname=$1
myidentifier="com.ahirustudio.applescript.test"
myicon="./myIcon.icns"
cp -f ${myicon} "${myappname}/Contents/Resources/applet.icns"
# --------------------
# READONLY
# --------------------
chmod a-w "${myappname}/Contents/Resources/Scripts/main.scpt"
# --------------------
# CFBundleIdentifier
# --------------------
wk1=`pwd`
mypath=${wk1}/${myappname}/Contents/Info
sudo defaults read ${mypath} CFBundleIdentifier
sudo defaults write ${mypath} CFBundleIdentifier ${myidentifier}
sudo defaults read ${mypath} CFBundleIdentifier
# --------------------
# CODESIGN
# --------------------
echo "**** CODESIGN ****"
sudo codesign --sign "Developer ID Application: ahiru studio" -i ${myidentifier} -f "${myappname}"
# --------------------
# CODESIGN 確認
# --------------------
echo "**** CODESIGN 確認 ****"
sudo codesign --display -vvv "${myappname}"
# __END__
2013/11/15