読者です 読者をやめる 読者になる 読者になる

iPhone 7 購入記録

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

RedPen を使った linter-redpen

Atom の Package linter-redpen を作りました。 以前もこのような RedPen を使った Package を書いていたので第二弾という感じです。 特徴 "何行目の何文字目" までナビゲート 以前作った redpen package は文書の問題箇所を列挙し、クリックすることで該当…

try! Swift で感じたこと思ったこと

先週、東京で開催された try! Swift に参加してきました。参加者のブログエントリとしてはかなり遅いですが try! Swift 後の諸々の課題が完了して落ち着いたのでそこで感じたことを書いてみたいと思います。気付けば前回のこのブログの更新から1年以上もご無…

Atom から RedPen を簡単につかう Package を作りました

GitHub がメインで開発しているエディタ Atom の Package redpen を作りました。 RedPen とは 普段僕は Objective-C で iOS アプリの開発をしています。Objective-C のようなコンパイル言語で typo した場合にはコンパイルエラーがでたり、型を謝ったコード…

プレゼンするときに気をつけたいと思ってるたった3つのこと

id:yashigani が良いこと書いているなぁと思った。 [yashigani days] プレゼンするときに気をつけてるたった3つのこと 僕もプレゼンや人前で話す事について思うことがあったので便乗エントリ。 声を大きく すごい普通で当たり前のことです。けど、勉強会とか…

JSON を jq で確認しやすくする CSNJQFormatter

普段アプリを作っていたアプリが取得した JSON データを Console に出力させています。このままでは改行がなくなっていたりシンタックスハイライトもなくて見づらかったのでこんなものを作りました。 griffin-stewie/CSNJQFormatter 以下のような文字列を返…

UITableViewController 以外で UIRefreshControl を使う方法 [リスクあり]

Tweetie で有名になった Pull to refresh ですが iOS 6 から UIRefreshControl として OS 標準で追加されました。残念ながら UIRefreshControl は UITableViewController と一緒に使うしかまっとうな方法はありません。UIViewController + UITableView のよ…

Blocks のアレゲなシンタックスのための Xcode の Snippet

Blocks のアレゲなシンタックスは有名で非常に覚えにくいです。なので有名な OSX / iOS アプリ開発者のココロの叫びを表したサイトがあるのはもはや有名ですね。ココに書かれているシンタックスを Xcode の Snippet にして置いてます。 griffin-stewie/Xcode…

UILabel の文字色をハイライト時に暗めの色にする

UI のインタラクションとしてテキストカラーを少し暗めにしたいことがあったのでその時に使った方法です。 HSB(HSV) で元の色の Brightness を変更する 先に書いたとおり暗くしたいだけなので RGB でどうこうしようとするのはめんどくささこのうえないです。…

HSB(HSV) のすすめ

みなさんは普段アプリの開発の際にどのような形で色を指定していますか?個人的な経験と予想では [UIColor colorWithRed:0.251 green:0.514 blue:0.663 alpha:1.000] のような RGB での指定だったり、カテゴリやマクロで拡張して #4083A9 のような Hex 指定…

Pandoc で github 風 CSS を使った standalone な html を生成

動機 ただ何となくふとやってみたいと思っただけです。 準備 ~/.pandoc ディレクトリを作成 github.css で画像を参照している箇所を https://raw.githubusercontent.com/gollum/gollum/master/lib/gollum/public/gollum/images/para.png https://raw.githubu…

ALAssetsLibrary を触るときの権限取得を事前に確認する

iOS

ちょっと不便 ALAssetsLibrary を触るときにはユーザーに AssetsLibary へのアクセスを許可してもらわないといけません。個人的には先にアクセス許可の伺いを立ててからその結果に応じてアプリとしての振る舞いを切り分けたいと思います。しかし、ALAssetsLi…

Xcode Plugin が盛り上がっているらしい

しばらく前に簡単なプレゼン資料を作って一部の人にブログに書く書く詐欺をしていたので、以下のクラスメソッドさんの記事に便乗して書いておこうと思います。 初めてのXcode 5 プラグイン開発 | Developers.IO Xcode 5 プラグイン 開発のテクニック | Dev…

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…

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…

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

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

はてなブログはじめました。

MacBook Air 欲しい。

SafariTabConfig Ver0.1.1 リリース

canberlandさんが開発したSafari用SIMBLプラグイン SafariTabConfig Ver0.1.1 をリリースします。 SafariTabConfig Ver0.1.1 の変更点 不具合修正 Safari 5.1 で発生していた問題を修正しました。 当方、Lion + Safari 5.1 の環境しかないため Snow Leopard…

Lion への対応について

昨晩、Lion がリリースされました。私としても出来るだけはやく対応したいと思っています。ただ、Safari 5.1 では内部の構造が大きく変わっている関係で今まで利用できていた機能が使えなくなる可能性があります。また決定したわけではないですが、開発環境…

XcodeのUserScript

Cocoaの日々: Xcode のマクロ定義 こちらの記事をみて、昔 cocoa 勉強会でちょこっと紹介した内容に似たようなのがあったのを思い出しました。 久しぶりなのでブログに書いてみようかと思いました。 Objective-C 2.0 の プロパティ定義文を挿入する UserScri…

SafariDragVer0.0.7 リリース

canberlandさんが開発したSafari用SIMBLプラグイン SafariDrag Ver0.0.7 をリリースします。 SafariDrag Ver0.0.7 の変更点 不具合修正 Safari5 で発生していた問題を修正しました。 Safari5 で発生していた問題を修正しました。 Snow Leopard版、Leopard版…

SafariGestures Ver0.1.3 リリース

僕とcanberlandさんと二人で開発している Safari用SIMBLプラグイン SafariGestures Ver0.1.3 をリリースします。 SafariGestures Ver0.1.3 の変更点 不具合修正 Safari5 で発生していた問題を修正しました。 機能追加 スワイプジェスチャ追加 変更 設定画面…

SafariTabMemento Ver0.0.5 リリース

Safari用SIMBLプラグイン SafariTabMemento Ver0.0.5 をリリースします。 SafariTabMemento Ver0.0.5 の変更点 不具合修正 Safari5 で発生していた問題を修正しました。 Safari5 で発生していた問題を修正しました。 Snow Leopard版、Leopard版のリリースで…

SafariTabConfig Ver0.1.0 リリース

canberlandさんが開発したSafari用SIMBLプラグイン SafariTabConfig Ver0.1.0 をリリースします。 SafariTabConfig Ver0.1.0 の変更点 不具合修正 Safari5 で発生していた問題を修正しました。 Safari5 で発生していた問題を修正しました。 Snow Leopard版 …

はてブからGoogle Bookmarkへの移行

web

最近ぜんぜんブログを書いてなかったので自分備忘録としてエントリ書いておきます。 Tombloo で Google Bookmark にPostできてなかった 先日、Tombloo で Google Bookmark にPostできてなかった事が発覚しました。 普段ははてブとGoogle Bookmarkにクロスポ…

デバッグ中にXcodeのエディタがブレイクポイントに移動しない問題

Snow Leopardにしたころくらいからデバッグ中にXcodeのエディタがブレイクポイントに移動しないなぁと思っていました。 移動しないっていうのは、例えば Hogeクラスのfugaメソッドにブレイクポイントをセット エディタではFooクラスのbarメソッドあたりを表…