申請方法の説明

4D v12 アプリを Mac App Store にサブミットしましょう
4D で作成されたアプリケーションを Mac App Store にサブミットするための手引き
3.0.1 版
2011 年 9 ⽉ 1 ⽇改定
4D v12 アプリを Mac App Store にサブミットしましょう
2
I. チェックリスト _____________________________________________________________________________ 3
1. Apple の規定を遵守してください ___________________________________________________________ 3
2. 4D OEM Desktop v12 を取得する _____________________________________________________________ 5
3. Mac Developer のアカウントを取得する(99 US ドル/年) ______________________________________ 5
4. Apple デベロッパーツールをインストールする________________________________________________ 5
II. 証明書の発行 ______________________________________________________________________________ 6
1. "証明書署名リクエスト" (CSR) を⽣成する ____________________________________________________ 6
2. "Mac App Software" 証明書を⽣成する ________________________________________________________ 6
3. "Mac Installer Package" 証明書を⽣成する _____________________________________________________ 7
III. 4D Volume Desktop v12 アプリケーションの準備______________________________________________ 7
IV. 4D v12 アプリケーションの準備 _____________________________________________________________ 7
V. Mac App Store にアプリを申請 _______________________________________________________________ 9
1. エンジン版の実⾏ファイルをビルドする ____________________________________________________ 9
2. 実⾏ファイルの PPC コードを削除する ______________________________________________________ 12
3. アプリにコード署名する __________________________________________________________________ 12
4. パッケージを作成して署名する ____________________________________________________________ 12
5. Applications フォルダにパッケージをインストールする _______________________________________ 12
VI.アプリケーションを Apple にサブミット _____________________________________________________ 13
1. iTunes Connect ___________________________________________________________________________ 13
2. Application Loader をインストールする ______________________________________________________ 17
3. Application Loader を起動する______________________________________________________________ 18
4. 実⾏ファイルをアップロードする __________________________________________________________ 19
付録: アプリケーションのカスタマイズ _________________________________________________________ 22
1. アプリケーションについてメニューをカスタマイズする ______________________________________ 22
2. コンポーネントのヘルプファイルを取り除く ________________________________________________ 22
3. ヘルプメニューを追加する ________________________________________________________________ 22
4. BuildApp.xml ファイルをカスタマイズする __________________________________________________ 23
5. メニューバーをカスタマイズする __________________________________________________________ 24
6. スプラッシュスクリーンを⾮表⽰にする ____________________________________________________ 25
4D v12 アプリを Mac App Store にサブミットしましょう
3
I. チェックリスト
1. Apple の規定を遵守してください

クラッシュするアプリは認められません。

バグを露呈するアプリは認められません。

宣伝どおりに動作しないアプリは認められません。

アプリの説明にない, あるいはそれと無関係な隠し機能があるアプリは認められません。

⾮公開 API を使⽤しているアプリは認められません。

"ベータ", "デモ", "トライアル", "テスト" バージョンのアプリは認められません。

すでにストアに多数の類似品が存在するアプリは認められません。

つまらないアプリ, 何の役にも⽴たないアプリは認められません。

宣伝素材, マーケティング素材に過ぎないアプリは認められません。

トリックでユーザーを騙すアプリで, 明確にそう謳っていないものは認められません。

アルコールや違法薬物の乱⽤, 未成年の喫煙を奨励するアプリは認められません。

デバイス情報を偽って伝えるアプリは認められません。

実質的に同じアプリの別バージョンを多数 App Store に陳列しようとしたデベロッパは
Mac Developer Program から除名されます。

アプリは Xcode が提供する Apple のパッケージングテクノロジーでパッケージされたも
のでなければなりません。第三者の⼿によるインストーラーは認められていません。

アプリは⾃⽴した単独のバンドルでなければなりません。共有部分にコードやリソース
をインストールすることは許されていません。

追加のコードやリソースをダウンロードあるいはインストールし, 機能を追加あるいは変
更するアプリは認められません。

他のスタンドアロンアプリをダウンロードするアプリは認められません。

kext をインストールするアプリは認められません。

ライセンスキーを要求したり, 独⾃のコピー防⽌策を持っているアプリは認められません。

起動時にライセンス画⾯を表⽰するアプリは認められません。

App Store 以外のアップデートメカニズムを使⽤することは許されていません。

アプリがサポートする⾔語はすべて同じバンドルに含まれていなければなりません。

