jarinosuke blog

about software engineering, mostly about iOS

iOS

実践 Auto Layout

iOS

今こそ frame 思考脱却の時 Xcode 4 / iOS 6 から存在していた Auto Layout でしたが、 当時は Interface Builder の Auto Layout 対応も中々ひどく、使うのが辛かった記憶があります。 そんななか僕は順調に layoutSubviews に傾倒していったわけですが、 i…

UIView の Animation Block の中で行われている事

Animation Block iOS 4 から UIView のアニメーションを簡単にするために、以下のアニメーションに関するクラスメソッドが UIView に追加されました。 iOS 開発に携わってる人ならみんな知ってると思います。 + (void)animateWithDuration:(NSTimeInterval)d…

Push 通知内の Payload の内容を起動時にデバッグする

iOS

Payload Push 通知には Payload と呼ばれるデータ領域があり、 そこにはシステムがユーザの警告するためのデータや、別用途で用いるためのカスタムデータなどが入っています。 iOS 側での実装 対象のアプリケーションが起動していない状態で、Notification C…

CADisplayLink について

iOS

ユースケース CADisplayLink を実際に使う例と共にどんなクラスなのか簡単に紹介します。 例えば現在時刻を表示する場合。 画面に表示されている日時を定期的に更新する必要があります。 そのような場合に NSTimer で 0.01 秒など適当なインターバルを設定し…

UIViewTintAdjustmentMode について

tintColor iOS 4 以前は tintColor プロパティは UIToolBar など、限られたクラスにのみ提供されていました。 UIToolBar - tintColor | iOS Developer Library iOS 5 になると UIAppearance が提供され、他にもたくさんの UIView のサブクラスが tintColor …

Framework Bundle について

framework ファイルってナニモノ? iOS 開発をするうえで、プロジェクト作成時点で Foundation.framework や UIKit.framework などの Apple から提供されている framework が既に追加されているかと思います。 普段あまり疑問に思わずこれらの framework を…

Xcode 5 で作る Universal Static Library

なぜ Static Library なのか 全てのソースコードを GitHub にアップロードし、Cocoapods に podspec をマージしてもらって、 他のデベロッパー達とのコラボレーションを楽しむのが現在の iOS 界隈の Social Coding の主流になっているのかなと思います。 し…

メモリ管理・レイアウトの観点からみた UIViewController の view の扱い

self.view iOS 開発において、UIViewController の view の振る舞いは一番理解しておきたい点の一つです。 今回はその view に対して、メモリ管理とレイアウトの2つの視点を交えてアプローチを行い、 UIViewController の subclass を作成する上で、 UIViewC…

CGGeometry 啓蒙活動

コードを用いてのレイアウト処理 iOS 6 から Auto Layout が導入され、レイアウトに関するコードを書く機会が ずいぶんと減ってきていると思いつつもなかなか減らない今日この頃。 最後の砦となるのはやはり以下の2メソッドでしょう。 //UIView - (void)layo…

アプリの情報をアイコンにオーバーレイさせる方法

potatotips に参加しました #potatotips というクックパッドで開催された iOS / Android の tips 共有会に昨日参加してきました。 普通の勉強会とは少し毛色が違い、参加者全員が5分間の tips を発表を行うという形式で、皆さん主体的に会に関わる事ができる…

JRNPasteboardMonitor をつくりました

JRNPasteboardMonitor [JRNPasteboardMonitor] monitoring UIPasteboard changes even if your app state is in background. https://t.co/HmJov7VYk6— CocoaPods (@CocoaPods) 2013, 10月 22 ペーストボード監視 ここ最近(といっても半年〜1年前位から)、…

JRNPrivacyChecker をつくりました

iOS のプライバシー設定 写真、現在地情報、カレンダーなどユーザ個人の情報をアプリ内で使用したい場合が多々あります。 これらの個人情報には iOS 6 より全体的に(一部は iOS 4.2 から)プライバシー制限がかかり、ユーザの許可無しに利用することができ…

KIF を使った iOS Integration Test

久しぶりにテストを書く このブログも独自ドメインではてなブログに移行して読者数が一気に減ってしまいましたが、半年以上前のホッテントリぶりにブログ書きます。 前回は iOS 開発環境における CI 導入についてでしたが、今回はもう一度テストに戻って、そ…

UIView画像加工レシピ集

リッチなインターフェースにするために。 アプリを作る以上、ダウンロードしてもらったユーザには一回でも多くタップしてもらいたいですよね。タップワーシィな UI を作るためには、現実のメタファーを反映させたコントロールを作る必要があります。 もちろ…