MacOS用のLinuxでプログラムをクロスコンパイルしましたが、そのMacOSバイナリをMacOS用のDMGファイルに変換したいと思います。
Linux(Ubuntu)上のMacOSバイナリをMacOS用のDMGファイルに変換する方法はありますか?
Ubuntuでこれを行うにはいくつかの方法があります。ここでは、Ubuntu 18.04でテストし、同僚のMacOSコンピューターで結果のdmgファイルをテストした1つの手法について説明します。オンラインで提案されているいくつかのテクニックのうち、私はこれがより良い選択だと思います!
従うべき少数の比較的簡単なステップがあります:
一部のアプリケーションをインストールします:まず、HFS +ファイルシステム用のAppleのオープンソースツールの移植版であるhfsprogs
をインストールする必要があります。
Sudo apt-get install hfsprogs
これにより、AppleのHFS +ファイルシステムを操作するために必要なツールが提供されます。
HFS +ファイルを作成します:次に、16MBのdmgファイルを作成し、次の2つのコマンドラインでHFS +にフォーマットします。
dd if=/dev/zero of=/tmp/my_application.dmg bs=1M count=16 status=progress
mkfs.hfsplus -v Install /tmp/my_application.dmg
ここには、注意すべきいくつかの変数があります。count=16
を変更して、必要なサイズのdmgファイルを反映し、ボリュームラベルをここで-v Install
として変更できます。
ファイルをマウントしてプログラムをコピーします:マウントポイントを作成し、そこにdmgファイルをマウントし、プログラムファイルをマウントされたdmgファイルにコピーして、次に、すべてをアンマウントします。
mkdir -pv /mnt/tmp
Sudo mount -o loop /tmp/my_application.dmg /mnt/tmp
Sudo cp -av my_program /mnt/tmp
Sudo umount /mnt/tmp
ここで変更する変数は、もちろん_cp
コマンドでのアプリケーションの実際の名前です。これは、上記で単にmy_program
として指定したものです。
これで、完成したdmgファイルが/tmp/my_application.dmg
に配置され、MacOSでの展開とテストの準備が整いました。
参照: