iPhoneアプリ開発 -iOS6から変わったこと-

公開日: : iPhone, IT


Deployment Targetを5.1にしていた時には気がつかなかったのですが、iOS6になって非推奨になったメソッドや、変化があったものがあります。
全てを列挙してたら、きりがないので私がちょこちょこ修正した箇所ぐらいだけメモっておきます。

 非推奨メソッド

  • [presentModalViewController:animated]

以下に変更。
[presentViewController:animated:completion];

上記と対応する形で以下も非推奨になりました。

  • [dismissModalViewControllerAnimated:animated]

以下に変更
[dismissViewControllerAnimated:completion]

completionのところは、完了時に実行する処理を記述します。

 非推奨

  • UILineBreakModeWordWrap → NSLineBreakByWordWrapping
  • UITextAlignment → NSTextAlignment

    • UITextAlignmentLeft → NSTextAlignmentLeft
    • UITextAlignmentCenter → NSTextAlignmentCenter
    • UITextAlignmentRight → NSTextAlignmentRight

Xcode上で、Optionを押すと「?マーク」が表示されます。
その状態で、該当のメソッドや値をタッチすれば詳細が見えるので、それで非推奨か代わりのメソッドや値が何かは教えてくれます。

 UIButton

以下の様なコードがあったとします。

UIImage *img  = [UIImage imageNamed:@"sample"];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];]
btn.frame     = CGRectMake(0, 0, img.size.width, img.size.height);
[btn setBackgroundImage:img forState:UIControlStateNormal];

本来ですと、上記のコードは「UIButtonTypeRoundedRect」ではなくて「UIButtonTypeCustom」とするべきです。
この状態で、上記のコードを動かしてみると、iOSのバージョンで動作が異なります。

iOS6.0〜
画像が表示される。

iOS5.1
画像は表示されない。

自分の端末では見えるのに、他の人では見えないといったことも起こりうるので注意が必要です。
注意も何もちゃんと「UIButtonTypeCustom」にすれば良いだけの話になりますけど、私は1度ハマりました・・。

広告

関連記事

no image

Capistranoで簡単デプロイ -開発用サーバー編-

cakePHPを使って開発しているサービス()で、リリース周りを楽にしたいなと思いCapistran

記事を読む

no image

iPhoneアプリ開発 -UIScrollViewで画像を拡大・縮小-

* やりたいこと UIScrollViewでピンチアウト・インして上に乗っている画像を拡大・縮小した

記事を読む

no image

TwitterAPI 1.1対応で困ったこと −フォロー・フォロワー一覧取得−

  TwitterのAPI1.1に2013年の3月15日までには対応しないといけません。

記事を読む

Jenkins + iPhoneアプリ(2) -ローカルリポジトリにあるデータからipaファイル生成-

* これまで - * 最終目標 -(開発者)git(リモートリポジトリ)にソースをコミット

記事を読む

no image

さくらのVPSでJenkins -執事さんとご対面-

さくらのVPSを利用している方は多いかと思います。 私も、自分で遊ぶ用(開発用)として借りてみまし

記事を読む

no image

jQuery Mobileでミスしたこと -JSだけ最新にしてしまってレイアウト崩れたの巻-

* 前提(CDN先) jQuery Mobileを使う場合、cssを自前のサーバにおいて、jsはC

記事を読む

no image

jQuery Mobileのバージョンアップではまった – pushStateの存在 –

jQuery Mobileをつかってスマートフォン対応をしたときにはまったこと。 * 前提

記事を読む

Jenkins + スマホアプリ(1) -スマホアプリ用CI環境を作ってみよう-

前回までは、iPhoneアプリでのCI環境でした。 TestFlightがAndroidアプリにも

記事を読む

no image

第二回Androidテスト祭り参加記録 -祭りに参加してきたよ-

久しぶりに勉強会に参加してきました。 参加してきたのは「第二回Androidテスト祭り(4/28)

記事を読む

no image

str_padとsprintfの速度

PHPで同じことが出来る「str_pad」と「sprintf」。 今まではsprintfを使う機会

記事を読む

広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

広告

no image
[感想] Effective Objective-C 2.0 ☆☆☆☆★(4.5)

* 構成 - 第1章 Objective-Cに慣れる -

no image
[感想] iOSアプリテスト自動化入門 ☆☆☆(3.0)

* 構成 - Chapter 1 テスト自動化への取り組み

DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-

今までのDeployGate - -[http://pplace.

iPhone/iPadアプリを開発するためにやったこと

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て1

no image
ターミナルでgitのコマンドを補完したりブランチ名を表示する – macでgitを便利に使うために –

* やりたいこと macのターミナルでgitをいじっていると -今の

→もっと見る

PAGE TOP ↑