ユーザがアプリを終了した後も, ユーザーの同意なく動作し続けるプロセスを派⽣させる
アプリは認められません。

廃⽌予定, もしくは追加インストールを必要とするテクノロジー(Java, Rosetta など)を
使⽤するアプリは認められません。

現在出荷されている OS で起動しないアプリは認められません。
4D v12 アプリを Mac App Store にサブミットしましょう
4

⾃動的に起動するアプリ, ユーザーの同意なくスタートアップやログインと同時に起動す
るアプリは認められません。

root 権限を要求するアプリ, setuid 属性を使⽤するアプリは認められません。

Dock にアイコンを追加したり, デスクトップのショートカットを作成するアプリは認めら
れません。

所定の API を使⽤せずに他のアプリが管理するユーザーデータ(ブックマーク, アドレス
ブック, カレンダーなど)を書き換えるアプリは認められません。

Mac OS X ファイルシステムの仕様に違反するアプリは認められません。
加えて, アプリは下記の規約を守らなければなりません。

名前を付けて保存ダイアログなどにより, ユーザーが意識的に選択したのでない限り, アプリ
に書き込みが許されているのは, 下記のディレクトリだけです。

o
~ / Library / Application Support / <アプリ識別⼦>
o
~ / Library / <アプリ識別⼦>
o
~ / Library / Caches / <アプリ識別⼦>
<アプリ識別⼦> は アプリケーションのバンドル識別⼦またはデベロッパーの会社名です。こ
の名前は iTunes Connect で表⽰される⽂字列と⼀致しなけれなりません。

ファイルパスは, いつでも Apple のプログラミングインタフェースを使⽤して取得するように
してください。(NSSearchPathForDirectoriesInDomains など)詳しくはドキュメント LowLevel File Management Programming Topics の "Creating Paths and Locating Directories" をご覧く
ださい。

写真, ミュージック, ムービーなどのライブラリを管理するアプリケーションは, 下記のディレ
クトリにも書き込むことができます。
o
~ / Pictures / <アプリ識別⼦>
o
~ / Music / <アプリ識別⼦>
o
~ / Movies / <アプリ識別⼦>

Apple が提供する API より返される⼀時ファイルパスに書き込むことは許されています。

User Defaults, Calendar Store, Address Book などの Apple フレームワークを使⽤することにより,
許可された場所の外にファイルを書き込んだり, ファイルを更新したりすることは, この限り
ではありません。
4D v12 アプリを Mac App Store にサブミットしましょう
5
2. 4D Developer Professional または 4D OEM Desktop v12 ライセンス を取得する
地元の 4D 営業担当者までお問い合わせください。
3. Mac Developer のアカウントを取得する(99 US ドル/年)
詳細はこちらをご覧ください: http://developer.apple.com/programs/mac/
4. Apple デベロッパーツールをインストールする
http://developer.apple.com/devcenter/mac/index.action より下記ソフトウェアの最新バージョンをダウ
ンロードしてください。


XCode
Application Tools
4D v12 アプリを Mac App Store にサブミットしましょう
6
II. 証明書の発⾏
証明書を発⾏する前に, 前述のチェックリスト項⽬すべてが満たされていることを確認してください。
問題がないようであれば, 次のステップに進むことができます。
1. "証明書署名リクエスト" (CSR) を⽣成する
-
/Applications/Utilities フォルダにあるキーチェーンアクセスアプリケーションを起動します。
-
アプリケーションメニュー>証明書アシスタント>認証局に証明書を要求を選択します。
-
必要とする証明書に関する情報を⼊⼒します。
-
“要求の処理” は, “ディスクに保存” を選択します。
-
“続ける” をクリックして CSR 証明書⽣成を完了します。
2. "Mac App Software" 証明書を⽣成する
-
Apple の "Developer Certificate Utility" にアクセスします。
https://developer.apple.com/certificates/index.action
-
"Create Certificates" リンクをクリックします。
-
下記のオプションを選択します。
o
o
Mac App Software Certificate
Mac Installer Package Certificate
-
"Create Certificate" をクリックして先へ進みます。
-
"Submit" をクリックし, "Certificate Signing Request" を選択します。
-
"Generate" をクリックして先へ進みます。
-
"Download" をクリックして証明書をダウンロードします。
-
証明書をダブルクリックしてインストールします。
-
"Continue" をクリックします。
4D v12 アプリを Mac App Store にサブミットしましょう
7
3. "Mac Installer Package" 証明書を⽣成する
-
"Create Certificate" をクリックして先へ進みます。
-
"Submit" をクリックし, "Certificate Signing Request" を選択します。
-
"Generate" をクリックして先へ進みます。
-
"Download" をクリックして証明書をダウンロードします。
-
証明書をダブルクリックしてインストールします。
-
"Done" をクリックして完了します。
キーチェーンアプリケーションには2通の新しい証明書がインストールされたはずです。
III. 4D Volume Desktop v12 アプリケーションの準備

