[PR]
2024年11月21日
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
iPhone SDK 3.x で iPhone OS 2.x 向けアプリケーションを開発する
2009年10月11日
アプリケーションの動作対象OSを2.1(第2世代iPod touch発売開始時のプレインストールOSでした)など旧バージョンにも拡大したい場合、以下の方法で可能になります。まず前提として、iPhone SDK 3.xのインストール時に出るチェックボックスで旧バージョンのOS用SDKにもチェックを入れておきます。もしこれをしていない場合には、もう一度インストールし直しチェックを入れておきます。インストールは上書きで問題ありません。
これでXcode左上のリストにSDKの選択肢が出せるようになります。
ここで注意すべきなのは、たとえ2.xをターゲットにしていようと、新規ファイルは3.x前提のテンプレートから作成される点です。「iPhone OS 3.0 におけるセルの変更点」で書いた通り、セルの初期化メソッドはinitWithFrame:reuseIdentifier:からinitWithStyle:reuseIdentifier:へ変更になっているため、新規ファイルでUITableViewCellのサブクラスを作った場合、初期化メソッドに手直しをしなければなりません。また、UITableViewControllerのサブクラスでも、tableView:cellForRowAtIndexPath:メソッドの内容を修正する必要があります。
また、OpenGL ES applicationのテンプレートからプロジェクトを作成した場合には、テンプレートがOpen GL ES 2.0のシェーダーに対応するものに変わっているので、この場合もかなり大掛かりな修正が必要になります。SDK 2.xの頃から使っている人でないと、どこを変更すれば良いか分かりにくいと思いますので、iPhone SDK 3.x から始めた人は素直に(?)3.x向けで開発したほうが良いかもしれません。
- Xcodeでプロジェクトを開き、左のリストで一番上のプロジェクトファイルをクリック、さらに情報アイコンをクリックして、ビルドタブを開きます。
- コード署名(Code signing)セクションの下にある、Deploymentセクション最上段のiPhone OS Deployment Targetの値をクリックします。
- インストールされているSDKに対応したOSが表示されるので、目的のOSを選択します。
これでXcode左上のリストにSDKの選択肢が出せるようになります。
ここで注意すべきなのは、たとえ2.xをターゲットにしていようと、新規ファイルは3.x前提のテンプレートから作成される点です。「iPhone OS 3.0 におけるセルの変更点」で書いた通り、セルの初期化メソッドはinitWithFrame:reuseIdentifier:からinitWithStyle:reuseIdentifier:へ変更になっているため、新規ファイルでUITableViewCellのサブクラスを作った場合、初期化メソッドに手直しをしなければなりません。また、UITableViewControllerのサブクラスでも、tableView:cellForRowAtIndexPath:メソッドの内容を修正する必要があります。
また、OpenGL ES applicationのテンプレートからプロジェクトを作成した場合には、テンプレートがOpen GL ES 2.0のシェーダーに対応するものに変わっているので、この場合もかなり大掛かりな修正が必要になります。SDK 2.xの頃から使っている人でないと、どこを変更すれば良いか分かりにくいと思いますので、iPhone SDK 3.x から始めた人は素直に(?)3.x向けで開発したほうが良いかもしれません。
PR
Comment