勝訴 iOS 7へ対応

これまで、iPadローンチ、Retinaディスプレイ対応とiOS デバイスの進化に合わせてリリースしてきた、iPad用アプリ「勝訴」。
iOS 7向けにアップデートを行い、本日よりApp Storeにてダウンロードができるようになりました。また、今回のアップデートにより、64bitプロセッサに対応した、初の「勝訴」となりました。

shouso_ios7

iOS 7と64bitプロセッサ向けの最適化を行ったため、動作にはiOS 7が必要です。iOS 7以前のデバイスをご利用の方は、過去のバージョンを引き続きダウンロード可能です。

以下技術的なお話。

Xcode 3の時代のプロジェクトを引き継いでいたため、最新のアーキテクチャ向けにアップデートできるか心配だったが、以下の修正で対応できた。

・ステータス・バーを非表示にする方法が変更になったため、コードの変更。UIViewControllerの – prefersStatusBarHidden メソッドをオーバーライドして、YESを返すよう変更。

- (BOOL)prefersStatusBarHidden
{    
    return YES
}

・iOS 7用のアイコンを作成。アイコンはAsset Catalogで管理するよう変更。
・32/64bitプロセッサ向けのバイナリを作成。プロジェクト設定の”Architectures”を”Standard Architectures(including 64-bit)”に変更。スクリーンショット 2013-09-26 16.07.05
ただし、64bitプロセッサ向けのバイナリは現時点では必須ではない。将来には必須になる可能性もある。

・プロジェクト設定の”iOS Deployment Target”を”iOS 7″に変更。

本来はiOS 6, iOS 7どちらでも動作するものを目指していたが、64-Bit Transition Guide for Cocoa Touch にもあるように、32/64bit両方に対応したバイナリはDeployment TargetをiOS 7に設定しなければならない。一度ここを見落とし、審査でリジェクトされてしまった。この問題は将来のXcodeのリリースで解消される見込みのようだ。

Xcode 4.3インストール後、xcodebuildが動作しない場合の修復方法

コマンドラインでXcodeのプロジェクトをビルドするxcodebuildコマンドが動作しなくなってしまった。具体的には次のようなエラーが表示される。
xcodebuild: error: developer tools not installed;
download from http://developer.apple.com

原因はこれまで/DeveloperにインストールされていたXcodeがXcode 4.3より/Applicationsにインストールされるようになったため。
これまでの/Developerに相当するものは、/Applications/Xcode.appのパッケージに内包されるようになった。

xcode-selectコマンドを使用して、Xcodeのインストール先を指定することでxcodebuildコマンドの修復に成功した。

以下手順

  1. ターミナルを開く。
  2. 以下のコマンドを入力する。
  3. sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

  4. パスワード入力が求められるので、管理者のパスワードを入力する。

参考文献
xcode-select で Xcode の保存先を変更
http://d.hatena.ne.jp/watanata2000/20111028/1319808003

追記:「iOSの教科書」印刷製本プロジェクト開始!しました。ご支援ご協力よろしくお願い申し上げます。

Xcode 4でプロジェクトの名称変更

Xcode4で○○はどこへ行った?シリーズ 第2弾です。
Xcode 4でプロジェクト名を変更する場合は、Fileインスペクタを使用します。

手順は次のような感じ。

  • プロジェクト・ナビゲータ最上部のプロジェクトを選択する。
  • Fileインスペクタを表示する。
  • IdentityのProject Nameに新しいプロジェクト名を入力する。
  • 名称変更の影響が出る範囲が表示される。変更して問題ない場合は「Rename」をクリックする。
  • 広範囲に影響が出る操作をした際に、スナップショットを自動的に作成するか尋ねられる。作成する場合は「Enable」をクリックする。

Xcode4でフレームワークの追加はどこへ行った?

ついにリリースされたXcode4でプロジェクトへのフレームワーク追加で大幅にはまったのでメモ。

Xcode3で既存のフレームワークを追加するにはこんな感じで

プロジェクト・ウィンドウのコンテキストメニューから追加していました。

が、Xcode4に移行してからこの項目が見あたらない。

いろいろ試したところ、Project Editorから追加したところうまくリンクが出来ました。
ただ、もっと簡単な方法はないものかと模索中です。
手順としては

  • Project Navigatorの最上部にあるプロジェクトファイルをクリックしてProject Editorを開く。
  • Targetsからフレームワークを追加するターゲットを選択する。
  • Build Pheseパネルを開く。
  • Link Binary With Librariesのディスクロージャトライアングル(三角ボタン)をクリックして展開する。
  • +ボタンをクリックしてフレームワークを追加する。

Xcode4で○○はどこへ行った?シリーズはもう少し続きます。