4D Volume Desktop パッケージの Content フォルダに "_MASReceipt" フォルダを作成しま
す。このフォルダは, 将来, App Store のレシートが置かれる場所です。

info.plist ファイルに "DatabaseOutsidePackage" キーを追加し, 値を⼩⽂字で "true" に設定し
ます。
IV. 4D v12 アプリケーションの準備

4D のデータベース設定ダイアログ中、データベースページの「テンポラリフォルダーの
場所」で、テンポラリフォルダを Apple のガイドラインに準拠する場所である「データフ
ァイルフォルダー」に設定します。
重要: "DatabaseOutsidePackage" キーが info.plist ファイルに設定されているエンジン版アプリケー
ションは, 設定ファイルの場所が通常の ~/Library/Preferences ではなく, ~/Library/Application
Support になります。"System folder" コマンドの "User Preferences_User" セレクターも同様です。

"App Store Tools" プラグインをインストールします。
 このプラグインは, Apple が提供するアプリケーションの不正コピー防⽌メカニズムを踏襲し
ています。使⽤することは必須ではありません。(チェックリストに挙げられていたように,
アプリケーションが独⾃のコピー防⽌メカニズムを持つことは許されていません。)

データベースをデザインモードで開きます。

次のようにレシートの真性チェックメソッドを作成します。
4D v12 アプリを Mac App Store にサブミットしましょう
8
C_TEXT($B_identifer;$B_version;$R_identifier;$R_version;$R_hash;$R_opaque;$GUID;$computed_hash)
//終了コード 173 が認識されるのは OS X 10.6.6 以降です。
//システムは App Store から有効なレシートを⼊⼿するようユーザーを促します。
//アプリケーションの署名が有効であれば, 有効なレシートがインストールされます。
//途中, iTunes アカウントの認証が求められるかもしれません。
If (False)
//アプリを使⽤するためのレシートがないという意味の終了コードです。
EXIT 173
End if
//次の値はアプリケーションの Info.plist ファイルから読み取られます。
//レシートから読み取られた値を⽐べることが⽬的です。
$B_identifer:=BUNDLE Get identifer
$B_version:=BUNDLE Get version
//App Store からダウンロードされたアプリには, 暗号署名されたレシートが含まれています。
//アプリケーションバンドルの中, MASReceipt フォルダにある下記のファイルがレシートです。
//.../SampleApp.app/Contents/_MASReceipt/receipt
//サンプルレシートは, サンプルデータベースの Resources フォルダに収録されてます。
//当然, このレシートに記載された識別⼦は⾒本に過ぎません。
//次の値はレシートファイルから読み取られます。
//hash および opaque はバイナリ値なので 16 進数で 返されます。
$R_identifier:=RECEIPT Get identifier
$R_version:=RECEIPT Get version
$R_hash:=RECEIPT Get hash
$R_opaque:=RECEIPT Get opaque
//識別⼦もバージョンも合わないのであれば, ハッシュをチェックするには及びません。
If ($B_version=$R_version)
If ($B_identifer=$R_identifier)
End if
End if
//この値はコンピューター特有の識別番号です。
$GUID:=GUID Get identifier
//コンピューターの GUID, レシートから読み取った opaque とアプリの識別⼦を計算し, レシートから
読み取ったハッシュと同じ値になれば真性です。
//次の GUID はサンプルレシートに対応するものです。本番では使⽤しないでください。
4D v12 アプリを Mac App Store にサブミットしましょう
9
$computed_hash:=GUID Compute hash ("0017f2c4bcc0";$R_opaque;$R_identifier)
If (($computed_hash=$R_hash) & (Length($computed_hash)>0))
//レシートはこのマシンとアプリに対するものに間違いありません。
//ALERT("OK")
Else
ALERT("KO")
End if

上記は例題に過ぎません。必要に応じてコードを修正してください。
o
アプリのバージョン番号 (BUNDLE Get Version で返される値) は, App Store 経由の⾃動
アップデートにも利⽤されます。(どのようなバージョン番号でビルドをサブミット
するのかはデベロッパの裁量に委ねられています。)

