Cocoa Docs Cocoaプログラミングに関するいくつかの資料 以前にCocoa勉強会で発表した資料をアップします。Performance Toolsに関するものは大分古くて特にインターフェイスなどは最新のものと違うかもしれませんが、基本的な考え方や使い方は同じはずです。参考にしてください。資料はあといくつかあるのでぼちぼちアップしていきます。 なお一部はCocoaLife用にレイアウトした原稿を元にしています。なのでスクリーンショットの範囲が小さくて見づらいと思いますが、作りなおすのも面倒(インターフェイスが変わっていたらあわせて原稿も直さないといけない)ので、そのまま載せてあります。 なおCocoa勉強会では見学者、新規参加者を随時募集しています。私の資料なんかよりずっと新鮮で有益な様々な発表を聞いて勉強することができます。というとマニアックで怖そうなイメ
Handling URL schemes in Cocoa This morning I was playing around with getting a Cocoa app to respond to a custom URL scheme and figured it would be useful to write up the basics here. The information is primarily distilled from this post by Nicholas Riley, but I wanted to provide a cleaner example with more explanation. In case you have no idea what URL schemes are, this allows you to put links tha
iPhone上での開発について自分用のメモを兼ねて公開。 Appleは規約においてiPhone Development Centerで入手したすべての情報は機密であるから公開してはならない、としているので、技術情報をポンポンWebに載せたりはできない。(参考:ここなど) ここに書く内容はGoogleで検索してApple以外のサイトで得られた情報と、自分のXCodeでの動作実験をまとめただけのものであることをあらかじめお断りしておきます。 今回取り組んだのは、XCode上で単体テストをする環境整備。まだまだプラットフォーム自体知らないことがたくさんあるのでこれはぜひとも必要だ。単体テスト環境とiPhone実機では挙動が異なる点が見つかってアセるシーンも将来たぶんあるだろうけど、まずはここから。 その大まかな手順は以下のとおり。 (1) 新規にターゲットを作成し、種類はCocoaの"Unit
はじめに 今回はGoogle DocsやGoogle Bookmarksといったネットワーク上のリソースをSpotlight検索可能にするソフトウェア、Precipitateがどのように外部リソースのSpotlight検索を可能にしているかを調べてみました。 以下にPrecipitateの概要を示します。 名称: Precipitate URL: http://code.google.com/p/precipitate/ ライセンス: Apache License 2.0 作者: Google Inc. 最新のバージョン: 1.0.2 使い方については参考リンクを参照してください。 Googleアカウントをシステム環境設定で登録すると、Google BookmarksやGoogle DocsがMacのSpotlightから検索することができるようになる、というものです。 Spotlight
More than a year ago I released the first version of a Objective-C class to interact with the Apple Remote Control. With Sofa Control 2.x this wrapper got some great new features. Today these changes are released to the public as a version 2.0. I strongly recommend to upgrade to the new version of the wrapper. Hopefully the new features awake your interest. New Features Support for Leopard (9A466,
Skypeでは「callto:」, Peercastでは「peercast:」なんかの「オレオレ・プロトコル」がアプリケーションに関連付けられています。これらは、Web上のHTMLファイルからURLクリック(または、同等の処理)で、アプリケーションを起動させることができる、という利点があります。(もちろんセキュリティ上の問題もあるのですが、その話はまた別途)。 このプロトコルとアプリケーションの関連づけ、つまりプロトコルヘルパのアプリケーションをOSX上で作成する方法について、Mac初心者(利用歴1ヶ月くらい)がまとめたメモを残しておきます。よく理解できていない箇所もあるのでツッコミは大歓迎です。 お題として「kefir:」というプロトコルを定義したとして、ブラウザランチャアプリとして「KefirRunner」というアプリケーションを作ってみることにします。分かりやすく言うと、ターミナルか
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
[Cocoa/Carbon] NSString マルチバイトかどうか 2008/8/10 03:13:24 NSStringにマルチバイト文字が入ってるか知りたい. 3秒うなった結果,NSStringのlengthとCのstrlen関数が返す文字数が違うことを利用することにした. strlenだと,UTF8の場合1文字で3が返ってくるので. #よくしらんけど,仕様では可変だったような 他でもできるかもしれません. Cocoaの文字列処理は便利悪い. NSString *hoge = @”日本語@monalisa-au.org”; const char *utf8 = [hoge UTF8String]; int nlen = [hoge length]; int clen = strlen(utf8); if(nlen != clen){ NSLog(@”マルチバイトが入ってま
■ 自作のアプリケーションから、特定のWebページをSafariで開く NSURL *myURL = [NSURL URLWithString:@"http://d.hatena.ne.jp/iphone_dev"]; [[UIApplication sharedApplication] openURL:myURL]; ■ 自作のアプリケーションのURL schemeを指定する Info.pist内に、CFBundleURLTypesというDictionaryのArrayを用意。 各Dictionaryには、CFBundleURLName(reverse-DNSスタイルの一意な識別し)とCFBundleURLSchemes(schemeの文字列)を入れる。 CFBundleURLTypes CFBundleURLName jp.ne.hatena.iphone_dev.MyApp CFBu
MacOSXでツールを作っていたときに,Instrumentsでメモリリークテストをしているときに気付いた・・・. 私の間違いだと思うのだが,気になるのでブログでも書いて反応を見てみる. 環境:MacOSX10.5.3(9D34) NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSMutableArray* list = [NSMutableArray array]; int i; for( i = 0; i これを実行するたびに,少しずつメモリがリークしていく.[dict description]をコメントアウトすると,メモリリークは起こらない. Instrumentsを使ってもLeakでは検出できず,ObjectAllocで総量を見ていくしかない.
8月3 Custom Sheet のWindowを親Windowと同じxibに作る 自分でレイアウトしたシートのWindowは、Appleのドキュメント(Using Custom Sheets)では別なxibの中に作る方法で紹介されていますが、よく考えたらシートの親Windowと同じxibにあっても全然平気なことに気が付きました。 シート表示用に、SheetControllerクラスを作ります。 SheetTestController.h @interface SheetTestController : NSObject { IBOutlet NSWindow *mainWindow; //親Window IBOutlet NSWindow *sheetWindow; //シートのWindow } - (IBAction)showSheet:(id)sender; // 親Windowでシ
Mac用のアプリケーションは開発するのが難しいとよく言われます。 実際、難しいですし、MacOSXでの開発で使うObjective-Cも非常に変態的個性的で習得の壁も高いような気がします。 しかし、最近では少し事情も変わってきてさくさくっと開発できるようにもなってきています(もちろん、その先には大きな壁が立ちはだかってはいるのですけど)。 今回は、CoreDataというフレームワークを使って、コードを書かずに(一行も!)アプリケーションを作ってみます。 まるで魔法のようにアプリケーションが完成するので、ぜひ、実際に手を動かしてみてください。 Xcodeを起動する まず、開発環境であるXcodeを起動します。 HDD内のDeveloper/Applicationsの中に入っています。 もし、まだXcodeをインストールしていない場合は再度インストールを行う必要があります。 以下のリンク先のド
minu*1を起動すると、常にメニューバーには水色の水平ラインが表示される。ライン境界にぼかしが入って見た目は優しくなったが、必要性が無い時まで表示されているのは無駄だし、他の作業の邪魔にもなる。やはり普段はその存在を隠して、必要な時だけ瞬時に利用できるというのが目指すところだ。 目指す仕様 通常は水色の水平ラインは非表示にしておく。 マウスがスクリーン一番上にタッチした時だけ、水色の水平ラインを表示する。 クリックしたら、minuをアクティブにする。水色の水平ラインは表示され続ける。 もう一度クリックしたら、直前のアプリケーションに戻る。水色の水平ラインは非表示にする。 マウスが一旦スクリーン一番上から離れるまで、水色の水平ラインは非表示の状態をキープする。 マウスの出入りを監視する Cocoa環境でマウスの出入りを監視するためには、NSViewに対してaddTrackingRectの設
「スラーダーを動かすと、連動してテキストフィールドの数値が変化する」という単純なサンプルアプリを作ってみた。 詳細な仕様としては... Sliderを動かすと、連動してTextFieldの数値が変化する。 TextFieldに数値を入力すれば、Sliderが数値に対応した位置に移動する。 Cocoaフレームワークでのはじめの一歩、Hello World的なコードだ。上記の仕様を実現するために、かつては以下のような作業をしていた。 伝統的なターゲット・アクションによる方法 ウィンドウにスライダーとテキストフィールドを配置する。(スライダーのContinuousはチェックありに*1) NSObjectを追加して、AppControllerを作る。(モデル、コントローラー兼用) AppControllerにアクション(GUIの操作に対応したメソッド)updateSlider:とupdateTex
以下のページを参考に「通貨換算機(Currency Converter)」を作ってみる。このサンプルコードは素晴らしい!CocoaBindingの理解が自然と深まった。日本語訳に深く感謝! 例:バインディングを使った通貨両替計算機 例:通貨両替計算機の拡張 例:初期設定ペイン 素晴らしいサンプルであるのに、本家Appleの更新履歴を確認すると、どうもずいぶん前に削除されてしまったようだ。非常ーに残念。HMDTさんのページも移転に伴い、日本語訳が残されているのは旧サイトのようだ。どうかいつまでも、上記ページが見られますように! ということで、実際に「通貨換算機(Currency Converter)」を作って試してみた時のメモ。詳細な解説については上記ページがあるので、ここでは自分が気付いた要点のみ。 表計算ソフトで自動再計算するようにBindingする方法 ユーザーインターフェース Exc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く