24/7 twenty-four seven

iOS/OS X application programing topics.

Cocoa

iPhoneアプリケーションで圏外を通知する。

ネットを利用するiPhoneアプリケーションは、圏外の通知が必須に? - 24/7 twenty-four seven上記の記事で書いたように、現在、ネットを使用するアプリケーションは、ネットワークに接続できないときには、何らかの形でユーザーに知らせないといけないので、…

autoreleaseされたオブジェクトはいつ解放されるか

http://mtl.recruit.co.jp/blog/2009/01/iphoneiphonesdk.html つまり、デフォルトでは、autoreleaseされたインスタンスは、このプールにどんどん、追加されてゆく。ちょっとした文字列であっても NSString.stringWithFormatを乱発すると、メモリ不足になり…

iPhoneのタッチイベントで、シングルタップを無視してダブルタップのイベントだけ拾う方法。

iPhoneの画面でシングルタップとダブルタップで全く別の動作をさせたいときや、ダブルタップにだけ反応して、シングルタップは無視したいようなときがあります。 しかし、単純にtapCountによって処理を分けようとすると、"[touch tapCount] == 2"の処理の前…

iPhoneアプリケーション「はてな touch」「LDR touch」「テレビ番組表」のソースを公開しました。

今まで作ったアプリケーションのソースコードをGitHubで公開しました。kishikawakatsumi (kishikawa katsumi) · GitHub はてな touch / Hatena touch - GitHub LDR touch - GitHub テレビ番組表 / TV Listings - GitHub

UICCalendarPickerの使い方

