@hyuki この方法だと普通に.appをFinderでopenしたらel capitan以降だと署名がないって怒られませんかね。まあその場合もPreferencesで開き直せばOKではあるのですが
— Dan Kogai (@dankogai) 2017年5月28日
いけそうなので、先ほどのブログ記事をRubyのスクリプトにしてみました。
— 結城浩 (@hyuki) 2017年5月28日
makeapp - スクリプトをMacのアプリケーションにするhttps://t.co/8HUFCHYXig
標準アプリの Automator で作成した場合にはどうなるのかを確認してみた。
- Spotlight、Launchpad 等で Automator を開く。
- 新しいファイルの作成。
- Application を選択。
- Run Shell Script(日本語版、訳も同じ名称?)を選択、ダブルクリック。
- Shell から言語を選択して、コードを記述。(既にあるなら、コピー & ペースト)
- 保存。
- Finderでopen。
記述したコード。
コード(Emacs)
perl
open(my $fh, '>', 'tmp_perl.txt'); print $fh "Hello, Perl!\n";
python(3.6ではなく2.7)
with open('tmp_py.txt', 'w') as f: f.write('Hello, Python!\n')
ruby
File.open('tmp_rb.txt', 'w') do |f| f.puts('Hello, Ruby!') end
確認。
入出力結果(Terminal)
$ ls hello.app ./ ../ Contents/ $ open . $ cat ~/tmp_{pl,py,rb}.txt Hello, Perl! Hello, Python! Hello, Ruby! $ rm ~/tmp_{pl,py,rb}.txt $ open -a hello $ cat ~/tmp_{pl,py,rb}.txt Hello, Perl! Hello, Python! Hello, Ruby! $
el capitan以降(macOS Sierra)で署名がないって怒られなかった。
ということで、警告が気になる方は、Automator で GUIで分かりやすい方法(スクリプトで Mac アップリケーションにする方法より手軽ではないかも)で作成するという選択肢も。(注意: 手元の環境、設定でたまたま警告が出なかっただけで、macOS の初期設定でどうなるのかは未確認。)
0 コメント:
コメントを投稿