基本ルール
- 開発は Xcode5 で行う
- iOS7.0 と iOS6.1 で Targe を分ける
- Provisioning Profile はちゃんと設定しておく。
- iOS6.1 の SDK 用にシンボリックリンクを張っておく。 osx – How to point Xcode to my 10.6 SDK so it can be used as a “Base SDK”? – Stack Overflow
- Preferences から iPhone Simulator 6.1 をダウンロードしておく。
- 3.5 inch, 4.0 inch 両方に対応するために Storyboard は x, y が正しく設定されるように作って height, width を viewDidLoad のタイミングで調整する。
iOS7.0
- BaseSDK, Deployment Target は 7.0 とする。
- Storyboard の設定はは Open in 5.0 にして、基本の設定は 7.0 用の設定にする。
- TabBarController の more に含まれる View を Storyboard で作る場合、 Simulated Metrics 設定は、Bar を全て None にするのが良い。
iOS6.1
- BaseSDK, Deployment Target は 6.0 とする。
- Storyboard iOS7.0 と同じものを利用して、うまく調整できない場合は iOS6.1 用の Storyboard を別に作る。
- iOS7.0 の設定で Storyboard を使うと、iOS6.1 にインストールした際に UIButton 等いくつかの要素のスタイルがおかしくなるので、UIButton を継承した Class を storyboard で設定し、初期化時に iOS7.0 側に馴染むようなスタイルに統一してしまう。
- TabBarController の more に含まれる View を Storyboard で作る場合、 Simulated Metrics 設定は、全て Inferred にする。
その他
- BaseSDK, Deployment Target が 6.1 のターゲットを iOS7.0 のシミュレータにビルドすると 7.0 以前の UI で動作する。
- iOS 7 UI Transition Guide: Supporting iOS 6