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