慎重なデベロッパは, プラグインそのものの真性もチェックし, ダミープラグインに認証を乗
っ取られないようにしたいと思うかもしれません。たとえばプラグインの MD5 をハッシュを
データベースで持っておき, 起動時にプラグインが改ざんされていないことを確かめることが
できるでしょう。MD5 ハッシュは, 4D Pack プラグインで計算することができます。
C_TEXT ($ledoc)
C_TEXT (<>digest)
C_LONGINT ($resfork)
$resfork:=0
$ledoc:=Select document
$erreur:=AP Get file MD5 digest ($ledoc;<>digest;$resfork)
レシートチェックのメソッドは, サンプルレシートを含む "_MASReceipt" フォルダを 4D の "Contents"
フォルダにコピーすれば, インタプリタモードでトレースすることができます。
問題がないようであれば, 実⾏ファイルのビルドに進むことができます。
V. Mac App Store にアプリを申請
1. エンジン版の実⾏ファイルをビルドする

デザインモードに切り替えます。

デザインメニューより "アプリケーションビルド" を選択します。

"アプリケーション" タブをクリックします。

"スタンドアロンアプリケーションのビルド " オプションをチェックします。

"…" ボタンをクリックし, 4D Volume Desktop v12 を選択します。
4D v12 アプリを Mac App Store にサブミットしましょう
10

"ライセンス" タブをクリックします。

+ ボタンをクリックし, 4DDP120 または 4DOE120 から番号が始まる 4D v12 開発ライセンスを
選択します。

+ ボタンをクリックし, 4UOE120 から番号が始まる 4D v12 配付ライセンスを選択します。

アプリケーションの名前を⼊⼒します。(⽇本⽀社注記:この名前は英数字であるべきです。
アプリケーション名をローカライズするのであれば, ここではなく, パッケージの
InfoPlist.strings ファイルで管理するべきです。)

保存先フォルダを指定します。

"設定保存"に続けて"Build" ボタンをクリックします。

アプリケーションが作成された後, 次のことをしてください。


info.plist ファイルを編集します。
o
"Bundle versions string, short" および "Bundle version" にビルド番号を⼊⼒します。
o
"Bundle name" にアプリの名前を⼊⼒します。
"Contents" フォルダの中に "UserData" フォルダを作成し, ビルドにデータファイルを含め
たいのであれば"4DD" および "match" ファイルをそこにコピーします。

ターミナルを起動し, アプリケーションの実⾏ファイルに対して次のコマンドラインを発
⾏します。

o
sudo chmod 755 ビルドの実⾏ファイルに対するパス
o
例: sudo chmod 755 /…/Build/Theater.app/Contents/MacOS/Theater
データファイルを含めないとしても, 起動時に余計なダイアログが表⽰されることを避け
るために, ⼀度, アプリを起動して "Contents/UserData" フォルダに空のデータファイルが作
成されるようにしてください。これは Apple のガイドラインに準拠するためです。
注記: Apple はパッケージ内のファイルが更新されることを認めていません。
想定されるそれぞれのケースにおける 4D の振る舞いは下記のとおりです。
1: 最初のインストールと⼀緒にデータファイルが供給されない場合
始めての起動後:

データファイルを開くためのダイアログが表⽰されます。
o
新しいファイルを作成, あるいは既存のファイルを開くにしても, その場所はパッケー
ジの外でなければなりません。

~Library/Application Support/ にアプリと同じ名前のフォルダが作成されます。
o
ビルド番号に対応するサブフォルダが作成されます。

ビルドのデータベースフォルダがここにコピーされます。
4D v12 アプリを Mac App Store にサブミットしましょう
11
o
データファイルおよびストラクチャファイルのパスが記録された "startup.4dlink" ファ
イルが~Library/Application Support/アプリと同じ名前のフォルダに作成されます。
o
"UserData" フォルダが~Library/Application Support/アプリと同じ名前のフォルダに作
成されます。
2: 最初のインストールと⼀緒にデータファイルが供給される場合
始めての起動後:

“データファイルを開く” ダイアログは表⽰されません。

~Library/Application Support/ にアプリと同じ名前のフォルダが作成されます。
o
ビルド番号に対応するサブフォルダが作成されます。

