Xcode4.2の新機能Storyboardを使用したアプリ開発

Xcode4.0からXcode4.2にバージョンアップすると、Storyboardという新機能が追加されていた。

Xcode4.0ではアプリのGUI部分を作成するときInterface Builderという機能を使用していた。今回、Xcode4.2で追加されたStoryboardという新機能を使用してみた。Storyboardではより直感的に開発をできるようになったと思う。

以下がstoryboardを使用してアプリを開発する手順。

■開発するiPhoneアプリ
「Move to Sub Window」ボタンをクリックすると画面が遷移する。また、「Info」ボタンをクリックするとポップアップでメッセージが表示される。

Main Window

Sub Window

■アプリ開発手順
1. Xcodeを起動し「Create a new Xcode project」をクリックする。

2. Single View Applicationを選択する。

3. Product Nameは「HelloWorld」とする。Device Familyは「iPhone」を選択する。Use Storyboardにチェックを入れる。

4. プロジェクトの作成場所を指定し「Create」ボタンをクリックする。

5. 初期作成画面

6. Navigatorペインに表示されている「MainStoryboard.storyboard」ファイルを選択する。

7. 画面右上の「View」で、Navigatorペインを隠しUtilitiesペインを表示する。

8. Utilitiesペインの「View Controller」をワークスペースにドラッグする。

9. Utilitiesペインの「Label」をView Controllerにドラッグする。ラベルのタイトルは画面のようにする。

10. Utilitiesペインの「Round Rect Button」をView Controllerにドラッグする。ボタンのタイトルは画面のようにする。

11. ボタンの動作を関連付ける。
「Move to Sub Window」を選択し「control + クリック」で出現する線を「Sub Window」に持っていく。

12. クリックを離すと「Storyboard Transitions」というポップアップが出力される。「performSegueWithIdentifier:sender:」を選択する。これで、「Move to Sub Window」ボタンをクリックしたとき画面がSub Windowに遷移する。

13. 「Move to Main Window」を選択し「control + クリック」で出現する線を「Main Window」に持っていく。

14. ここで一度アプリを実行してみる。Main Windowが表示される。「Move to Sub Window」ボタンをクリックする。

16. Sub Windowが表示される。

以降は「Info」ボタンをクリックした時の動作を作成する。

17. ソースコードを編集する。
■HelloWorldViewController.h
下記のように修正する。

#import <UIKit/UIKit.h>

@interface HelloWorldViewController : UIViewController <UIActionSheetDelegate, UIAlertViewDelegate>

 -(IBAction)applicationInfo;

@end

