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

24/7 twenty-four seven

iOS/OS X application programing topics.

リンクするだけで iOS 6 で Google Map が使えるようになる YAMapKit を公開しました。

kishikawakatsumi/YAMapKit · GitHubYAMapKit は MapKit.framework と(ほぼ)互換性のある代替ライブラリです。 Google Maps Javascript API と UIWebView を利用して iOS 6 で Apple の標準地図の代わりに Google Map を使った表示ができます。 MapKit.fra…

Objective-C でサブクラスのインスタンスから任意のスーパークラスのメソッドを呼ぶ

サブクラスのインスタンスからポリモーフィズムを無視して任意のスーパークラスのメソッドを呼びます。 ↓ 下のように Shape クラスと Shape クラスを継承した Path クラス、および Path クラス を継承した Circle があります。 それぞれのクラスで draw メソ…

iOS 6.0 と iOS 5.x の両方で動作するアプリケーションをビルドする設定

iOS 4.0 と iPhone OS 3.x の両方で動作するアプリケーションをビルドする設定 - 24/7 twenty-four seven↑ こちらも参考に iOS 4.0 が登場したくらいのときに上の記事を書いて、仕組みは変わってないのですけど Xcode 4.x 系だと UI が変わってるので現在の…

iOS 6 では Supported interface orientations の順番に注意!

最近の Xcode ではアプリケーションが対応しているデバイスの向きをターゲットの Summary 画面から GUI を用いて設定できるようになりましたが、ここから設定する場合はボタンを押す順番に注意する必要があります。というのも、この画面で設定した内容は、In…

iOS 6 ではグループスタイルのテーブルビューの背景色がこっそり非推奨になっている。

iOS 6 では上記のカラーを生成するメソッドがヘッダのコメントでひそかに deprecated になっています。UIInterface.h // Group style table view backgrounds can no longer be represented by a simple color. // If you want to have a background in your…

はやりのシンボルフォントを iOS で画像として扱える SymbolFontKit を公開しました。

kishikawakatsumi/SymbolFontKit · GitHub↑ シミュレータに表示されている画像やツールバーのボタン、タブバーのアイコンは全てフォントです。シンボルフォントとは要するにアイコン画像などをフォント形式にしたものです。 Webだと最近のブラウザだとWebフ…

はてな touch 1.2.7 をリリースしました。

はてな touch / Hatena touchはてな touch 1.2.7 がアップルの審査を通過しました。 iOS 6, iPhone 5をサポートしました。 変更点 iOS 6, iPhone 5をサポートしました。

Objective-C や Xcode の新しい機能のほとんどは iOS4 以前でも動く

Objective-C Feature Availability Index に一覧表が載ってるのですが、ARCのWeak Reference 以外は iOS 4 以上、ほとんどはすべての iOS バージョンで動くので、古い環境を気にせずにジャンジャン使ってしまってOKです。新しいリテラルや Subscripting は断…

はてなブックマークの ShareKit 拡張を書きました

ShareKit/Classes/ShareKit/Sharers/Services/Hatena at hatena · kishikawakatsumi/ShareKit · GitHub ShareKit といういろいろな外部サービスとの連携機能を提供するライブラリがあるのですが、それのプラグイン (ShareKit では Sharer と呼びます) として…

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

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

第3回iphone_dev_jp 東京iPhone/Mac勉強会を開催しました

第3回iphone_dev_jp 東京iPhone/Mac勉強会 : ATND 発表内容と資料のまとめ http://mtl.recruit.co.jp/blog/2012/07/721_iphone_dev_jp_iphonemacmtl.html 会場を提供してくださったMTLフナミさんのすばらしいまとめです。 すべての資料と発表ごとに分けてい…

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

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

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

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

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

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

iphone_dev_jp 東京iPhone/Mac勉強会のあきすてさんの資料を共有しました

@k_katsumi あ、それとは別にお渡ししたPDFの資料をどっかで後悔していただけたら当日できなかったUnityの話も見られていいかなと2012-04-15 02:15:44 via Twitter for Mac to @k_katsumi @akisutesama 勉強会のときのPDF、SlideShareで共有するね?2012-04-…

iphone_dev_jp 東京iPhone/Mac勉強会を開催しました

iphone_dev_jp 東京iPhone/Mac勉強会 : ATND 発表内容と資料のまとめ 「iphone_dev_jp 東京iPhone/Mac勉強会」で発表をして来ました - 強火で進め Tweetのまとめ iphone_dev_jp 東京iPhone/Mac勉強会 #idevjp - Togetterまとめ ネット配信の録画(ニコニコ動…

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

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

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

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

iOS 5.1 ではスクロールビューをスクロールするたびに少しずつメモリリークが起こる。

iOS 5.1 では UIScrollViewにバグがあるようで慣性スクロールが終わるタイミングで少しずつメモリがリークしてしまうようです。 UIScrollView を継承している UITableView や UITextView も同じ不具合が発生します。 内部に UIScrollView を保持している UIW…

