シェルスクリプトを使用してMac OS X .appを作成する方法


12

私はいくつかのチュートリアルを試してみましたが、これがわかります: PowerPCエラー

どうすれば修正できますか?info.plistに追加しました(別のアプリのファイルをコピーして貼り付け、いくつか変更しました)。

また、以前chmod +x myAppはスクリプトを実行可能にしていました。

PS私はEl Capitanを使用しています


エラーメッセージが表示される前に何を行ったかは推測できません。どのチュートリアルを実行しましたか?その後、行き詰まりましたか?
nohillside

1
私はmyApp.appというフォルダーを作成し、次にContents、次にMacOSというサブフォルダーを作成し、次に#!/bin/bash ; say "Hi" ; exit 0(含まれるコマンドごとに、セミコロンなしで)含まれるmyAppシェルスクリプトを作成しました。
フレアキャット

1
ビットセットを実行するbashスクリプトは、実行するバンドルに配置する必要はありません。Finderでダブルクリックするか、ターミナルから実行するだけです。アプリケーションバンドルが本当に必要な場合は、AppleScriptまたはAutomatorを使用して作成します。後者は簡単です。シェルスクリプトの実行アクションを追加し、その中にコードを配置します。
user3439894

@ user3439894これを投稿する前に説明した方法でオートマイザーを試しましたが、対象のコンピューターでアプリが実行されませんでした。
Flare Cat

@ user3439894ええと、なんらかの理由で以前のコメントを編集できません。エラーは「このタイプのアプリケーションはこのコンピューターではサポートされていません」のようなものでした。
Flare Cat

回答:


21

ええと、この単純なトリックを使用してアプリケーションにbashスクリプトを作成するのは何年も前です(そして、「コンテンツ」フォルダー、info.plistを作成する、またはAutomatorやPlatypusを使用するなど、すべての人がなぜそんなに複雑なソリューションを試すのか本当にわかりません。 。????):「YourApplication.app」という名前のフォルダを作成します。最適な方法(Finder、ターミナルなど)で、このフォルダにbashスクリプトファイルを直接配置します。もちろんbashスクリプトは実行可能でなければなりません(必要に応じてchmod + xを使用してください)。他のフォルダーやファイルは必要ありません(もちろん、スクリプト内から他のスクリプトや実行可能ファイルを呼び出す必要があるまで)トリックは、アプリケーションフォルダーとまったく同じ名前で拡張子を付けずにスクリプトに名前を付けることです。ここで説明するケースでは、スクリプトファイルの名前は「YourApplication」にする必要があります。それで全部です !Snow LeopardからMavericksまで、Mac OS Xで動作します。誰かが新しいOSのバージョンを試して教えてくれたら。

注:このスクリプトは、それ以外の場合は実行されません、サイズが少なくとも28バイトでなければなりません。最小サイズにするために、空白行で埋めることができます。また、スクリプトの最初の行はシバンでなければなりません。たとえば#!/bin/bashまたは#!/bin/perl


さらに行を追加してみてください。スクリプトに十分な行がない場合に表示されたメッセージが表示されます。
Pierre Lagarde 2017年

あなたの回答を編集して、欠落している重要な情報を含め、投票しました。
user3439894

訂正と賛成投票に感謝します...私はこれを長すぎる間使用していて、28バイトの必要性を忘れていました...もちろん、そのような小さなスクリプトはありません:D
Pierre Lagarde

1
これをmacOS Sierraでテストしたところ、そこでも動作しました。
user3439894

1
@FlareCat実際、私はチェックしたところ、既存のインタープリターを使ったシバンは(perlで試してみて)うまくいくと思います。他の言語を試した場合は、;)と伝えてください。
Pierre Lagarde 2017

7

単純なシェルスクリプトの場合は、アプリケーションバンドルでラップする必要はありません。スクリプト自体をダブルクリックできます。ただし、カスタムアイコンなどの機能を使用することはできません。

単純なスクリプトをラップできるヘルパーは数人いると思いますが、私が経験した唯一のツールはPlatypusで、shell / python / perl / ruby​​ / etcスクリプトをアイコン付きの通常のアプリケーションのように実行できますI / Oリダイレクトなど


カモノハシはよさそうですが、手動で行う方法を知っておくとよいでしょう。
Flare Cat

1
カモノハシをテストしたところ、私が望んだとおりに機能しました!提案をありがとう。
フレアキャット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.