基本形 UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] initWithSize:UICCalendarPickerSizeMedium]; [calendarPicker setDelegate:self]; [calendarPicker setSelectionMode:UICCalendarPickerSelectionModeMultiSelection]; [calendarPi…

iPhone用日付選択UIライブラリ、UICCalendarPickerを作りました。

UIDatePickerよりも簡単に日付を選択できるようにしたいと思って作りました。 予定を入力するような場面などで、活用できると思います。 GitHubのUICoderzのグループで公開しています。 アプリケーションに組み込んだり、自由に使ってください。 テレビ番組…

iPhoneデバッグ用のマクロで、クラス名とメソッド名を自動的にログ出力する

iPhone デバッグ用のマクロ - Windchase #ifdef DEBUG # define LOG(...) NSLog(__VA_ARGS__) # define LOG_CURRENT_METHOD NSLog(NSStringFromSelector(_cmd)) #else # define LOG(...) ; # define LOG_CURRENT_METHOD ; #endif iPhone デバッグ用のマクロ …

UITabBarController + UINavigationController + UITableViewという画面構成のときに、次の画面でタブバーを消すようにしていると、前の画面に戻ってきたとき、テーブルの一番下が隠れる。

言葉だけでは分かりにくいので、テレビ番組表の画面で説明します。 一覧画面はタブバー + テーブルビュー (UITabBarController + UITableView) という構成になっています。 一番下の列をタップして、次の画面に移動します(Web画面)。 異動先の画面ではタブ…

日本語環境では、NSDateFormatterでフォーマットした日付がおかしい

書式文字列の仕様は以下の通りです。 h Hour [1-12] H Hour [0-23] K Hour [0-11] k Hour [1-24] UTS #35: Locale Data Markup Language それでこんなコードで実験してみると・・・ NSDate *now = [[NSDate date] retain]; NSDateFormatter *dateFormatter =…

iPhoneの自動ロック(自動スリープ)を無効にする

UIApplicationクラスのidleTimerDisabledプロパティにYESをセットする。 - (void)applicationDidFinishLaunching:(UIApplication *)application { [[UIApplication sharedApplication] setIdleTimerDisabled:YES]; [window addSubview:landscapeClockViewCon…

UIImageViewを使って画像を回転

UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation]; if (UIDeviceOrientationIsLandscape(orientation)) { [landscapeClockView setCenter:CGPointMake(160.0, 240.0)]; if (orientation == UIDeviceOrientationLandscapeLeft) { […

iPhoneアプリで正規表現を使う

RegexKit Framework上記のサイトからRegexKitLiteをダウンロードします。RegexKitLite-2.2.tar.bz2を展開すると、以下のようになります。 RegexKitLite.h RegexKitLite.m RegexKitLite.html examples RKLMatchEnumerator.h RKLMatchEnumerator.m NSString-He…

iPhoneで繰り返しループするサウンドを鳴らすコードのメモ (Audio Queueのサンプル)

iDevGames Forums 使い方 GBMusicTrack *song = [[GBMusicTrack alloc] initWithPath:[[NSBundle mainBundle] pathForResource:@"BackgroundMusic" ofType:@"mp3"]]; [song setRepeat:YES]; [song play]; GBMusicTrack.h // // GBMusicTrack.h // GameBase /…

iPhoneを振る動作を検出するコードのメモ

ios - How do I detect when someone shakes an iPhone? - Stack Overflow // Ensures the shake is strong enough on at least two axes before declaring it a shake. // "Strong enough" means "greater than a client-supplied threshold" in G's. stati…

Interface BuilderでカスタムUITableVIewCellを作るときの注意点

Interface Builderを使ってカスタマイズしたUITableViewCellを作る方法(追記あり) - 24/7 twenty-four seven前に書いた手順は長くて、自分でも見逃しがあったので、よくある間違いをまとめておきます。 XIBファイルのUITableVIewCellを使用するときによく…

Interface Builderを使ってカスタマイズしたUITableViewCellを作る方法(追記あり)

[追記]大事な手順を書き忘れていました。セルの再利用のための手順を最後に追記しています。 間違ってるかもしれないけど、たぶんこう。 View Templateを選択して、新しいXIBファイルを作成します。 もともとのViewを削除します。 代わりにUITableViewCellを…

一時オブジェクトを大量に使う(メモリを消費する)処理をループする場合は、ループの中で自動解放プールを生成する

LDR touchではオフラインでも読めるようにフィードをキャッシュする仕組みがあります。 キャッシュするところのコードはだいたい以下のような感じになっています。 フィードのリストから、IDを取り出し、対応するエントリーのデータをダウンロードします。 -…

オブジェクトの状態をファイルに保存・復元する。(シリアライズ・デシリアライズ)

参考サイト iPhone Tutorial - Archivers, unarchivers, and serialization on Vimeo Cocoaフレームワークには、もともとオブジェクトをシリアライズするための仕組みが用意されているので簡単です。 NSCodingプロトコルで定義されているメソッドを実装すれ…

iPhoneカメラの画像をアップロード用にリサイズ(縮小・ダウンスケール、または回転)する

参考サイト Apple - Support - Discussions - Roate UIImage help Apple - Support - Discussions - iPhone: How to get the original photo image with Picker iPhoneのカメラで撮影した画像は、1,600 x 1,200とそのままアップロードするには大きいので、リ…

CocoaでWSSE認証

WSSE認証に必要なこと リクエストのHTTPヘッダに、次の内容を含めて送信します。 Username ユーザー名。(はてなアカウントのid) Nonce HTTPリクエスト毎に生成したセキュリティ・トークン*1 Created Nonceが作成された日時をISO-8601表記で記述したもの Pass…

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

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

SQLiteを使ったプログラム

SQLite - ドットコマンドターミナルからSQLiteを使うときのコマンド。 下のiPhoneアプリケーションのチュートリアルで、SQLiteの章をやってて、コマンドラインツールの終了の仕方が分からなくてしばし困った。無料セフレ募集掲示板SNSサイトならiPhone SDK A…

iPhone SDK Tutorial

無料セフレ募集掲示板SNSサイトならiPhone SDK ArticlesiPhoneプログラミングのチュートリアル。英語だが、スクリーンショットや動画が多くて分かりやすい。

Objective-Cの勉強をはじめました。

http://iphone-dev.jp/modules/pico/index.php?content_id=6 新橋で行われたiPhoneアプリケーション開発の勉強会で刺激を受けて、 本格的にCocoa&Objective-Cを学ぶことにしました。こっちの本はとりあえず全部(リファレンス以外)に目を通していました。 …