o
ビルドのデータベースフォルダがここにコピーされます。
データファイルおよびストラクチャファイルのパスが記録された "startup.4dlink" ファ
イルが~Library/Application Support/アプリと同じ名前のフォルダに作成されます。
o
"UserData" フォルダが~Library/Application Support/アプリと同じ名前のフォルダに作
成されます。

4DD および match ファイルがこのフォルダにコピーされます。
3: アップデートと⼀緒にデータファイルが供給されない場合
注記: アップデートは, ビルドの info.plist ファイル, 特に "Bundle versions string, short" と "Bundle version" の
情報が変わったことを⽰唆しています。 (1.0 -> 1.1, など)
始めての起動後:

新しいビルド番号 (例: 1.1) をに対応するサブフォルダが ~Library/Application Support/ に作成さ
れます。
o

新しいビルドのデータベースフォルダがこのサブフォルダにコピーされます。
4DC ファイルのパスが変わったので, "startup.4dlink" ファイルが更新されます。
4: アップデートと⼀緒にデータファイルが供給される場合
注記: アップデートは, ビルドの info.plist ファイル, 特に "Bundle versions string, short" と "Bundle version" の
情報が変わったことを⽰唆しています。 (1.0 -> 1.1, など)
始めての起動後:

新しいビルド番号 (例: 1.1) をに対応するサブフォルダを ~Library/Application Support/ に作成し
ます。
o

新しいビルドのデータベースフォルダがこのサブフォルダにコピーされます。
4DC ファイルのパスが変わったので, "startup.4dlink" ファイルが更新されます。
4D v12 アプリを Mac App Store にサブミットしましょう
12
注記: アップデートと⼀緒に供給されたデータファイルを使⽤することが必要なのであれば, それはプ
ログラミングで⾃動的に管理されるようにするべきです。つまり, データファイルと match ファイル
をパッケージの外にコピーすること, 4Dlink ファイルを書き換えること, 正しいデータファイルをコピ
ーすることなど, 4D のコマンドを使⽤して実⾏しなければなりません。
2. 実⾏ファイルの PPC コードを削除する
-
フリーのユーティリティ TrimTheFat を次の場所からダウンロードします。
http://homepage.mac.com/gweston/macware/TrimTheFat.zip
-
実⾏ファイルをこのユーティリティにドラッグ&ドロップします。
ユーティリティは処理前の実⾏ファイル名を⾃動的に変更します。したがって, 正しい名前を持つほ
うが新しい実⾏ファイルです。
3. アプリにコード署名する
-
ターミナルアプリケーションを起動し, 下記のコマンドラインを実⾏します。"xxxxxxx" は, 2 通
の証明書を発⾏したときに使⽤されたものを同じであるべきです。
o
cd [アプリのフォルダパス]
o
codesign -f -s "3rd Party Mac Developer Application: xxxxxxx" [アプリの
名前].app
4. パッケージを作成して署名する
-
続けてターミナルで下記のコマンドラインを実⾏します。"xxxxxxx" は, 2 通の証明書を発⾏し
たときに使⽤されたものを同じであるべきです。
o
productbuild -component [アプリの名前].app/Applications -sign "3rd Party
Mac Developer Installer: xxxxxxx" -product [アプリの名
前].app/Contents/Info.plist [アプリの名前].pkg
5. Applications フォルダにパッケージをインストールする
-
インストーラをテストするために, ⼀旦, .app ファイルを削除するか, 別のマシンにパッケージ
をコピーします。
-
ターミナルを起動し, 下記のコマンドラインを実⾏します。
4D v12 アプリを Mac App Store にサブミットしましょう
13
o
sudo installer -store -pkg [アプリの名前].pkg -target /
アプリケーションは Applications フォルダにインストールされるはずです。
.app ファイルをダブルクリックして起動します。
VI.アプリケーションを Apple にサブミット
1. iTunes Connect
iTunes Connect サイトに接続します: https://itunesconnect.apple.com/
iTunes Connect アカウントを作成してログインします。
"Manage Your Applications" リンクをクリックします。
4D v12 アプリを Mac App Store にサブミットしましょう
14
"Add New App" ボタンをクリックします。
必要な情報を⼊⼒して "Continue" をクリックします。
4D v12 アプリを Mac App Store にサブミットしましょう
15
アプリのリリース⽇および価格帯設定を⼊⼒します。
ヒント: サブミッションのテストをするために, 遠い未来の⽇付を⼊⼒することができます。
アプリのメタデータと呼ばれる基本情報を⼊⼒し, "Save" に続けて"Done" ボタンをクリックします。
アプリの情報が Apple に登録されます。
4D v12 アプリを Mac App Store にサブミットしましょう
16
アプリのステータスが "Prepare for Upload" になります。
重要: 次のステップに進む前に,アプリケーションのステータスが "Waiting for Upload" になったことを
通知する写真のような電⼦メールを受け取っていることを確認してください。
4D v12 アプリを Mac App Store にサブミットしましょう
17
2. Application Loader をインストールする
Mac OS X オペレーションシステムに iOS SDK 3.2 以降がインストールしてあれば, ユーティリティフォ
ルダに Application Loader があるはずです。(/Developer/Applications/Utilities/Application Loader.app)
Application Loader は, iTunes Connect からダウンロードすることもできます。
iTunes Connect から Application Loader をインストールする⽅法は下記のとおりです。

