今回の手法は、ぶっちゃけセキュリティ的に非常によろしくないので、前回のbuilderを使う手法を強くお勧めします。
落としてきたフォルダを展開すると、nwjs.appというファイルがあるので、これを開くと、初手で壊れています。
以下の手法を試すのは、自己責任でお願いいたします。
builderを使わず、ファイル直置きで動かす方法(非推奨)
壊れたファイルをなんとかする
NW.js公式サイトから、ファイル一式をダウンロードします。
NormalでもSDKでも大丈夫ですが、Normalの方がシンプル構成です。
実は壊れているという表現は不正確で、アプリケーションのコードが、署名済みの元のコードと一致していない、という点で、破損しているか改竄されている、とみなされるようです。
これをコマンドで無理やりなんとかしていきます。
xattr -d com.apple.quarantine path/to/nwjs.app
というコマンドを叩きます(path/to/nwjs.appの部分は、nwjs.appがあるパスに置き換えてください)。
これは、ファイルに付加されているcom.apple.quarantineというエクステンド属性(Extended Attribute)を削除するためのコマンドです。
要するに、属性を削除することで、ダウンロードしたファイルを開く際に警告を無視しています。
これで開けるようになります。一応...
ファイルを配置する
nwjs.appは、実はフォルダなので、この中に動かしたいWebアプリのファイル群を置きにいきます。
Finderで、nwjs.appを右クリックし、「パッケージの内容を表示」をクリックします。
すると、フォルダが現れます。
Contents > Resourcesの中に、app.nwというフォルダを作成します。
その中に、自分で作ったWebアプリのファイル一式と、マニフェストファイルとなるpackage.jsonファイルを置きます。
マニフェストファイル(package.json)の中身を書く
前回と同様で、最小構成はこちらです。
{
"name":"Example",
"main":"index.html"
}
nameはアプリ名、
mainはエントリポイントです。
さらに詳しい設定はこちらのドキュメントからどうぞ。
立ち上げる
これで、改めてnwjs.appを開くことで立ち上がります!
まとめ
ネットで調べると、検索上位に出てくる記事で、SDKをダウンロードしてファイルを置くだけでできる、と説明されているのですが、
年々Macのセキュリティが厳しくなっているのか、その手順通りではうまくいかないことがわかったので、(無理やりな解決法ではありますが)この記事を書きました。
「警報器が鳴っているなら、防犯システムをOFFにすればいいじゃない」という、とんだマリー・アントワネットスタイルなので、あんまりおすすめできません。
色々調べたのですが、動かせる方法がどうしても見つからずにこうなりました。
マリー・アントワネットにならずとも回避できる方法をご存知の方は、ぜひ記事にコメントいただけると幸いです。
0 コメント