iPhone

iPhone 7 購入記録

iPhone 7 購入記録を Tweet 貼り付けで。

Ono '斧' を触ってみた

先日、AFNetworking や NSHipster で有名な Mattt が Ruby の Nokogiri 風の XML & HTML パーサー Ono 斧 を公開しています。 早速少しだけ触ってみた CSS Selector でのパースをサポート XPath での指定なら今もいくつかライブラリがありますが CSS Selecto…

CXCKeyValueObserver をパクった CSNNotificationObserver ってのを作った

表題の通りです。 2週間くらい前に id:cockscomb さんが CXCKeyValueObserver というライブラリをリリースしていました。これはどんな感じのライブラリかっていうと KVO の 監視開始/終了 忘れず安心に実行できる 複数 KVO を使っても通知を受けた後の処理が…

App Switcher に表示される View を差し替える補助ライブラリ MMAppSwitcher

以前アプリの画面を開いているアプリケーションのプレビュー画面から隠すというものを書きました。先日たまたま見つけたライブラリがこのような処理を補助するものがあったので一応ご紹介。 MMAppSwitcher というライブラリです。使い方的には MMAppSwitcher…

iOS アプリ開発に関わる人にぜひ読んで欲しい本[の宣伝]

僕は iOS アプリのコーディングをやっていて主にそっち方面のブログエントリを書いていますが今日は本の紹介というかタイトル通り宣伝です。 アプリ開発をやってる僕ですが結構 UI / UX は気になるタイプで仕事中もデザイナーにいちゃもんつける面倒くさいや…

dispatch_source の DISPATCH_SOURCE_TYPE_TIMER で timeout 処理を実装する

先日、x秒たったらある処理をキャンセルするといういわゆるタイムアウト処理を実装する必要があったときに dispatch_source を使ってハマったので備忘録。 当時ググっても繰り返し一定間隔で処理を動かすサンプルはすぐ見つかったのでそれをベースやっても期…

UICollectionView で UITableView のセクションヘッダー風の SupplementaryView を実装する

UICollectionView で UITableView のセクションヘッダー風の SupplementaryView を実装する UICollectionView は昔なら UITableView を使って頑張って実装していようなグリッドレイアウトな UI を UITableView ライクな I/F で実装できる素敵なやつです。UIT…

はてなインターンのサンプルコードを読んでの感想

はてなさんが はてなインターンで利用したiOSアプリ等のサンプルコードを公開しました - Hatena Developer Blog という素敵なサンプルコードを公開してくれたので、好き勝手に感想を書いてみたいと思う。本来は Web アプリ側も動かしたかったんだけど、ウマ…

アプリの画面を開いているアプリケーションのプレビュー画面から隠す

iOS 7 以前でも、アプリ実行中にホームボタンを押してまた、そのアプリに戻ってきた場合には OS が作成した画面のスクリーンショットが表示されていました。プライバシーが気になるようなアプリでは Home に戻る直前の画面をそのまま次回前面になったときに…

Remote Push からの Background Fetch を試してみた

前回は Background Fetch を試してみました。この方法ではアプリだけの実装でバックグラウンドで通信処理等を走らせる事ができますが、実行タイミングが OS 側の学習によるもので任意のタイミングでは発動させることができません。iOS 7 からは Background F…

Background Fetch を試してみた

先日、「M7 と少しだけ戯れてみた」というエントリでモーションアクティビティを試しに触ってました。その流れで自分の歩数を定期的に Tweet するようにしてみたらおもしろいかなぁと思って折角なので iOS 7 から導入された Background Fetch を使って見よう…

M7 と少しだけ戯れてみた

9/20 に無事に iPhone 5s Space Gray 64GB を手に入れました。前日の14時過ぎぐらいからヨドバシ梅田界隈をうろうろし、閉店少し前から列に並び、希望端末の整理券1番を Get し、9時くらいには現品 Get しました。 CMStepCounter と CMMotionActivityManager…

ボタンのタップ反応エリアの拡大方法

ボタンのタップ反応エリアの拡大方法 アプリを作っていると、実機で触ってみたときに「ボタンが押しにくい」とか「タップのあたり判定がせまい」とかってあるかと思います。たいていの場合はボタンに使っている画像が小さい等が原因だったりします。このよう…

こんな書き方できたんだ!?

