昔作ったアプリのソースをマイグレーションするかどうか?

結構悩むポイントだ?

2012年に作成したアトラクション紹介アプリをCopyをして作成しよう。

マイグレーションポイント 1

ARC(Automatic Reference Counting)

Xcode4.2から搭載されたメモリーを自動で管理する機能です。初期に作成したプログラムは、まだこの機能がなかった為にretain/releaseを自分で計算して行っていました。落ちた時はデバッグが大変で、なんと面倒な言語なんだろうなといつもおもっていました。

リフェクタリングはxcodeの以下のプションで出来ます。

 

 

 

 

 

 

 

 

 

ARCに変換が自動で出来るかがチェックされ、出来ないコードは一覧で表示されます。

 

 

 

上のように変換の方法を選択するように指示されている場合は、Fixの方法を選択します。

 

 

自動変換不能の場合はソースコードを修正します。

上のようにautoreleaseしかないコードはエラーになるので削除します。

 

 

 

 

 

 

 

 

上のようなメッセージが出れば自動変換が可能になります。

マイグレーションポイント2

xibをStoryboardに変換する。

これ結構大変です。元のプログラムがtabbarでコントロールするUIなのですが、storyboadにすると画面は全て作り直し。

既に完成している画面なので今回はxibの追加で対応する事にしました。

マイグレーションポイント3

画面サイズの変更。

iPhone5のサイズに変更をします。

iPhone4を前提としたソースなので、自動で5の画面サイズに変換されていますが、当然縦長の影響で画面が間延びしています。

IBで修正出来る所と、ソースの中で設定している部分があるので適時修正して行きます。

以上です。

次はGeofenceの機能をtabViewの旧アプリに追加して行きます。

元のソースはサンプルソースはstoryboadを使用しているのですが、今回はxibを追加する事で対応して行きます。mapviewを既にアトラクションのナビゲーション機能で使用しているので合体します。