■HelloWorldViewController.m
下記のコードを追記する。

 -(IBAction)applicationInfo {
    UIAlertView *alert = [ [UIAlertView alloc] initWithTitle:@"Info"
                                                    message:@"Hello World Application."
                                                   delegate:self
                                          cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
    [alert show];
}

18. 「Info」を選択する。Utilitiesペインの「Touch Up Inside」から「Main Window」に線を持っていく。(Touch Up Inside : ボタンをクリックし指を離した瞬間をイベント開始とする。)

19. クリックを離すとポップアップが出力される。「applicationInfo」を選択する。

20. アプリを実行し「Info」ボタンを押したときの動作。

Unable to locate Spring NamespaceHandler for XML schema namespace http://www.springframework.org/schema/context

maven-assembly-pluginを利用してjarを作成した時にエラーが発生した。

■実行したコマンド
>mvn assembly:assembly

■エラー内容

Unable to locate Spring NamespaceHandler for XML schema namespace http://www.springframework.org/schema/context

■エラー原因
jar作成時に、xsdの情報が記述されている下記2つののファイルが上書きされているため。
META-INF/spring.handlers
META-INF/spring.schemas

参照サイト
http://forum.springsource.org/showthread.php?48787-Unable-to-locate-NamespaceHandler-when-using-context-annotation-config
http://d.hatena.ne.jp/garbagetown/20091105/1257433226

■解決方法
META-INF/spring.handlers、META-INF/spring.schemasを自分で作成し上書きされないようにする。

(1) maven-assembly-pluginの設定ファイルを編集する。
META-INF/spring.handlers、META-INF/spring.schemasのパスを設定する。

<?xml version="1.0" encoding="UTF-8"?>

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
    <id>final</id>
    <formats>
        <format>jar</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <outputDirectory>/</outputDirectory>
            <unpack>true</unpack>
            <unpackOptions>
                <excludes>
                    <exclude>META-INF/spring.handlers</exclude>
                    <exclude>META-INF/spring.schemas</exclude>
                </excludes>
            </unpackOptions>
            <scope>runtime</scope>
        </dependencySet>
    </dependencySets>
    <files>
    <file>
        <source>${project.basedir}/config/META-INF/spring.handlers</source>
        <outputDirectory>META-INF</outputDirectory>
    </file>
    <file>
        <source>${project.basedir}/config/META-INF/spring.schemas</source>
        <outputDirectory>META-INF</outputDirectory>
    </file>
    </files>
</assembly>

(2) spring.handlersを作成する

http://www.springframework.org/schema/tx=org.springframework.transaction.config.TxNamespaceHandler
http://www.springframework.org/schema/context=org.springframework.context.config.ContextNamespaceHandler

ちなみに、自動作成されていたspring.handlersは以下のような内容になっていた。トランザクション関係のSpringのxsdのみが書かれている。

http://www.springframework.org/schema/tx=org.springframework.transaction.config.TxNamespaceHandler

(3) spring.schemasを作成する

http://www.springframework.org/schema/tx/spring-tx-2.0.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd=org/springframework/transaction/config/spring-tx-2.5.xsd
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd=org/springframework/transaction/config/spring-tx-3.0.xsd
http://www.springframework.org/schema/tx/spring-tx.xsd=org/springframework/transaction/config/spring-tx-3.0.xsd
http://www.springframework.org/schema/context/spring-context-2.5.xsd=org/springframework/context/config/spring-context-2.5.xsd
http://www.springframework.org/schema/context/spring-context-3.0.xsd=org/springframework/context/config/spring-context-3.0.xsd

自動作成されていたspring.schemasは以下のような内容になっていた。

http://www.springframework.org/schema/tx/spring-tx-2.0.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd=org/springframework/transaction/config/spring-tx-2.5.xsd
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd=org/springframework/transaction/config/spring-tx-3.0.xsd
http://www.springframework.org/schema/tx/spring-tx.xsd=org/springframework/transaction/config/spring-tx-3.0.xsd

Springのバージョンはjarを展開して確認する。



■補足:maven-assembly-pluginの導入方法
pom.xmlプラグインを追加する。に設定ファイルのパスを記述する。

  <build>
    <plugins>

      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/distribution.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    
    </plugins>
  </build>

設定ファイル(distribution.xml)を作成する。

<?xml version="1.0" encoding="UTF-8"?>

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
    <id>final</id>
    <formats>
        <format>jar</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <outputDirectory>/</outputDirectory>
            <unpack>true</unpack>
            <unpackOptions>
                <excludes>
                    <exclude>META-INF/spring.handlers</exclude>
                    <exclude>META-INF/spring.schemas</exclude>
                </excludes>
            </unpackOptions>
            <scope>runtime</scope>
        </dependencySet>
    </dependencySets>
    <files>
    <file>
        <source>${project.basedir}/config/META-INF/spring.handlers</source>
        <outputDirectory>META-INF</outputDirectory>
    </file>
    <file>
        <source>${project.basedir}/config/META-INF/spring.schemas</source>
        <outputDirectory>META-INF</outputDirectory>
    </file>
    </files>
</assembly>

Oracle Database 10g XE(Windows版)の文字コードを変換する方法

Oracle Database 10gの無償版であるOracle Database 10g XE (Express Edition) をインストールした場合、データベースのデフォルトの文字コードは「AL32UTF8」となっている。有償版であれば「alter database」コマンドを使用することで文字コードを変更できるが、無償版ではコマンドを使用して文字コードを変更することはできない。
Oracle Database 10g XEで文字コードを変更したい場合は、インスタンスを新規に作成しなければならない。インスタンス作成の過程で文字コードを指定することになる。

■注意
新規に作成したインスタンスに対してはoracleの管理画面(http://127.0.0.1:8080/apex/)にアクセスできない。新規に作成したインスタンスに、別途Application Expressをインストールするとアクセスできるようになるらしい。

インスタンスの作成手順
1.文字コードを一時的にSJISに設定する。Oracleからの標準出力を見るため。

  > set NLS_LANG=JAPANESE_JAPAN.JA16SJISTILDE

2.Oracleを停止
Oracle Database 10g XE ではインスタンスは同時に一つしか起動できないため、デフォルトのインスタンスXEを停止する。

  > oradim -SHUTDOWN -SID XE -SHUTTYPE SRVC,INST -SHUTMODE ABORT

3.新規Oracleインスタンスの作成
(1)データベース格納用ディレクトリの作成
コマンドプロンプトを起動し、下記をコマンドを実行する。

mkdir C:\oraclexe\app\oracle\admin\ORCL\adump
mkdir C:\oraclexe\app\oracle\admin\ORCL\bdump
mkdir C:\oraclexe\app\oracle\admin\ORCL\cdump
mkdir C:\oraclexe\app\oracle\admin\ORCL\dpdump
mkdir C:\oraclexe\app\oracle\admin\ORCL\pfile
mkdir C:\oraclexe\app\oracle\admin\ORCL\udump
mkdir C:\oraclexe\oradata\ORCL


(2)初期化パラメータ・ファイルを作成
initORCL.oraというファイル名で下記場所に作成する。
C:\oraclexe\app\oracle\product\10.2.0\server\database\initORCL.ora
下記の内容で作成する。

java_pool_size=0
large_pool_size=4194304
shared_pool_size=62914560
streams_pool_size=0
audit_file_dest='C:\oraclexe\app\oracle\admin\ORCL\adump'
background_dump_dest='C:\oraclexe\app\oracle\admin\ORCL\bdump'
compatible='10.2.0.1.0'
control_files='C:\oraclexe\oradata\ORCL\control.dbf'
core_dump_dest='C:\oraclexe\app\oracle\admin\ORCL\cdump'
db_name='ORCL'
dispatchers='(PROTOCOL=TCP) (SERVICE=XEXDB)'
job_queue_processes=2
open_cursors=300
os_authent_prefix=''
pga_aggregate_target=40M
remote_login_passwordfile='EXCLUSIVE'
sessions=20
sga_target=140M
shared_servers=1
undo_management='AUTO'
undo_tablespace='UNDO'
user_dump_dest='C:\oraclexe\app\oracle\admin\ORCL\udump'

(3)Windowsのサービスを作成

    > set ORACLE_SID=ORCL
    > oradim -NEW -SID ORCL -INTPWD nandi -PFILE C:\oraclexe\app\oracle\product\10.2.0\server\database\initORCL.ora -startmode auto

(4)ORACLE インスタンスを起動

    > sqlplus / as sysdba
    SQL> startup nomount

(5)データベース作成
以下の内容をコピー&ペーストして、Enterキーを押す。(30秒くらいかかる。)

create database ORCL
logfile group 1 ('C:\oraclexe\oradata\ORCL\redo1.dbf') size 32M,
group 2 ('C:\oraclexe\oradata\ORCL\redo2.dbf') size 32M,
group 3 ('C:\oraclexe\oradata\ORCL\redo3.dbf') size 32M
character set JA16EUCTILDE
national character set utf8
datafile 'C:\oraclexe\oradata\ORCL\system.dbf'
size 240M
autoextend on
next 16M maxsize unlimited
extent management local
sysaux datafile 'C:\oraclexe\oradata\ORCL\sysaux.dbf'
size 48M
autoextend on
next 8M
maxsize unlimited
undo tablespace undo
datafile 'C:\oraclexe\oradata\ORCL\undo.dbf'
size 48M
autoextend on
default temporary tablespace temp
tempfile 'C:\oraclexe\oradata\ORCL\temp.dbf'
size 8M
autoextend on;

(6)スクリプトの実行
ユーザsys, systemで必要なスクリプト(カタログの作成など)を実行する。
エラーが結構出るが無視してよい。エラー原因は存在しないテーブルをdropしようとしてる処理など。

SQL> @C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catalog.sql  (1分くらいかかる。)
SQL> @C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catproc.sql  (5分くらいかかる。)
SQL> connect system/manager
SQL> @C:\oraclexe\app\oracle\product\10.2.0\server\sqlplus\admin\pupbld.sql
SQL> quit

(7)Windows環境変数ORACLE_SIDを登録する。
変数:ORACLE_SID
値:ORCL

(8)サービスを自動起動に設定する。
[スタート] -> [ファイル名を指定して実行]をクリックし、名前欄に「services.msc」を入力する。
OracleServiceORCLを右クリック -> プロパティをクリックする。スタートアップの種類を自動に設定し、
「OK」をクリックする。

Oracle Textのインストール

> sqlplus sys/manager as sysdba
SQL> @?\ctx\admin\catctx manager SYSAUX TEMP NOLOCK

SQL> connect CTXSYS/manager
SQL> @?\ctx\admin\defaults\drdefja.sql
SQL> quit

■確認
sqlplusコマンドを実行しログインできるかどうか確認する。初期ユーザはsystem、パスワードはmanagerである。

>sqlplus system/manager
SQL>

インスタンスの切り替え方法
UTF-8ベースのXEとShift-JISベースのORCLを使い分けることができる。

・XEを停止してORCLを起動

C:\>oradim -SHUTDOWN -SID XE -SHUTTYPE SRVC,INST -SHUTMODE ABORT
C:\>oradim -STARTUP -SID ORCL

・ORCLを停止してXEを起動

C:\>oradim -SHUTDOWN -SID ORCL -SHUTTYPE SRVC,INST -SHUTMODE ABORT
C:\>oradim -STARTUP -SID XE

■参照サイト
http://www.fourmeisters.com/blog/hisama2/2007/07/shift_jis_on_oracle_xe.html

Oracle Database 10g XE (Windows32bit版)のインストール手順

Oracle Database 10g Express Edition (Windows32bit版)のインストール手順

■前提条件
Oracleにユーザ登録していること。下記のサイトから「登録リンク」をクリックし登録する。
http://www.oracle.com/jp/index.html


■ダウンロード
下記サイトからOracle Database 10g Express Edition (多言語対応)をダウンロードする。

http://www.oracle.com/technetwork/jp/database/express-edition/downloads/102xewinsoft-089442-ja.html

ダウンロードしたファイル:OracleXEUniv.exe

■インストール
インストールに必要な容量:1.7GB

OracleXEUniv.exeを実行するとインストールウィザードが実行される。
パスワード以外の質問は全てデフォルトでよい。


■確認
Oracleの管理画面(下記URL)にアクセスする。
http://127.0.0.1:8080/apex/

・ユーザー名
以下の2つが用意されている。
sys
system

・パスワード
インストール時に設定したパスワードを使用する。


■システム環境変数の設定
・システム環境変数に以下を追加する。

変数名:ORACLE_HOME
変数値:C:\oraclexe\app\oracle\product\10.2.0\server

・システム環境変数のPathに以下を追記する。

変数値:%ORACLE_HOME%\bin;

・システム環境変数を設定するウィンドウ
[スタート] > [コンピュータ]を右クリック > [プロパティ]をクリック
開いたウィンドウの左ペインの[システムの詳細設定]
開いた「システムのプロパティ」ウィンドウの「詳細設定」タブ > [詳細設定]
開いた「環境変数」ウィンドウの「システム環境変数


■sqlplusでログイン
コマンドプロンプトでsqlplusコマンドを実行する。

> sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on 金 1110 13:04:30 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ユーザー名を入力してください: system
パスワードを入力してください:


Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
に接続されました。
SQL>

Oracle Database 10g XE (Linux32bit版)のインストール手順

Oracle Database 10g Express Edition (Linux32bit版)のインストール手順

■前提条件
Oracleにユーザ登録していること。下記のサイトから「登録リンク」をクリックし登録する。
http://www.oracle.com/jp/index.html


■ダウンロード
下記サイトからOracle Database 10g Express Edition (多言語対応)をダウンロードする。

http://www.oracle.com/technetwork/jp/database/express-edition/downloads/102xelinsoft-096626-ja.html

ダウンロードしたファイル:oracle-xe-univ-10.2.0.1-1.0.i386.rpm

■インストール
1. rpmを実行する。

# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm
準備中...                   ########################################### [100%]
   1:oracle-xe-univ         ########################################### [100%]
Executing Post-install steps...
You must run '/etc/init.d/oracle-xe configure' as the root user to
configure the database.

2. configureを実行する。

# /etc/init.d/oracle-xe configure

Oracle Database 10g Express Edition Configuration
 -------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition.  The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.  Press <Enter> to accept the defaults.
Ctrl-C will abort.

データベース管理を行うアプリケーションのHTTPポート番号
Specify the HTTP port that will be used for Oracle Application Express [8080]:

データベースリスナーのポート番号
Specify a port that will be used for the database listener [1521]:

SYS・SYSTEMユーザーのパスワード
Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration:
Confirm the password:

OS起動時にデータベースを開始するか
Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:

Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"

■bashrcの編集
bashrcを開く。

# vi ~/.bashrc

下記を追記する。

. /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh


■確認
Oracleの管理画面(下記URL)にアクセスする。
・内部からアクセスする場合:http://127.0.0.1:8080/apex/
・外部からアクセスする場合:http://ホスト名:8080/apex/

・ユーザー名
以下の2つが用意されている。
sys
system

・パスワード
インストール時に設定したパスワードを使用する。


■起動と停止
・起動

# /etc/init.d/oracle-xe start

・停止

# /etc/init.d/oracle-xe stop


■sqlplusでログイン
・下記コマンドを実行する。

# sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on 金 1110 11:04:30 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ユーザー名を入力してください: system
パスワードを入力してください:


Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
に接続されました。
SQL>


・DBの詳細を確認する

SQL> select instance_name, status, version, edition from v$instance;

INSTANCE_NAME    STATUS       VERSION           EDITION
 ---------------- ------------ ----------------- -------
XE               OPEN         10.2.0.1.0        XE

(アンインストール手順)
■アンインストールするパッケージ名を探す

# rpm -qa |grep oracle
oracle-xe-univ-10.2.0.1-1.0

■アンインストール

# rpm -e oracle-xe-univ-10.2.0.1-1.0

自作したiPhoneアプリを実機で動かすための手順(2/2)

自作したiPhoneアプリを実機で動かすための手順(1/2)からの続き。

以降の手順はアシスタントが用意されている。アシスタントの指示に従い設定を行っていけば、自作したiPhoneアプリを実機で起動できる。作業時間は30分くらいかかった。

1. iOS Provisioning Portalページにログインする
下記のURLにアクセスし、ログインする。
https://developer.apple.com/ios/manage/overview/index.action

ログインすると以下の画面が表示されるので、[Launch Assistant]ボタンをクリックする。クリックするとアシスタントが表示される。アシスタントの指示に従い設定を行っていくことで自作アプリを実機で起動することができる。

2. アシスタント画面が表示される。
実機で自作アプリを実行するまでの大まかな流れが書いてある。

[Continue]ボタンをクリックする。

3. App IDを作成する
App IDについては以下の記事を参照。
http://d.hatena.ne.jp/It_lives_vainly/20090204/1233741543

入力値は適当に考えて入力する。

4. Device Descriptionを入力する
「Device Description」は適当に考えて入力する。
「Device ID」は40桁の識別子(UDID)を入力する。UDIDは、iTunesiPhoneを接続し、[デバイス] > [概要] > iPhone項目の[シリアル番号]を左クリック、することで確認できる。

5. 証明書を作成する
証明書を作成する手順が書いてあるので手順に従い作成する。

6. 証明書を登録する
[ファイルを選択]ボタンをクリックし手順5で作成した証明書を選択する。

7. Provisioning Profileの名前を決める
Provisioning Profileとは、不正な経路でのアプリのインストールを防止するためのもの。以下の情報が埋め込まれている。
・App ID
・開発者ID
・デバイスID

入力値は適当に考えて入力する。

8. Provisioning Profileが正常に作成された場合の画面

9. Provisioning Profileをダウンロードし、インストールする。
Step 1: [Download]ボタンをクリックする。
Step 2: ダウンロードしたProvisioning ProfileをDocのXcodeにドラッグする。


[Continue]ボタンをクリックする。

Step 3: 正常にインストールできたかどうか確認する。
Xcodeのメニューバーから[ウインドウ] > [オーガナイザ]をクリックする。SummaryタブのProvisioning項目にProvisioning Profileが表示されていれば正常にインストールが完了している。

何かエラーが出ているようなら、オーガナイザ画面の左ペインから[iOS DEVELOPMENT] > [Provisioning Profiles]をクリックする。右ペインの[Refresh]ボタンをクリックしてみる。


10. 証明書をダウンロード、インストールする。
Step 1: [Download]ボタンをクリックする。
Step 2: ダウンロードしたファイルをダブルクリックする。証明書を追加しても良いかと訊かれるので[OK]ボタンをクリックする。


このような画面がでてきた場合は、

以下の手順を試してみる。
http://docs.info.apple.com/article.html?path=Mac/10.6/jp/8845.html

Step 3: 証明書が正常にインストールできたかどうか確認する。
キーチェーンアクセス.appを起動する。キーチェーンアクセス画面の左ペインから[キーチェーン] > [ログイン]をクリックする。

11. 自作アプリを実機にインストールする
Step1 から Step3を実施する。

Step 1: Xcodeを起動する。
Step 2: デバイスを選択する。手順10までが正常に完了していれば、ここで実機が選択できるようになっている。
Step 3: ビルドして実行する。

実行するアプリは以前作成したHello Worldを出力するアプリ

自作アプリを実機で起動できたら[Continue]ボタンをクリックする。

17. 完了画面
[Done]ボタンをクリックするとアシスタントが終了する。

自作したiPhoneアプリを実機で動かすための手順(1/2)

自作したアプリを実機で動かすには「iOS Developer Program」に登録する必要があります。登録がちょっと複雑だったのでその時の手順をメモしておきます。

■登録に関する注意事項
・登録料として個人や法人は年間$99払わなければならない
・登録情報には本名、または実在する組織名を使用しなければならない

■登録手順
1. iOS Developer Programの登録サイトにアクセスする

http://developer.apple.com/programs/ios/

[Enroll Now]ボタンをクリックする。登録には年間$99かかる。

2. 登録の流れの画面が出力されるので[Continue]をクリックする

3. Are you new or a registered Apple developer?(新参ですか?Apple Developerですか?)
5つの選択肢の中から適当なものを選び[Continue]をクリックする。

Apple Developperではない人は「New Apple Developer」の項目から
・I need to create a new account for an Apple Developer.
・I currently have an Apple ID I would like to use for my enrollment in an Apple Developer Program.
のどちらかを選択する。

Apple Developerの人は「Existing Apple Developer」の項目から適切なものを選ぶ。

注意書きに「Apple IDをiTunesの接続アカウントに使用している場合は新しくApple IDを作ってください。」と書いてあるので、当てはまる人は新しくApple IDを作る。

私は既にiOS開発用にApple IDを取得していたので、既存のApple IDを使用する方を選びました。

4. 個人か会社かを選択する

  • 個人を選択した場合は後の登録で本名を入力することになる。個人名はApp Storeの販売者の欄に表示される。偽名やハンドルネームなどは使用できない。
  • 会社を選択した場合は後の登録で実在する会社名を入力することになる。

個人名を表示したくないと思い会社を選択して登録を進めていましたが、実在する会社を入力するよう要求されたのであきらめました。ちなみに会社を選択した場合の画面です。

審査の際に会社が存在するかどうか確かめているのでしょうか?

5. 登録の規約に同意する
チェックボックスにチェックを入れ[I Agree]ボタンをクリックする。すぐにメールが送られてくる。メールには認証コードが書かれている。

6. メールに書かれている認証コードを入力する

7. クレジットカードの情報を入力する
個人の証明をクレジットカードで行う。

8. Programを選択する
iOS Develper Programにチェックを入れ[Continue]をクリックする。

9. Programのライセンス規約に同意する
チェックボックスにチェックを入れ[I Agree]ボタンをクリックする。

右上に言語を選択できるリストボックスがありますが、クリックしても[English]以外入っていません^^;

10. Apple Online Storeで購入手続きをする
[Add to cart]ボタンをクリックする。

[ご注文手続きへ]ボタンをクリックする。

ログインする。

ログイン後の画面は個人情報が多いので省略。購入手続きが正常に終わると以下のような画面になる。

11. 購入手続きが終わるとメールが送られてくる
以下の2件のメールが送られてくる
・ご注文内容確認メール
Apple Developer Program Activation Code

ご注文内容確認メールはすぐに送られてきましたが、Apple Developer Program Activation Codeメールは約2時間後に送られてきました。

12. 購入を完了する
Apple Developer Program Activation Codeメール内にアクティベーションコードが書かれており、そのコードをクリックして購入を完了してください、と書かれている。

クリックするとブラウザが開き以下のようなエラー画面が出た。

エラー内容

<span style="font-size:large;">We are unable to activate your Apple Developer Program membership.</span>

We are unable to activate your Apple Developer Program membership because we are unable to successfully verify your identity. Please contact us and reference Enrollment ID# XXXXXXXXXX for further assistance.

13. Contact Usのフォームからサポートを依頼する
エラー画面の[Contact Us]リンクをクリックし、エラー内容を報告する。

送信内容はこんな感じ。ご請求・ご連絡先、注文番号 (W+数字8桁) を要求されるらしいので、あらかじめ記入しておく。

Hi.

I can’t activate iOS Developer Program membership because of the below error.

&gt;We are unable to activate your Apple Developer Program membership because we are unable to successfully verify your identity. Please contact us and reference Enrollment ID# XXXXXXXXXX for further assistance.

My information.
-------------------------------
Apple ID : XXXXXXXXXX

Web Order No. : XXXXXXXXX

Customer Info : XXXXXXXXXXX

Shipping Address : XXXXXXXXXXX
-------------------------------

Regards

14. エラー対応のメールが届く
メールの内容は以下の通り。「エラー対応しましたので、以前送ったメール内のアクティベーションコードのリンクを再度クリックしてください。」ということが書いてある。

<span style="font-size:large;">Apple Developer Program Enrollment Update</span>
 
Dear HirosigeT,
We are following up with you regarding your recent Apple Developer Program purchase.
We have reviewed your documentation and have removed the hold on your Program activation. At this time, we ask that you please refer to the original activation code email that you received and click through the link once again.
If you have any questions or need further assistance, please contact us.
Best regards,

Apple Developer Support

ちなみに、エラー報告を15時位に送信して、対応メールが次の日の2時位にきました。
Apple本社があるカリフォルニアは日本と-17時間の時差があるようなので、日本時間15時だとカリフォルニアでは22時ですね。皆帰宅してますね。日本時間2時だとカリフォルニアでは9時ですね。

15. 手順12を再度実施する
Apple Developer Program Activation Codeメール内のアクティベーションコードを再度クリックして購入を完了させる。入力欄にはアクティベーションコードが入力されていると思うので、そのまま[Activate]ボタンをクリックする。

16. アクティベーション完了

自作したiPhoneアプリを実機で動かすための手順(2/2)に続く。