24/7 twenty-four seven

iOS/OS X application programing topics.

Mac

CoreTextを使って簡単に画像付きリッチテキストを表示できるSECoreTextViewに編集機能がつきました。

kishikawakatsumi/SECoreTextView · GitHub iOS/Macの両方で使えて、文字の選択やリンクのクリックに対応したテキストビューをテスト公開しました。 - 24/7 twenty-four seven 前に書いたSECoreTextViewに編集機能を実装しました (iOSのみ)。 SECoreTextView…

複雑な正規表現を分かりやすくするライブラリ VerbalExpressions の Objective-Cバージョンを書きました

https://github.com/VerbalExpressions/ObjectiveCVerbalExpressions ↑ 本家にマージされました。https://github.com/kishikawakatsumi/ObjectiveCVerbalExpressions 概要 VerbalExpressions はメソッドチェーンとわかりやすい名前を使って、正規表現を読み…

iOS/Macの両方で使えて、文字の選択やリンクのクリックに対応したテキストビューをテスト公開しました。

kishikawakatsumi/SECoreTextView · GitHub SECoreTextView はリッチテキストの表示と文字の選択(現在はOS Xのみ)やリンクがクリック可能だったりするテキストビューです。 別のアプリでテーブルビューのセルにリンクを含むテキストを表示するのに、既存の…

第1回iphone_dev_jp東京 iPhone/Mac Hackathon 〜みんなが幸せになるハッカソン〜 を開催しました

iphone_dev_jp東京 iPhone/Mac Hackathon : ATND iPhone_dev_jpで、みんなが幸せになるハッカソンを開催します | fladdict 前回の勉強会で深津さんが「一発もののアプリじゃなくてきちんと使われるライブラリをドキュメント込みで作るハッカソンやったらいい…

CoreData の 属性に現在時刻など固定値以外のデフォルト値を設定する

CoreData のオブジェクトに作成日や更新時刻が自動的に入ったらいいなと思うことってありますよね。固定の値ならばモデルエディタの Defaut の欄に設定しておけば初期値として自動的に設定されますが実行時の現在時刻のように変わる値はモデルエディタでは設…

今年のチケット争奪戦が終わったので WWDC チェッカーのソースコードを公開します

kishikawakatsumi/WWDCChecker-Mac · GitHub kishikawakatsumi/WWDCChecker-iPhone · GitHub WWDC 2012 がようやく発表されました。 チケットは2時間ほどで売り切れてしまいましたが、なんとか買うことができました。これまでの傾向から激しい争奪戦になる…

CoreData の NSManagedObject のサブクラスを変更する場合はカテゴリを使うと便利

CoreDataのモデルクラスはXcodeのモデルエディタから自動生成しますが、生成されたクラスにメソッドを追加したりしたいことがあると思います。 そのとき、自動生成されたファイルを直接変更してしまうと、モデルに変更がありモデルクラスを再生成したときに…

画像キャッシュとダウンローダで参考になる(と思う)オープンソースの実装

ダウンロードした画像をキャッシュするクラスの設計と実装について - 24/7 twenty-four seven実は上の記事で紹介したクラスを書いた当時、それが必要だったアプリをリリースしたすぐ後くらいにほとんど同じ実装のライブラリを見つけまして。 自分の実装はそ…

ダウンロードした画像をキャッシュするクラスの設計と実装について

iOS組み込みのキャッシュモジュールNSCacheについて発表しました - ninjinkun's diary @k_katsumi キャッシュを分ける方のはわかりやすくて良いですね。後から読む人の参考になりそうなので、URL と URL の発言、ブログに引用させていただいても良いでしょう…

Xcode 4.3ではファイルをドラッグ&ドロップで追加するとき、ターゲットに追加するかどうかのチェックが外れることが多いので注意!

バージョン 4.2.x までの Xcode では、プロジェクトにファイルをドラッグ&ドロップして追加するとき、コピーするかどうかや、ターゲットに追加するかどうかのチェックボックスは前回の選択状態を引き継ぐという挙動でした。 しかし、バージョン 4.3 になっ…

ColorChooser が便利

カラーピッカーで選択した色を自動的に UIColor や NSColor のコードに変換してくれるユーティリティです。 同様のものに Developer Color Picker がありますが、 それのメニュー常駐版のような感じです。 コードを書いているときにどこからでも呼び出せるの…

ネットワークの通信速度を制限する Preference Pane "SpeedLimit"

mschrag@github SpeedLimit は Mac のネットワーク通信速度に制限をかけることができる Preference Pane です。上限のプリセット値として 1572k (T1), 768k (DSL), 384k (3G), 64k (Edge), and 48k (Dialup) の5種類が用意されています。上限値を選択して "…

delegate オブジェクトは retain すべきではない

Delegating objects do not (and should not) retain their delegates. However, clients of delegating objects (applications, usually) are responsible for ensuring that their delegates are around to receive delegation messages. To do this, they…

Xcode のプロジェクト名を変更するには

