iOS 7対応を切るとサポート外になる端末、使えるようになる主な機能

数カ月以内にiOS 9が登場するのではないかと噂されている。アプリを開発・運用していく上で、どの世代のOS/端末までサポートするべきかというのは悩ましい問題だが、判断材料の一つとして、iOS 9リリース後、2世代前のiOS 7のサポートを切った場合(つまり、iOS 8以降のみを対象とした場合)に、どういうメリット・デメリットがあるかをまとめた。 “iOS 7対応を切るとサポート外になる端末、使えるようになる主な機能” の続きを読む

コンテンツに応じてサイズが自動的に変わるカスタムビューを作る

カスタムビューを作っていると、コンテンツに応じてサイズが自動的に変わってほしいことがある。そういう時は、intrinsicContentSizeメソッドをオーバライドする。 “コンテンツに応じてサイズが自動的に変わるカスタムビューを作る” の続きを読む

2014年のアプリ開発: 気になった記事

2014年に入り、技術書を購入する機会が大きく減り、有用な情報をウェブから入手することが多くなった。その中で、個人的に価値が高いと感じた記事をリストしておく。今年はAndroidアプリ開発に本腰を入れていたので、Android関連の記事が多くなった。
“2014年のアプリ開発: 気になった記事” の続きを読む

2014年のアプリ開発: マルチプラットフォーム対応

2014年の非ゲームアプリのマルチプラットフォーム対応の大本命はXamarinだったと思う。Xamarinのアプローチにはとても共感できる。しかし、2014年僕がXamarinを選択することはなかった。 “2014年のアプリ開発: マルチプラットフォーム対応” の続きを読む

Androidアプリ開発のすすめ

新しく買ったiPad Air 2はとても快適で素晴らしい。今この記事もiPadから書いている。それくらいユーザとしてはiOS製品が気に入っている。だけど、アプリ開発者としては今はiOSアプリ開発よりもAndroidアプリ開発の方に魅力を感じている。この魅力を、とくにAndroidアプリ開発を敬遠してきたエンジニアの人にも伝えたい。
これから書くのはネイティブアプリ(VM上で動くので厳密には「ネイティブ」ではないが)を開発する場合についての話となる。作るアプリの内容によっては、各OS用のアプリを個別に作るより、UnityとかXamarinを使ったほうがいい場合もあると思うし、それらを否定するつもりは無い。一方で、各OSを個別に開発したほうが良いケースもまだまだあると思っているが、そこについては本題から離れてしまうので省略する。
“Androidアプリ開発のすすめ” の続きを読む

SpriteKitを使って一攫千金を狙うチュートリアル

iOS 7でSpriteKitという新しいゲーム作成用のフレームワークがでました。早速コレを使ってゲームを作って一攫千金を狙いたいと思います。
勢いだけで書いてしまったので、大分雑な感じになっていますが悪しからず。細かい部分はそのうち直していきます。。編集社って偉大。 “SpriteKitを使って一攫千金を狙うチュートリアル” の続きを読む

OHHTTPStubsを使って気軽にHTTP通信をスタブする

クライアントサーバーアプリ開発では、開発・デバッグ中に問題が発生した時に原因がクライアント側にあるのかサーバー側にあるのか両方の視点から特定していかなければいけない場面に遭遇します。OHHTTPStubsを使うと、手軽に(通信部分のコードに手を入れることなく!)HTTP通信のスタブを実現できて大変便利です。 “OHHTTPStubsを使って気軽にHTTP通信をスタブする” の続きを読む

addObserverForName:object:queue:usingBlock:の罠

iOS 4からNSNotificationCenterに追加されたaddObserverForName:object:queue:usingBlock:メソッドを使うと、コールバックをブロックで指定することができるのでとても便利です。しかし、従来のセレクタ指定型のaddObserver:selector:name:object:のブロック版、という認識で使ってはいけません。 “addObserverForName:object:queue:usingBlock:の罠” の続きを読む