音声を使ってハンズフリーでアプリケーションを操作するサンプル

iOS 5.1 からプログラムからも利用できるようになった音声入力を使ってアプリケーションを操作するサンプルを公開しました。kishikawakatsumi/VoiceNavigation · GitHub このサンプルでは「〜を検索」と話すとその言葉で Google 検索を実行します。 「戻る」…

iOS 5.1 の音声入力を使ってアプリケーションを操作してみる

iOS 5.1 から日本語の音声入力がサポートされました。さらに API にも UIDictationPhrase など音声認識ができそうなクラスが追加されています。 これはプログラムから音声認識を使うことができるのか?そうすると音声を使ってハンズフリーでアプリケーション…

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

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

CAEmitterLayer でクリスマスは爆発しろ - iOS Advent Calendar 2011

iOS 5 からCAEmitterLayer と CAEmitterCell クラスが iOS でも使えるようになり、パーティクルを簡単に表示することができるようになりました。 これを使ったクリスマスネタが何かできないかと思って、タップするとクリスマスが爆発するゲームを作ってみま…

Titanium mobile の KeyChain モジュール TiKeyChainStore を書きました。【添削希望】

UICKeyChainStore を応用して Titanium mobile の KeyChain モジュール TiKeyChainStore を書きました。kishikawakatsumi/TiKeyChainStore · GitHub 下記のように使います。 var store = tikeychainstore.createKeychainStore({ service: 'com.kishikawakats…

KeyChain のデータを操作するラッパークラス UICKeyChainStore を書きました。

アップルのサンプルコード GenericKeychain に含まれる KeyChain のラッパー KeychainItemWrapper.m の実装が微妙だったので書きました。kishikawakatsumi/UICKeyChainStore · GitHub KeychainItemWrapper クラスには下記で報告されている問題や、 A-Liaison…

miil 1.0.1 がリリースされました。

miilmiil.me miil 1.0.1 がリリースされました。 バージョン 1.0.1 の変更点 利用規約を変更しました。 機能改善 ユーザー一覧画面のフォローボタンのタップ領域を拡大し、押しやすくしました。 Twitterから友だちを検索する際のUIを改善しました。 現在地以…

miil 1.0.0 がリリースされました。

miilmiil.me 私がプログラムを担当しました、miil 1.0.0 がリリースされました。 食べものの写真を通して「おいしい!」を共有するアプリケーションです。 写真を撮って投稿したり、ほかの人の写真をみたり、 ほかの人の写真をみたり、感想を書き込んだり、 …

i-Radio 1.2.0 がリリースされました。

i-Radio ネットラジオのアプリケーション i-Radio のバージョン 1.2.0 が審査を通過しました。 自動更新購読 (Auto-Renewable subscriptions) による月額プレミアム会員がスタートしました。 プレミアム会員になると、季節ごとのバックナンバーが聴取できる…

ColorChooser が便利

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

UINavigationBar に複数の UIBarButtonItem を配置するには

UINavigationBar は基本的に左右 (leftBarButtnItem, rightarButtonItem) に一つずつしかボタンを配置することができません。 しかし、ちょっと工夫をするとその制限を突破することができます。 (まあ物理的なスペースの関係でせいぜい2つか3つがやっとな…

NSNull のインスタンスは nil として振舞ってくれると嬉しいなって

NSNullはnilとして振舞うべきじゃないかなー。unrecognized selectorで例外なげるんじゃなくて。2011-04-11 21:07:10 via Echofon @k_katsumi 私もそう思います。サブクラス化するなりカテゴリで上書きするなりして nil として振る舞えるようにできないです…

MKMapView に CATransform3D を適用するときの注意

MKMapView 3DTransformするとおかしくなるな。残念。鳥瞰図みたいなの表示したかったんだけど。2011-04-04 17:36:16 via Twitter for Mac @junpeiwada ちょいと調べてみました。transformはsuperviewに当てて、その後mapViewにCATransform3DInvertで打ち消す…

kotobank for iPhone 1.0.0 がリリースされました。

kotobank - コトバンク株式会社ジェネシックス | genesix 私がプログラムを担当しました、kotobank for iPhone 1.0.0 がリリースされました。 データを内部に持ち、オフラインで使用できる辞書アプリケーションです。 このアプリケーションの特長は、複数の…

LCD Clock HD 1.1.2 がリリースされました。

LCD Clock HDバージョン 1.1.2 がアップルの審査を通過しました。 iOS 4.3の動作と、日本以外の国において2011年後半の移動休日のデータを更新しました。 変更点 iOS 4.3の動作を確認しました。 日本以外の国において2011年後半の移動休日のデータを更新しま…

iPhone アプリにおいて Interface Builder を使って Grouped Style の UITableView を作るときは separatorStyle の値に注意

Grouped スタイルのテーブルビューを使用した iPhone アプリケーションの中に、下の画像のように先頭セクションの区切り線が2重に表示されているものをチラホラ見かけます。 実用上の問題は無いのですが、ちょっと不恰好なので気になりますよね。 この現象…

LCD Clock 4.0.2 をリリースしました。

LCD ClockiOS 4.3の動作と、日本以外の国において2011年後半の移動休日のデータを更新しました。 変更点 iOS 4.3の動作を確認しました。 日本以外の国において2011年後半の移動休日のデータを更新しました。

英辞郎検索ランキング(アルク) 1.0.0 がリリースされました。

英辞郎検索ランキング(アルク) 私が開発を担当しました、「英辞郎検索ランキング(アルク)」 が Apple の審査を通過しました。 このアプリケーションはアルクの「英辞郎 検索ランキング 英和編」「英辞郎 検索ランキング 和英編」という2冊の書籍を ひと…

UIDocumentInteractionController で特定のファイルを開くことのできるアプリケーションを調べたり、直接開いたりする。

南東京iPhone開発者勉強会 #5 - Togetterまとめ UIDocumentInteractionController UIDocumentInteractionController で、特定の拡張子のファイルを開けるアプリがあるかどうかを調べる方法 - iOS プログラミングメモ - iPhoneアプリ開発グループ 昨日、南東…

はてな touch 1.2.6 をリリースしました。

はてな touch / Hatena touchはてな touch 1.2.6 がアップルの審査を通過しました。 はてなの AtomPub API の WSSE 認証が厳格化したことにより投稿できない問題を修正しました。 AtomAPIの脆弱性対策として、WSSE認証をより厳密にしました - はてなブックマ…

iTunes Connect Developer Guide の Appendix が便利

iTunes Connect Developer Guide は本文はもちろん必読なのですが、最近追加された Appendix に載っている情報がけっこう便利です。 Appendix A: App Information Table アプリケーションの申請に入力する情報について項目ごとに「1度申請すると編集不可」「…

英辞郎 on the WEB for iPhone(アルク) 1.1.1 がリリースされました。

英辞郎 on the WEB for iPhone(アルク) 英辞郎 on the WEB for iPhone(アルク) 1.1.1 が Apple の審査を通過しました。バグフィックスのみの修正です。 一部の単語(in, on, a など)が検索できない不具合を修正しました。 修正点 一部の単語(in, on, a…

「超」整理手帳 for the iPad 1.0.0 がリリースされました。

「超」整理手帳 for the iPad 講談社 - Kodansha Ltd. 私が開発を担当しました、「超」整理手帳 for the iPad が Apple の審査を通過しました。 関連リンク http://moura.jp/lifeculture/datebook/lineup/application.html

はてな touch 1.2.5 をリリースしました。

はてな touch / Hatena touchはてな touch 1.2.5 がアップルの審査を通過しました。 過去の日記を編集したときに新しい記事で投稿されてしまうなど、不具合を修正しました。 変更点 過去の日記を編集したときに新しい日記として投稿される問題を修正しました…

英辞郎 on the WEB for iPhone(アルク) 1.1.0 がリリースされました。

英辞郎 on the WEB for iPhone(アルク) 英辞郎 on the WEB for iPhone(アルク) 1.1.0 が Apple の審査を通過しました。今回の更新はマルチタスキングや Retina Display への対応とバグフィックスです。 関連リンク 英辞郎 on the WEB for iPhone:スペー…

iPhone アプリケーションからSMSを送信する

iOS 4.0 からMessage UI Framework に追加されたMFMessageComposeViewController を使用すると、アプリケーションから SMS を送信することができます。使い方は下記のようになります。 // Displays an SMS composition interface inside the application. -(…

i-Radio 1.1.0 がリリースされました。

i-Radio ネットラジオのアプリケーション i-Radio のバージョン 1.1.0 が審査を通過しました。 連続再生やシークなど、さらに使いやすくなりました。 主な変更点 再生位置のシークがで可能になりました。 番組をプログラムリストの順に連続再生できるように…

iPhone Simulator「画面をコピー」「テキストをペースト」

iPhone Simulator の「編集」メニューは通常はこのようになっていますが、 Control キーと押すと以下のように変化します。 「画面をコピー」はスクリーンショットをクリップボードにコピーします。 プレビュー.app の「クリップボードから新規作成」などと組…

くるりんぱ性格診断 1.0.0 がリリースされました。

くるりんぱ性格診断 くるりんぱ性格診断という書籍を元に iPhone アプリケーションとして制作しました。12個の簡単な質問に答えるだけで性格を表す「じぶんキャラ」を知ることができる、という楽しく性格診断のできるアプリケーションです。このアプリケーシ…

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

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

2つ以上の UIScrollView (UITableView, UITextView などを含む) が存在するビューで StatusBar のタップで先頭に戻る機能を有効にするには。

UIScrollView 系のビューが2つ以上存在するとき、ステータスバーをタップして一気に先頭にスクロールする機能を有効にするには、先頭にスクロールする機能を有効にしたいスクロールビューのみ scrollsToTop プロパティを YES にし、それ以外のスクロールビ…