プロジェクト>名称変更... でいいらしい。 プロジェクトファイル名、ターゲット名、プリコンパイル済みヘッダ、Info.plist を一括で変更してくれます。 プロダクト名や、リンクマップファイルへのパス、ビルドディレクトリなど各種パスも、一度閉じて開き直…

リファレンスや定義を簡単に引ける Xcode のテクニック

Xcode で Option キー + メソッドやプロパティをダブルクリック、の機能が便利だったので、似たようなショートカットを調べてみました。 Option キー + ダブルクリック 対象のシンボルのリファレンスがポップアップする(便利!) Command キー + ダブルクリ…

NSDictionary の objectForKey: と valueForKey: の違い

objectForKey: は NSDictionary のメソッドですが、 valueForKey: は KVC (Key Value-Coding) 由来のメソッドです。 If key does not start with “@”, invokes objectForKey:. If key does start with “@”, strips the “@” and invokes [super valueForKey:]…

Objective-C における可変引数の実装方法

Q: How can I write a method that takes a variable number of arguments, like NSString's +stringWithFormat:? A: Methods that take variable arguments are known as variadic methods.Keep in mind that the implementation of an Objective-C method …

二重解放 (double free) や 解放済みオブジェクトへのアクセス (EXC_BAD_ACCESS) によるクラッシュを Instruments を使って調べる

iPhone アプリケーションのプログラミングでは、メモリ管理に注意する必要があります。 特に解放済みのオブジェクトをさらに解放してしまったり(二重解放)、解放済みのオブジェクトを操作しようとした場合は即座にアプリがクラッシュしてしまいます。 この…

iTunes の購入用パスワードが保存されない問題を直す

Mac

Fix for iTunes 9.0.1 refusing to save your store password - CNET iTunes repeatedly prompts to authorize computer to play iTunes Store purchases 次のうちどちらかを実行すると直るようです。 私の場合は1の方法で今のところ問題は再発していません…

スポイトツールで拾った色を簡単にコードに変換できるDeveloper Color Picker

Developer Color Picker A custom color picker designed specifically for developers. Makes getting colors out of Photoshop/Acorn mock-ups quick and easy. Currently supports NSColor, UIColor, CGColorRef, CSS and HTML styles. Developer Color P…

ディスクに存在するXcodeプロジェクトのビルドディレクトリを自動的に削除してくれるアプリケーション

BuildCleaner A simple app that searches for old and unused Xcode build folders and deletes them. A couple options are available, including the ability to ignore build folders for specific projects and the cutoff interval for deleting folde…

Bento 2ファーストインプレッション

さっそくインストールして触ってみました。 とりあえずビデオチュートリアルを見て研究です。 http://www.filemaker.co.jp/products/bento/tours_tutorials チュートリアルを見て感じた印象は、 データベースだけど型の概念がゆるい(表計算ソフトのよう) K…

パーソナルデータベース「Bento 2」体験モニターに当選しました。

http://www.filemaker.co.jp/products/bento/overview.html 「Bento 2 体験モニター」プロジェクトMac Fanで募集していた、個人向けデータベースソフト「Bento 2」の体験モニターになりました。 これからちょくちょく「Bento 2」のレビューを書いていこうと…

Xcodeで自動生成されるコメントの__MyCompanyName__を変更する。

Mac

~/Library/Preferences/com.apple.Xcode.plistを編集します。 $ defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions \ '{FULLUSERNAME="KISHIKAWA Katsumi"; ORGANIZATIONNAME="KISHIKAWA Katsumi";}' // // AppDelegate.h // UICCalendarPi…

クラスリファレンスはXcode製品ドキュメントで

紙で欲しい。 DevCenter のような冗長なのじゃなくて、パッとチェックできるようなやつが欲しい。 特に NSString と NSArray がいい。 2008-09-07 - iOS プログラミングメモ - iPhoneアプリ開発グループ Xcodeのヘルプ>製品ドキュメントを開くと、リファレ…

"MDCrashReportTool"は、予期しない理由で終了しました。

昨日あたりから、iPhoneを同期するたびに、上記のようなメッセージが出るようになった。 最初は、バックグラウンドで動いてる何かの動作がおかしくなったのだと思っていたが、再起動してすぐのときも出たので、調べてみた. I made this stop by using iTunes…

VirtualBox 1.6のハードディスクイメージ(VDIファイル)はプラットフォーム間の互換性が無い?

先日リリースされたVirtualBox 1.6のMac OS X版を少し使ってみる。 メニューや設定項目、画面の作りはUbuntu版と全く同様。メニュー項目に小さいアイコンが付いてるところまで同じ。Macっぽくなくてカッコ悪いからやめてほしいのだが。とりあえず、Ubunntu版…

VirtualBox 1.6リリース

VirtualBox 1.6(Sun xVM版)リリース、Mac OS Xに正式対応 参考サイト Oracle VM VirtualBox http://viva-ubuntu.net/?p=790 Ubuntuにインストール済みのVirtualBox 1.5.6をアップデート ダウンロードページからBinaries (all platforms)をクリック。「Plat…