2013-01-01から1年間の記事一覧

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…

Heroku に Sinatra でゴニョゴニョした時の備忘録

GW に親父に頼まれてこんなのを作ったときの備忘録 複数のサイトからデータをスクレイピングして tsv ファイルに書き出し tsv ファイルをまとめて zip これらを Web アプリとして提供 本当は親父の PC ローカルで完結させたかったんだけど、Windows だし、環…

複数の非同期処理を前の処理結果を受けとりつつ数珠つなぎに直列に書きたかった時に参考にしたコード

以前 @xcatsan さんのこちらの記事をさっきみてて思い出したので備忘録として。 以前、非同期で実行される処理の塊を直列に順序を決めて実行したいというシチュエーションがありました。そのときにぱっと浮かんだのは昨日の Cocoa 勉強会関西で@yashigani が…

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

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

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

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

Placeholder 付き UITextView

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

Mountain Lion (Mac OS X 10.8) でマウスカーソルのサイズを標準機能で変える方法

mac

プレゼン等をする際に通常使っているマウスカーソルの大きさでは小さく見えにくい場合があります。調べてみると Mac の標準機能でできるようですが、Mountain Lion (Mac OS X 10.8) から設定場所がちょっと変わったのでメモ。 設定場所 Mac のシステム環境設…

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 のインス…

特定のアプリが触ったファイルを監視

@norio_nomura さんに教えてもらったことを忘れないための備忘録。 sudo fs_usage -f pathname <プロセスID> とかするとこんな感じで出力される。 20:11:32 stat64 ple.Safari/Webpage Previews/FFEE0AA49397DF9D900BD8B88BA37224.jpeg 0.000003 Safari 20:1…

NSDateFormatter で YYYY を使っちゃだめ

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

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

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