今日貯めてた Reading List を見てたらこんな記事が。 New thing I do in code 例 以下のようなコードが動きます。 self.downloadButton = ({ UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; NSLog(@"%s %@", __PRETTY_FUNCTION__,…

CGRectDivide のすすめ

前回も座標系だったんですけど今回も座標系。 CGGeometry にはいろいろ地味に便利な関数が揃ってるんですけどあまり日の目を見ない気がするので CGRectDivide について書こうかと思います。 使い方と得られる結果が理解しにくい CGRectDivide は任意の Rect …

UIView の frame を Blocks を活用して変更する

昨日、なんで今までこれをやってなかったんだろう?と思ったこと。 frame 弄るのダルい UIView の layout 時に label.frame.origin.y = 5; とかしたいところですけど出来ません。 この程度の事で label.frame = CGRectMake(CGRectGetMinX(label.frame), 5, C…

最近よくやってる Blocks の使い方

Blocks 怖いような、便利なような。そんな物ですがみなさんはどんな感じに使っていますか? 僕は最近こんな感じのメソッドを実装して使ってます。 UINavigationController *nvc = [DetailViewController navigationBasedViewControllerWithConfigurationBloc…

簡単なバージョン番号の比較方法

最近、頑張って比較してるのにバグっている見たコードをみました。簡単な比較方法を知らない人もいるのかもと思って書いてみます。 たまに求められるバージョン番号比較 何らかの理由でバージョン番号の比較をしたいときってありますよね?○○バージョン以上…

Placeholder 付き UITextView

UITextView って UITextField みたいに Placeholder がないんですね。つい先日まで気づきませんでした。必要とするようなシチュエーションがないとかそのような UI が iOS 的にナシなのかなぁと思っていたらカレンダーアプリのイベント追加画面で Apple 自身…

iOS6以降でのMapアプリの起動方法

はじめに ここでは、アプリ内部で使用する Map 機能(MapKit)のことは特に言及せず、アプリから外部の Map アプリ(標準 Map.app と GoogleMap.app)の起動について書きます。 現状 標準 Map.app と GoogleMap.app iOS 6 以前までは純正の Map.app は内部で…

iOS で「LINE で送る」を実装する

iOS で「LINE で送る」を実装する 昨年末頃、LINE より公式に「LINE で送る」の仕様が公開されました。私の知る範囲では Objective-C で書かれた iOS 向けのライブラリは以下の2つです。 LineKit LineActivity LineKit 実装されている内容 LINE.app のインス…

NSDateFormatter で YYYY を使っちゃだめ

ダメってことはないです。ただ、私たちが通常使っている概念と違ってくるので普通は使わないよねって話です。 NSDateFormatterのYYYY利用時の注意点 - 風日記 からの引用 Y(大文字)はその週の年、つまり1月1日が週の後半(厳密には木曜日以降)だったら、その…

Xcode の Organizer でスクショの Diff がみれる

今日の出来事なのですが、Xcode の Organizer がいつの間にか進化していることに気がつきました。 下の画像は Oarganizer 上でスクリーンショットを1つ選択したところです。特になんてこともない状態です。 下の画像が Oarganizer 上でスクリーンショットを1…

連絡先に登録した顔文字などをユーザ辞書に登録するスクリプ

Happy-Go-Lucky: 【要Mac】[iOS6] 連絡先に登録した顔文字などをユーザ辞書に登録するスクリプト 【うまくいくといいな】僕も今まで連絡先に顔文字を入れていて使っていましたが iOS 6 からそれができなくなって困っていましたが、上記記事でサクッと解決で…

Xcodeのテンプレートを作成

iPhoneアプリを作っていてよく使う構成だったりいつも使っているライブラリだったりを毎回新規プロジェクトを作ったあとに足していくのが面倒に思ったので調べてみました。 大事な開発環境ですので試す際にはバックアップ等のもしもの時の対策をして自己責任…

TabBarController+NavigationControllerな構成でUIActionSheetがおかしい件の対策

すごく久しぶりにブログを書いてみます。 iPhoneアプリでTabBarController+NavigationControllerな構成って結構多いと思います。 この構成でアクションシートを出すと一番下のボタンの当たり判定がおかしくなります。 裏に透けてるタブバーと重なっている部…

LivedoorReader クライアント『AeroReader』が便利

先日リリースされたLivedoorReader クライアント『AeroReader』がすごく便利なので気に入っている部分を中心にご紹介。 AeroReader - iPad/iPhone 用 livedoor Reader クライアント WEBのLDRと同等の閲覧スタイルでFeedを読み進めることが出来る LDRユーザー…

iPhone/iPod Touch 用Twitterクライアント NatsuLiphone(夏ライフォン)ついにAppStoreに登場

おすすめのiPhone/iPod Touch 用Twitterクライアント「NatsuLiphone(夏ライフォン)」が今日、AppStoreにリリースされました。僕はこのアプリのべータテスターをさせてもらっているのですが、すごく使いやすいので基本的な部分は割愛しておすすめポイントな…

小ネタ

先日はじめて気づいた小ネタです。実は結構有名なのかも知れません。 上の画像はiPhoneのデフォルトアプリである天気アプリで「右下の”i”をタップ」→「左上の”+”ボタンをタップ」した新しいエリア追加画面です。 郵便場号って・・・。

RewriteGPSInfoをドロップレットとして動かす方法

追記あり: iPhoneOS 2.1 でGPS情報の問題は修正されました。 前のエントリでExifToolとAutomatorを使ってイメージキャプチャで自動処理できるようにしました。でも、あのままだとイメージキャプチャの自動処理経由で実行しないとiPhoneの狂ったGPS情報を修…