Macで4Dのプロジェクトを署名付きでビルドする アプリ配布編

内容が多いので、準備編とアプリ配布の2回に分けることにした。4Dはv17.1。

4)4Dプロジェクトをビルドして、署名付きアプリを作成

4DにADCのキーを入力して、「署名付きビルド」を実行。

図 4Dのアプリケーションビルドでアプリケーションの「認証名」を入力
図 「DC_Build」フォルダができて、その中の「Final Application」というフォルダに署名付きのアプリができる

5)「xx_Build」フォルダにできたアプリ「A」(xx.app)を複製して「B」(xx.app)を作る。

図 一つ上の「DC_Build」フォルダに複製を作ったところ、左がB、もとのがA

6)アプリ「B」を実行してデータファイル群を作成

「B」を実行すると、4Dとしてはアプリと対になるデータファイル(.4DDファイル)が見つからないため、作成するかどうかダイアログを表示する。これを抑制する手段がない。このダイアログが表示される前にメソッドを実行することができないのだ。アプリの配布形態は自由、方法はいくつもある中で、エンドユーザにこのダイアログを見せるかどうかが大きな分かれ目となる。ユーザにこのダイアログを操作させる場合、好きな場所にデータファイルを保存することができる、というメリットがある。一方で電話やメールでのサポートはやりにくくなる。もう一つ重要なのは、ここで作成した場合のデフォルトフォルダは.appのパッケージの中だということ。パッケージの中に.4DDファイルを作成してしまうと、将来アプリがバージョンアップした場合にユーザの.4DDファイルを誤って消してしまう確率が高くなる。

図 4DDファイルが見つからない場合は、自動的にこのダイアログが表示されてしまう

[作成]をクリックして、「B」と同じフォルダ内にデータファイル群「C」(.4DDファイルなど)を作成。

必要な初期設定データがあればここで.4DDファイルに取り込む。ウチでは起動時に自動的にResourcesフォルダから取り込むようにしているので、「B」を実行すれば初期設定データは自動で登録される。「C」ができたら「B」は削除。4Dアプリは一度実行すると中身が変化してしまうため、「B」は署名情報が不完全なアプリ、つまりネット経由で配布しても起動できないゴミアプリに成り下がってしまうのだ。

7)アプリフォルダ作成

配布したいフォルダ(この場合「会計ジロウ」)を作成、「A」と「C」と「お読みください」「会計ジロウについて」を入れる。一つ上に親のフォルダ(この場合「DC100_mac」)を作っておくとよい。ユーザがdmgファイルをマウントしたときにフォルダをドラッグできて便利。

8)ディスクユーティリティで.dmgファイルを作成

フォルダから作成。イメージフォーマットは「ハイブリッドイメージ(HFS+.ISO/UDF)を選択。ここで圧縮してはいけない。


図 ディスクユーティリティで新規イメージをフォルダから作成
図 dmgファイルのイメージフォーマットは「圧縮」ではなく「ハイブリッドイメージ」で作成

9)codesign -s

.dmgファイルに署名する

例:

codesign -s “Developer ID Application: Jirokichi and Company (7N7LW3N8XG)” /current_projects/4D会計ソフト/prj_v17_dcc/DCv104_mac.dmg

【注意】実際にこのコマンドを使うときは、”Developer …”のところをご自分で取得したキーに置き換えて実行してください。

10)zip圧縮

ようやくここで圧縮してファイルを小さくする。ここまで圧縮はしていない。途中で圧縮してはいけない。

11)サイトにアップロード

12)別のMacでダウンロードして実行

参考:
codesign -s “Developer ID Application: Jirokichi and Company (7N7LW3N8XG)” /current_projects/4D会計ソフト/prj_v17_dcc/DCv104_mac.dmg 

コメントを残す