FSWATCH
ソフトウェアを作成し,他人に配布する場合,コンパイル済みバイナリーを配布すれば,ユーザーはクリックするだけで利用できる.それは
***.pkg
というファイル形式になる.もう少し大規模なソフトであれば,それをディスクイメージ
***.dmg
にしても良いかもしれない.
- XCodeで作成した場合:XCodeを用いて作成できる.
- その他のソフトの場合
- 例えばLinux用のソフトなど,適当な場所(普通は/usr/local)にインストールすることになるだろう.そこで,make install する前に,/usr/local フォルダーの監視ソフトfswatchを実行する.
fswatch -x /usr/local > files.log &
- そして make install を実行すると,/usr/local への操作が files.log に記録される.fswatch は kill によって終了させればOK
kill -9 %1
- fswatch_analyze.sh は, fswatch の記録を分析し,必要なファイルを指定したフォルダーにコピーする.すなわち
fswatch_analyze.sh -c binary files.log
これで,files.log でCreateしたと記録されているファイルのコピーが,binary フォルダーにコピーされる.
- 最後にパッケージを作成する.パッケージ管理ソフトに登録するべき,そのソフトの名称,パッケージファイルの名前,コピーしたフォルダーが必要である.
pkgbuild --identifier my_software_name --root binary my_software_version-osx.pkg
- 例えばLinux用のソフトなど,適当な場所(普通は/usr/local)にインストールすることになるだろう.そこで,make install する前に,/usr/local フォルダーの監視ソフトfswatchを実行する.
fswatch + pkgbuild はなんともお手軽にパッケージを作成できるが,中のライブラリーが他のライブラリーに依存しているのか的なことはチェックしていない.
あ,otool で検定することもできるのか・・・そいつはいい考えだけど,まだ書いてねっす♪
MacOS豚リンゴ
当面の間, IntelとM1の両方に対応したライブラリーを作る必要がある.これはlipo油というコマンドをAppleが用意しているので,それで豚(FAT)ライブラリーにすれば良い.が,しかし,たくさんあって面倒なのでスクリプトを使う.
ライブラリーファイルの一覧 | fatty_apple.sh アーキテクチャ1フォルダ アーキテクチャ2フォルダ 豚小屋
によって,以下の作業が行われる
- 豚小屋フォルダが空でなければ,停止
- アーキテクチャ1フォルダ/入力ファイル名 がNon-Fatファイルであれば,アーキテクチャ名をゲット
- アーキテクチャ2フォルダ/入力ファイル名 がNon-Fatファイルであれば,アーキテクチャ名をゲット
- 2つのライブラリ(dylibとかaとか. 多分実行ファイルもできる)にアーキテクチャ名を追加して豚にし,豚小屋にぶっこむ
File attachments
添付 | サイズ |
---|---|
MacOS豚リンゴ | 850 バイト |