内容が多いので、準備編とアプリ配布の2回に分けることにした。4Dはv17.1。
- Macで4Dのプロジェクトを署名付きでビルドする 準備編
- Macで4Dのプロジェクトを署名付きでビルドする アプリ配布編
4)4Dプロジェクトをビルドして、署名付きアプリを作成
4DにADCのキーを入力して、「署名付きビルド」を実行。
5)「xx_Build」フォルダにできたアプリ「A」(xx.app)を複製して「B」(xx.app)を作る。
6)アプリ「B」を実行してデータファイル群を作成
「B」を実行すると、4Dとしてはアプリと対になるデータファイル(.4DDファイル)が見つからないため、作成するかどうかダイアログを表示する。これを抑制する手段がない。このダイアログが表示される前にメソッドを実行することができないのだ。アプリの配布形態は自由、方法はいくつもある中で、エンドユーザにこのダイアログを見せるかどうかが大きな分かれ目となる。ユーザにこのダイアログを操作させる場合、好きな場所にデータファイルを保存することができる、というメリットがある。一方で電話やメールでのサポートはやりにくくなる。もう一つ重要なのは、ここで作成した場合のデフォルトフォルダは.appのパッケージの中だということ。パッケージの中に.4DDファイルを作成してしまうと、将来アプリがバージョンアップした場合にユーザの.4DDファイルを誤って消してしまう確率が高くなる。
[作成]をクリックして、「B」と同じフォルダ内にデータファイル群「C」(.4DDファイルなど)を作成。
必要な初期設定データがあればここで.4DDファイルに取り込む。ウチでは起動時に自動的にResourcesフォルダから取り込むようにしているので、「B」を実行すれば初期設定データは自動で登録される。「C」ができたら「B」は削除。4Dアプリは一度実行すると中身が変化してしまうため、「B」は署名情報が不完全なアプリ、つまりネット経由で配布しても起動できないゴミアプリに成り下がってしまうのだ。
7)アプリフォルダ作成
配布したいフォルダ(この場合「会計ジロウ」)を作成、「A」と「C」と「お読みください」「会計ジロウについて」を入れる。一つ上に親のフォルダ(この場合「DC100_mac」)を作っておくとよい。ユーザがdmgファイルをマウントしたときにフォルダをドラッグできて便利。
8)ディスクユーティリティで.dmgファイルを作成
フォルダから作成。イメージフォーマットは「ハイブリッドイメージ(HFS+.ISO/UDF)を選択。ここで圧縮してはいけない。
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