Monoを使用して、Windows、Mac、およびLinuxで動作するポータブルアプリケーションを作成しようとしていますが、ユーザーがアプリケーションをクリックしてMacのアプリケーションフォルダーにドラッグするだけの標準のDMGファイルが必要です。この投稿へのベストアンサーで#!
は、フォルダーで始まる実行可能スクリプトを作成することで、MyAppName.app/Contents/MacOSX/
好きなように実行できることがわかりました。
スクリプトを実際に実行するにはどうすればよいですか?
XCodeで空白の「HelloWorld」Cocoaアプリを作成し、.appファイルをApplicationsディレクトリにコピーしたところ、すべてがうまく機能しました。しかし、MacOSXフォルダー内の実行可能ファイルを、それで始まるスクリプトに置き換えたところ、スクリプトが実行され#!
ませんでした。
chmod 755 myscript
古い実行可能ファイルを削除し、スクリプトの名前を古いファイル名に変更しようとしましたが、アプリの実行を完全に停止するだけでした。スクリプトの権限とファイル名はどちらも正しいです。
そこで、スクリプトが機能しない可能性があると想定し、コマンドラインユーティリティをXCodedしました。これも、単に「Hello World!」を出力しますが、それでも実行されませんでした。
「.app」拡張子は正式にはアプリケーションバンドルと呼ばれ、かなり優れたドキュメントがありますが、私のアプローチが機能しない理由はわかりません。
これが私が取り組んでいる.appバンドルです。MasOSXディレクトリ内には、hello(Hello Wordコマンドラインユーティリティ)とscript(最初の行がaである1行のスクリプト#!
)とXCodeTest(Hello World cocoaアプリ)があります。