Openframeworksで作っているアプリを配布する機会があります。
今までは問題なく動いていたのですがインターネット経由で配布した時のみうまく動かない、という問題があってハマったので書いておきます。
開発環境としては、、、
Openframeworks: 0.9.8
XCode: 10.1(10861)
OS: 10.14.1 (Mojave)
です。
症状としては、アプリ起動時に設定ファイルとして定義しているxmlを読みに行くようにしていてその処理ができていないという挙動でした。
色々と調べていくと、GateKeeperに阻まれているようで、 com.apple.quarantineの拡張属性がつけられていました。
なのでこの拡張属性を取り除く、下記コマンドを実行することで無事動作するようになりました。
xattr -dr com.apple.quarantine [アプリファイル(example.app)]
※ちなみにXCode9系の時は、XCodeから起動した場合に音声入力のパーミッションダイアログが表示されずにオーディオ入力が使えないということがありました。
ただ、ビルドしたappファイルをダブルクリックで起動した場合はダイアログが表示されました。
※Macでのバッチファイルは拡張子を.commandにすると動作するのですね。知らなかった。
※quarantine属性についてはこちらが詳しかったです。
http://d.hatena.ne.jp/zariganitosh/20140312/com_apple_quarantine_mtstery