Download Application Loader リンクをクリックします。
(http://itunesconnect.apple.com/apploader/ApplicationLoad- er_1.3.dmg) リンクは iTunes
Connect の Manage Your Applications ページ
(http://www.apple.com/itunes/go/itunesconnect/manageApps) にあります。

iTunes Connect は⾃⼰展開インストールパッケージ (ApplicationLoader_1.3.dmg) のダウンロー
ドを開始します。

インストールパッケージ (ApplicationLoader.pkg) をダブルクリックし , 表⽰されるダイアログ
の指⽰に従ってインストールを進めます。
注記: Mac に Application Loader をインストールする前に,管理者グループの権限でコンピューターにロ
グインする必要があります。

インストーラーの説明を読み, Continue をクリックします。
Software License Agreement を読み, Continue と Agree をクリックします。
4D v12 アプリを Mac App Store にサブミットしましょう
18

標準インストールを開始するために Install をクリックします。

ファイルは /Developer/Applications/Utilities フォルダにインストールされます。

⼊⼒を促されたならば, 管理者パスワードを⼊⼒して OK をクリックします。

Close をクリックします。

/Developer/Applications/Utilities フォルダの Application Loader.app アイコンをダブルクリック
し, Application Loader アプリケーションを起動します。
3. Application Loader を起動する
Application Loader を使⽤して App Store にアプリを追加する前に, セットアップで Application Loader
に iTunes Connect のログイン情報を⼊⼒する必要があります。
/Developer/Applications/Utilities フォルダの Application Loader.app アイコンをダブルクリックし,
Application Loader アプリケーションを起動します。
Application Loader のセットアップウィザードが表⽰されます。

“Welcome to Application Loader” ウィンドウで Next をクリックします。

iTunes Connect のログイン情報(Apple ID と パスワード)を⼊⼒し, Next をクリックします。
Application Loader は iTunes Connect ログイン情報をチェックし, 以後の操作で使⽤するために
Apple ID と パスワードを保存します。
4D v12 アプリを Mac App Store にサブミットしましょう
19
Application Loader に iTunes Connect ログイン情報を⼊⼒して初期化する操作は, アカウント毎
に必要です。別の iTunes Connect アカウントを持っているユーザーとマシンを共⽤している
のであれば, 各⾃が⾃分の Apple ID とパスワードを Application Loader に設定することができ
ます。

Done をクリックします。
“Choose an application” ウィンドウが表⽰され, 実際に Application Loader が使⽤できるように
なります。
注記: iTunes Connect パスワードを変更した場合, Application Loader のセットアップウィザードを使⽤し
て Apple ID とパスワードを再設定しなければなりません。 Application Loader の Window > Run Setup
Wizard を選択し, 上述した⼿順を繰り返してください。
4. 実⾏ファイルをアップロードする
メタデータやアートワークなどのアセットがアップロード済みで, iTunes Connect でアプリケーション
申請の⼿順を完了しており, アプリケーションのステータスが“Waiting for Upload” であれば, App Store
に実⾏ファイルをアップロードすることができます。
ここではアプリケーションの実⾏ファイルを App Store にアップロードする⽅法を説明します。
iTunes Connect でアプリケーションのステータスが “Waiting for Upload” であれば, Application Loader を
使⽤して実⾏ファイルを App Store にアップロードすることができます。
実⾏ファイルをアップロードする⽅法:

Choose ポップアップメニューからアプリケーションを選択します。
4D v12 アプリを Mac App Store にサブミットしましょう
20
iTunes Connect にアップロードされたのはメタデータとアートワークだけで, まだ実⾏ファイルがアッ
プロードしていないアプリ, 以前に申請が認可されなかったアプリなど, iTunes Connect でステータス
が “Waiting for Upload” であるアプリケーションは Choose ポップアップメニューに表⽰されます。

Next をクリックします。
Application Loader は, App Store に追加する準備ができているすべてのアプリケーションを探
し出し, Please Confirm ウィンドウを表⽰します。

アプリケーションの検証が済み, 合格であることを表明するためには Yes をクリックし ます。
Application Loader はアプリケーションの詳細をウィンドウに表⽰します。 これにはバージョ
ン番号, 名前, デバイスサポート, SKU 番号, 主⾔語, および著作権が含まれます。.

Choose をクリックし, アプリケーションファイルを選択して Open をクリックします。

サブミットするファイルを置き換えるには…ボタンをクリックします。

Send をクリックします。
Application Loader がアプリの実⾏ファイルを App Store に転送し始めます。
アップロードを中⽌してウィンドウを閉じるには Cancel をクリックします。アップロードを
中⽌して別のファイルを選択するには Abort をクリックします。

Done をクリックします。
4D v12 アプリを Mac App Store にサブミットしましょう
21
アプリケーションのステータスは iTunes Connect の Manage Your Applications ページで確か
めることができます。
Window > Background Activity を選択すれば , すべてのアプリについて, 保留メッセージ, 残り時間, 警告
やエラーメッセージなど, 転送ステータス情報を⼀瞥することができます。
4D v12 アプリを Mac App Store にサブミットしましょう
22
付録: アプリケーションのカスタマイズ
これらのステップは, エンジン版アプリケーションをビルドする直前、特にビルドダイアログでのラ
イセンスの登録が終了した後に踏まれるべきものです。
1. アプリケーションについてメニューをカスタマイズする
"About_Application" メソッドを作成し, 下記のコードをコピーします。
C_LONGINT($Lon_windowID)
$Lon_windowID:=Open form window("About_Application";1984;Horizontally Centered;Vertically
Centered)
DIALOG("About_Application") // このダイアログは⾃作する必要があります
CLOSE WINDOW

"On startup" データベースメソッドに下記のコードを追加します。
SET ABOUT("アプリケーションについて";"About_Application")
2. コンポーネントのヘルプファイルを取り除く
コンポーネントのヘルプファイルは次のように取り除くことができます。
例: "Help for 4D SVG" をヘルプメニューから取り除く場合

コンポーネントのパッケージを開きます。

ヘルプファイルを削除します。
 この場合, ファイルは次の場所にあるはずです: 4D Volume
Desktop.app/Contents/Components/4D SVG.4dbase/4D SVG.htm
3. ヘルプメニューを追加する
4D は, アプリケーションに関する補⾜的な情報をユーザーに提供するために, カスタマイズされたヘル
プファイルを追加できるようになっています。
Mac の場合, 認識されるのは CHM 形式のファイルです。このフォーマットは, どのブラウザでも開くこ
とができます。実際, ヘルプファイルはブラウザで表⽰されます。
4D v12 アプリを Mac App Store にサブミットしましょう
23
データベースのそれぞれのフォームには, ヘルプファイルの特定ページを関連付けることができ, その
ようにしてコンテキストヘルプを作成することができます。
作成したヘルプファイルは, 特定の条件が満たされていれば, データベースに関連付けられ, ヘルプメニ
ューに登録されて利⽤できるようになります。

ヘルプファイルのファイル名は, ストラクチャファイル名と合わせるようにしてください。拡
張⼦は .HTM であることが必要です。

ヘルプファイルは, ストラクチャファイルと同じ場所, あるいはストラクチャと同じレベルの
"Plugins" フォルダに置かれていることが必要です。
似たようなメカニズムにより, コンポーネントのヘルプファイルも登録できるようになっています。

コンポーネントのヘルプファイルは, 拡張⼦が .htm である必要があります。

ヘルプファイルは, コンポーネントのストラクチャファイルと同じ場所で, ストラクチャファ
イルと同じファイル名に設定してください。

ヘルプファイルは⾃動的に読み込まれ, ヘルプメニューに "Help for…ヘルプファイル名" と表
⽰されます。
4. BuildApp.xml ファイルをカスタマイズする

アプリケーションのアイコンをカスタマイスするには, ⽤意した ICNS ファイルを 4D Volume
Desktop の "Contents" フォルダ中にある "Resources" フォルダにコピーします。

"BuildApp.xml" ファイルを適当な場所にコピーします。

コピーした "BuildApp.xml" ファイルを編集し, "RuntimeVLIconMacPath" XML キーを追加します。
(/Preferences4D/BuildApp/SourcesFiles/RuntimeVL/RuntimeVLIconMacPath)
 例: <RuntimeVLIconMacPath>application.icns</RuntimeVLIconMacPath>

アプリケーションの著作権表⽰を変更するには, "CommonCopyright" および
"RuntimeVLCopyright" XML キーを追加します。(/Preferences4D/BuildApp)
 例:
<Versioning>
<Common>
<CommonCopyright>Company Copyright</CommonCopyright>
<CommonCreator>APPL</CommonCreator>
</Common>
<RuntimeVL>
<RuntimeVLCopyright>Company Copyright</RuntimeVLCopyright>
<RuntimeVLCreator>APPL</RuntimeVLCreator>
</RuntimeVL>
</Versioning>
4D v12 アプリを Mac App Store にサブミットしましょう
24
重要: BuildApp.xml ファイルをカスタマイズした後は, アプリケーションビルドダイアログではなく,
BUILD APPLICATION コマンドでビルドしなければなりません。
注記: アイコンのカスタマイズが動作しない場合、ビルドしたアプリケーションの"Resources" フォル
ダにアイコンファイルがあることを確認し、info.plist の Icon File キー値を書き換えてください。
5. メニューバーをカスタマイズする

編集メニュー:
o
アプリケーションに関連つけられたメニューバーには, 編集メニューを追加するよう
にしてください。

モードメニュー:
o
エンジン版アプリケーションにモード切り替えの概念はありません。メニューバーか
ら取り除くようにしてください。

確認なしで終了する:
o
QUIT 4D コマンドを実⾏するプロジェクトメソッドを作成します。
o
ツールボックスで終了メニューアイテムにこのメソッドを関連づけます。標準アクシ
ョンの「終了」はそのままにしておきます。
注記: 標準アクションの「終了」には, アプリケーションメニューに「終了」アクションを追加する役
⽬があります。プロジェクトメソッドのほうは, 終了前に確認ダイアログを表⽰させないようにする
役⽬があります。したがって, 同じメニューアイテムで両⽅のメカニズムを併⽤する必要があります。
4D v12 アプリを Mac App Store にサブミットしましょう
25
6. スプラッシュスクリーンを⾮表⽰にする
データベース設定「ウィンドウの表⽰ - スプラッシュスクリーン」は, エンジン版アプリケーションで
は動作が異なります。以下の⼿順でスプラッシュスクリーンを完全に無効にできます。

データベース設定 > インターフェース > ユーザー グループ内「スプラッシュスクリーン」
のチェックボックスを外します。

プロジェクトメソッド "hide_splash_screen" を作成し, 下記のコードをペーストします。
C_LONGINT($nb_win;$i)
ARRAY LONGINT($windows)
WINDOW LIST($windows)
$nb_win:=Size of array($windows)
For ($cpt;1;$nb_win)
If (Get window title($tabWin{$cpt})="アプリケーション")
HIDE WINDOW($tabWin{$cpt})
$cpt:=$nb_win
End if
End for

アプリケーション始動時に起動される新規プロセスメソッドのひとつに下記のコードを
挿⼊します。例えばメニューダイアログを表⽰するメソッドの先頭で呼び出します。
hide_splash_screen
4D v12 アプリを Mac App Store にサブミットしましょう
26
4D SAS
Worldwide Headquarters
60, rue d’Alsace - 92110 Clichy - France
Tel: +33 1 40 87 92 84 - Fax : +33 1 40 87 92 01
[email protected] - www.4D.com
4D SAS
4D, Inc
4D Deutschland GmbH
4D Japan
France
USA & Canada
Germany & Austria
Japan
+33 1 40 87 92 00
+1 800 785 3303
+49 8165 95 19 0
+81 3 6427 8441
[email protected]
[email protected]
[email protected]
[email protected]
4D UK Ltd
4D Hispano
4D Sweden
4D Australasia
United Kingdom
Spain, Portugal & Latin America
Sweden & Denmark
Australia & New Zealand
+44 1625 536 178
+34 91 414 92 90
+46 8 750 63 00
+61 2 9499 9544
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
Copyright 2010-2011 4D SAS. All rights reserved. 4D and related logos are registered trademarks of 4D SAS.
All other quoted trademarks and products names are trademarks and/or registered trademarks of their respective owners.