前提・実現したいこと
macOS Catalina Electron app がハングアップする。原因と対策を知りたい。
発生している問題・エラーメッセージ
electron-builderで作成&インストールした Appli.app をクッリック起動するとハングアップする。
<処理概要>
shellコマンド(サブプロセス)でサーバー(Tornado Web Server)を起動し、httpリクエスト(http://localhost:9800/)でログインする。ログイン後はウインドウを起動してAppliの処理を続ける。
このログインが完了しない。
<備考>
パッケージの内容を表示して /Applications/Appli.app/Contents/MacOS/Appli を実行すると、問題なく正常に動作する。
エラーメッセージなどの表示なし
該当のソースコード
const electron = require('electron'); const childProcess = require('child_process'); const util = require('util'); const path = require('path'); const exec = util.promisify(childProcess.exec); const rq = require('request-promise'); async function spawn(cmd) { res = await exec(cmd); console.log(res.stdout); } // サーバー(Tornado Web Server)を起動する spawn('sh start-Server.sh 9800'); console.log('Server start...'); rq('http://localhost:9800/') // ★★★ ここで待ち状態になる ★★★ .then(function() { console.log('Connection start'); openWindow(); }) .catch(function(err) { console.log(`connect ECONNREFUSED`); }); // start-Server.shの内容 // Tornado Web Server(localhost:9800)を起動 #!/bin/sh port=$1 python ./server/Server.py --port=$port
試したこと
- アクティビティモニタで見ると、サーバー(Pythonプロセス)が起動していない。
- コンソール.appでログを表示すると、request-promise(http://localhost:9800)が完了しないで待ち状態のまま。エラーリターンしない?
補足情報(FW/ツールのバージョンなど)
electron 9.0.0
node 12.16.1
electron-builder 22.7.0
Electronアプリに署名はしているが、アップル公証(Notarization)はしていません。
回答1件
あなたの回答
tips
プレビュー