class-dumpというクラスのヘッダー情報表示ツールがあることを、木下誠氏の本で知った。
(以下のページに同じ情報があった)
http://journal.mycom.co.jp/column/objc/001/index.html
そこで、ダウンロードして使おうとしたが、
どうもMac Portでインストールした方が早そうだと思われ、
まずMac Portをインストールすることに。
http://www.macports.org/install.php
そして、
sudo port install class-dump
でインストール。
これでclass情報のダンプがとれる、というのだから楽しみです。
臆面もなくド素人ぶりを晒しながら、 iOS(Mac)上で実現したいものを創っていくための学習メモブログです。web上の参考資料は英語が多いので、英語の世界に迷い込んで試行錯誤。がむばろうニッポン。 (誤謬がありましたら、コメント等でお教え下さい)
2011年1月30日日曜日
2011年1月27日木曜日
テンプレートに学ぶ
これまで、プロジェクトの制作時に選択するテンプレートにあまり注目していませんでした。
が、よく考えてみれば、いろいろな基礎コードの書き方を教えてくれる模範例だと気づき、
ちょっと使ってみたことの無かったテンプレートを使ってみました。
勉強になりますね。
やはり、餅は餅屋。
右も左もわからない状態を少し抜けたら、
各テンプレートを、ニーズに合わせて見てみると、とても勉強になると気づけて、少し幸せでした。
が、よく考えてみれば、いろいろな基礎コードの書き方を教えてくれる模範例だと気づき、
ちょっと使ってみたことの無かったテンプレートを使ってみました。
勉強になりますね。
やはり、餅は餅屋。
右も左もわからない状態を少し抜けたら、
各テンプレートを、ニーズに合わせて見てみると、とても勉強になると気づけて、少し幸せでした。
ラベル:
Objective-C,
脱初心者の道
デリゲートの理解へ向けて
iOSの概念で、「デリゲート」がなかなか十分理解できなかったのですが、
二冊の本がためになっています。
「詳解Objective-C2.0」(荻原剛志著 Softbank Creative刊)のP352からに、4ページにわたる文章での解説があり、勉強になりました。
P117 Delegateの基礎解説(Application Delegateについて)
二冊の本がためになっています。
「詳解Objective-C2.0」(荻原剛志著 Softbank Creative刊)のP352からに、4ページにわたる文章での解説があり、勉強になりました。
また、「基礎からのiOS SDK」(鶴薗賢吾著 Softbank Creative刊)という本が複数のフローチャートを使った解説を掲載しており、
分かりやすく解説されていてためになりました。
P117 Delegateの基礎解説(Application Delegateについて)
P311 UIPickerViewDelegate
P322 UITextViewDelegate
P333 UIActionSheetDelegate
などについて、かなり詳細な解説あり。
他にも、この本は解説に良い図説がたくさん提供されており、
ためになっています。(あくまで自分の感想です)
(それにしてもこれまで、10冊以上iPhoneアプリ製作本を買いましたが、自分の場合は少なくとも1,2冊で全容や詳細を理解するのは無理でした。かなりの出費になりましたが、複数の本を併せて参照することで、各本の強みとなっている解説などで補完されて助かります。ほんと、かなりの出費ですが。。。。)
(それにしてもこれまで、10冊以上iPhoneアプリ製作本を買いましたが、自分の場合は少なくとも1,2冊で全容や詳細を理解するのは無理でした。かなりの出費になりましたが、複数の本を併せて参照することで、各本の強みとなっている解説などで補完されて助かります。ほんと、かなりの出費ですが。。。。)
ラベル:
Objective-C,
UI,
学習本
2011年1月25日火曜日
Git、使用開始
Gitを使用し始めました。
Xcode4からは標準でサポートされますので、Gitがいいかな、と思い。
GitだとSubversionのようにリポジトリから一度working copyに落としてくる、という必要が無く、作業領域とgitのリポジトリが同じ場所にある、ということが大変気に入りました。
(「入門Git」Travis Swicegood著 でびあんぐる監訳 が自分のような初心者にはいい本でした。)
http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/gittutorial.html
ここも勉強になります。
terminalを開いて、cdでリポジトリにしたい場所へ移動し、
git initで初期化。
そして、
git add <file names~~>
のようにファイルやフォルダを指定してやると、最初のコミットが完了。
まだ基礎がわかりきっていないので、これから勉強です。
Xcode4からは標準でサポートされますので、Gitがいいかな、と思い。
GitだとSubversionのようにリポジトリから一度working copyに落としてくる、という必要が無く、作業領域とgitのリポジトリが同じ場所にある、ということが大変気に入りました。
(「入門Git」Travis Swicegood著 でびあんぐる監訳 が自分のような初心者にはいい本でした。)
http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/gittutorial.html
ここも勉強になります。
terminalを開いて、cdでリポジトリにしたい場所へ移動し、
git initで初期化。
そして、
git add <file names~~>
のようにファイルやフォルダを指定してやると、最初のコミットが完了。
まだ基礎がわかりきっていないので、これから勉強です。
ラベル:
git
2011年1月21日金曜日
Xcode4ベータ、かなりいい感じ
Xcode4のベータを落としてみました。
まだ触りたてですが、いい感じです。
http://developer.apple.com/jp/technologies/tools/whats-new.html
「バージョン管理を、SVNでなくGitでいこうか」と思い始めていたら、
ちょうどXcode4はGitもサポートする、というので落としてみました。
複数プロジェクトの扱いも改善され、好印象です。
Xcode3と4はプロジェクトを共有できて、
どちらで編集しても、もう一方でもOK、ということなので、
本番コンパイル以外は4で書いていってみようかな、と思ったりしています。
(まだよく調べてないので、問題がありそうなら3で再開しますが。)
正式リリースはいつなのか、楽しみです。
まだ触りたてですが、いい感じです。
http://developer.apple.com/jp/technologies/tools/whats-new.html
「バージョン管理を、SVNでなくGitでいこうか」と思い始めていたら、
ちょうどXcode4はGitもサポートする、というので落としてみました。
複数プロジェクトの扱いも改善され、好印象です。
Xcode3と4はプロジェクトを共有できて、
どちらで編集しても、もう一方でもOK、ということなので、
本番コンパイル以外は4で書いていってみようかな、と思ったりしています。
(まだよく調べてないので、問題がありそうなら3で再開しますが。)
正式リリースはいつなのか、楽しみです。
ラベル:
Xcode
2011年1月13日木曜日
アプリの高速化についてメモ
iPhoneアプリ高速化の5つのノウハウ、という記事をあげておられたので、メモメモ。
http://son-son.sakura.ne.jp/programming/iphone_sdk.html
背景に透過を使うと処理が遅くなるんですね。
考えてみりゃそりゃそうだな、と納得。
xibファイルからのインスタンスを減らす、というのは当然でしょうね。
まあ、自分はまだ初心者なので、これからだんだんIBからの離脱を試みます。
http://son-son.sakura.ne.jp/programming/iphone_sdk.html
背景に透過を使うと処理が遅くなるんですね。
考えてみりゃそりゃそうだな、と納得。
xibファイルからのインスタンスを減らす、というのは当然でしょうね。
まあ、自分はまだ初心者なので、これからだんだんIBからの離脱を試みます。
ラベル:
Objective-Cメモ
ドキュメント化されていないクラス、メソッド等のトレース
ドキュメント化されていないクラス、メソッドをハックするため、トレースする方法があると、教えていただきましたので、リンクメモ。
http://son-son.sakura.ne.jp/programming/iphone_sdk_6.html
エリカ・サドゥンさんの「iPhoneデベロッパーズクックブック」P267には、コントローラーの階層構造を把握する方法が書かれています。引用はアウトっぽいので引用できませんが。
http://translated.by/you/iphone-developers-cookbook-building-native-applications-for-the-iphone-1/original/?page=9
ただ、このページには引用されていました(汗
http://son-son.sakura.ne.jp/programming/iphone_sdk_6.html
エリカ・サドゥンさんの「iPhoneデベロッパーズクックブック」P267には、コントローラーの階層構造を把握する方法が書かれています。引用はアウトっぽいので引用できませんが。
http://translated.by/you/iphone-developers-cookbook-building-native-applications-for-the-iphone-1/original/?page=9
ただ、このページには引用されていました(汗
ラベル:
Objective-Cメモ
2011年1月12日水曜日
NDAをほとんど認識してませんでした。
これまで、「NDA」(秘密保持規約)というものをほとんど認識していませんでした(汗
が、公開された情報に関しては大丈夫ということになっている様子。
http://kozy.heteml.jp/l4l/2009/06/iphoneiphone-sdk-nda.html
2008年10月までは非常に制限が厳しかったのですね。
遅まきにやってきたので、認識が甘かったかもしれませんが、
ドキュメントとして公開されている部分は大丈夫、ということのようなので、
これまでの投稿は大丈夫かな、、と思ったり。
が、公開された情報に関しては大丈夫ということになっている様子。
http://kozy.heteml.jp/l4l/2009/06/iphoneiphone-sdk-nda.html
2008年10月までは非常に制限が厳しかったのですね。
遅まきにやってきたので、認識が甘かったかもしれませんが、
ドキュメントとして公開されている部分は大丈夫、ということのようなので、
これまでの投稿は大丈夫かな、、と思ったり。
ラベル:
developer登録
2011年1月11日火曜日
signedとunsigned
signedとunsignedは、intやshort(16ビット)やlong(32ビット)で負の値があるかどうか、ということらしい。
メモメモ。
メモメモ。
ラベル:
Objective-Cメモ
2011年1月10日月曜日
IBOutletの@property内での記述メモ
自己メモです。
@property の記述内で「IBOutlet」を記述する。
@interfaceの中では書かず。
例
@property (nonatomic ,retain) IBOutlet UILabel *label;
@property の記述内で「IBOutlet」を記述する。
@interfaceの中では書かず。
例
@property (nonatomic ,retain) IBOutlet UILabel *label;
ラベル:
Objective-Cメモ
2011年1月9日日曜日
英語の壁
HTML/CSSやPHPを覚えようとしたときも
1、英語そのもののハードル
2、技術単語、という普通の英語教育ではほぼお目にかからないものを解読するハードル
の2つがありますが、
まあ、根気と慣れとネット&辞書が頼りですね。
技術単語も、一度意味を調べて、だいたいつかんで、その後は文脈の中で何度も出てくるたびに再確認すると、いつの間にか普通にスンナリ意味が取れるようになったりする。
そんなときは嬉しいもので。
iPhoneアプリ制作を覚えようとしている今も、
ドキュメントをはじめとする「英語」がハードルになっています。
英語環境にある人々は、
プログラミングやweb技術に関して、アドバンテージがある。
非英語圏の我々日本人などは、やはりハンデがある。
1、英語そのもののハードル
2、技術単語、という普通の英語教育ではほぼお目にかからないものを解読するハードル
の2つがありますが、
まあ、根気と慣れとネット&辞書が頼りですね。
技術単語も、一度意味を調べて、だいたいつかんで、その後は文脈の中で何度も出てくるたびに再確認すると、いつの間にか普通にスンナリ意味が取れるようになったりする。
そんなときは嬉しいもので。
ラベル:
雑感
IMEを実装したい。その1
iPhoneでUITextViewにIMEを実装させたいのだが、
どのようにするのか、そもそも実装できるのか分からず模索中です。
MacだとInputMethodKitなるものがTigerから備わっており、
独自のIMEも作れる様子。(以下、勉強になったページ)
http://www.slideshare.net/kimuraw/inputmethodkit-3193813
しかし、iPhoneで一開発者のアプリがIMEを使えるのかまだ不明。
InputMethodKitはiPhoneでは使えるのだか、どうだか。。
ATOK Padでは独自IMEが動いていますが、独自でIME作るような力はないので(Social IMEも面白そうだが。)、もともと備わっているIMEが使いたい。
で、色々学習中です。
そもそも、iPhoneアプリ制作が初心者なので、いきなり敷居が高い気もするが、
一番まず実現したいことなので、かならず方法を見つけたい。
:::::::::::::::::::::::::
今のところ、UITextInput Protocolが近いものではないかと学習中。
しかし、ドキュメントを読みこなすのに、英語のおべんきょうが必要ですね。。
:::::::::::::::::::::::::
追記2:このサイトの方が独自IMEについて言及しておられる。
http://d.hatena.ne.jp/chamekan/20100220
やっぱり非公開メソッドの様子ですが、なんとか実装まではこぎ着けられそうですね。
(わざわざ当エントリをご覧になって、修正および加筆までしてくださいました。大変ありがとうございました。)
:::::::::::::::::::::::::
追記3:
UIKeyboardImplに関しての追記。
http://www.hirano-dept.com/blog/2010/12/ipadmodal-uitextfield-resignfirstresponder.html
ここから、
http://stackoverflow.com/questions/2762251/how-to-hide-the-ipad-keyboard-from-a-modal-view-controller
ここへ飛び、
AppleがPrivate APIを使ったらリジェクトしないか、といったことを話しあっている。英語。
ちょっと参考になりそうだったので、メモを残します。
どのようにするのか、そもそも実装できるのか分からず模索中です。
MacだとInputMethodKitなるものがTigerから備わっており、
独自のIMEも作れる様子。(以下、勉強になったページ)
http://www.slideshare.net/kimuraw/inputmethodkit-3193813
しかし、iPhoneで一開発者のアプリがIMEを使えるのかまだ不明。
InputMethodKitはiPhoneでは使えるのだか、どうだか。。
ATOK Padでは独自IMEが動いていますが、独自でIME作るような力はないので(Social IMEも面白そうだが。)、もともと備わっているIMEが使いたい。
で、色々学習中です。
そもそも、iPhoneアプリ制作が初心者なので、いきなり敷居が高い気もするが、
一番まず実現したいことなので、かならず方法を見つけたい。
:::::::::::::::::::::::::
今のところ、UITextInput Protocolが近いものではないかと学習中。
しかし、ドキュメントを読みこなすのに、英語のおべんきょうが必要ですね。。
:::::::::::::::::::::::::
追記1:Erica Sadun女史のサイトにUIKeyboardImplについての記事がありました。
これも怪しい。。
:::::::::::::::::::::::::
追記2:このサイトの方が独自IMEについて言及しておられる。
http://d.hatena.ne.jp/chamekan/20100220
UIKeyboardImplに対してとのこと。素晴らしい。addInputText:addInputString:@"watasi "などとスペース込みで送信してみると、ちゃんとIMEも働いてるようである。
やっぱり非公開メソッドの様子ですが、なんとか実装まではこぎ着けられそうですね。
(わざわざ当エントリをご覧になって、修正および加筆までしてくださいました。大変ありがとうございました。)
:::::::::::::::::::::::::
追記3:
UIKeyboardImplに関しての追記。
http://www.hirano-dept.com/blog/2010/12/ipadmodal-uitextfield-resignfirstresponder.html
ここから、
http://stackoverflow.com/questions/2762251/how-to-hide-the-ipad-keyboard-from-a-modal-view-controller
ここへ飛び、
AppleがPrivate APIを使ったらリジェクトしないか、といったことを話しあっている。英語。
ちょっと参考になりそうだったので、メモを残します。
ラベル:
IME
2011年1月8日土曜日
Retina対応画像ファイルのポイント メモ
IB上できれいに写っているのに、Retinaディスプレイでは画像がぼやけていたので、
「そういえば2倍にしなきゃいけないんだったっけな」と思い、検索。
http://design.kayac.com/topics/2010/09/post-30.php
ここによくまとめてくださっている記事がありました。
要するに
”icon@2x.png”
のように、@2xをつけると、Retina対応になる仕様でした。
例えば57x57pxのアイコンが3GSまでのものなら、114x114pxのものをつくり、@2xを名前に付ける、と。
IBを使わない場合は分かりませんが、各画像に@2xを挿入した解像度縦横二倍の画像をおなじresourcesフォルダに入れておいたら、自動的にRetina対応してくれました。
:::::::::::::::::::::::::
一つ失敗したのですが、
最初、
@x2と書いて、高解像度版がRetinaに反映されずしばし悩みました。
よく調べてみると、@2xが正解でした。(2がxの前)
ちょっと間違えやすいですね。
それからは、「@2倍(2x)」と口で唱えながら、2倍画像ファイル名制作しています(笑)。
初めての方はお気をつけを。
「そういえば2倍にしなきゃいけないんだったっけな」と思い、検索。
http://design.kayac.com/topics/2010/09/post-30.php
ここによくまとめてくださっている記事がありました。
要するに
”icon@2x.png”
のように、@2xをつけると、Retina対応になる仕様でした。
例えば57x57pxのアイコンが3GSまでのものなら、114x114pxのものをつくり、@2xを名前に付ける、と。
IBを使わない場合は分かりませんが、各画像に@2xを挿入した解像度縦横二倍の画像をおなじresourcesフォルダに入れておいたら、自動的にRetina対応してくれました。
:::::::::::::::::::::::::
一つ失敗したのですが、
最初、
@x2と書いて、高解像度版がRetinaに反映されずしばし悩みました。
よく調べてみると、@2xが正解でした。(2がxの前)
ちょっと間違えやすいですね。
それからは、「@2倍(2x)」と口で唱えながら、2倍画像ファイル名制作しています(笑)。
初めての方はお気をつけを。
ラベル:
グラフィック
2011年1月6日木曜日
iPhoneアプリ制作に関する金言集へのリンク
iPhoneアプリ制作の現場からつむぎとった金言集をEagleさんのブログがアップしておられ、大変勉強になりました。
アプリ制作者、制作準備者にはかなりためになる情報が詰まっています。
http://www.eagle-inc.jp/rainbows
感謝。
アプリ制作者、制作準備者にはかなりためになる情報が詰まっています。
http://www.eagle-inc.jp/rainbows
感謝。
ラベル:
リンク
2011年1月4日火曜日
タップ数の取得法メモ
タップ数の取得は、touchesクラスでanyObjectに対して、tapCountで取得。
NSInteger tapCount = [[touches anyObject] tapCount];
NSInteger tapCount = [[touches anyObject] tapCount];
ラベル:
touch
2011年1月1日土曜日
最近、Xcodeの「ヘルプ」の立ち上がりが遅い。。
表題の通りですが、最近「ヘルプ」のメニューだけやたら立ち上がりが遅いです。
Xcode3.2.5にて。おかしいなあ。。
あと、ドキュメントのダウンロードしたものが表示されない。
おかしいなあ。。。
ネット上で、キーチェーンの値をチェックしよう、という記述を見かけますが、その記述も見つからず。
うーん。。
:::::::::::::::::::::::::
追記:
キーチェーンアクセス.appの中の、「ログイン」という項目の中に、xcode.connect1.com.apple
という項目があり、そのアカウントが古いもののままだったのが原因でした。
以前、実験的にxcodeをダウンロードしたときのログイン情報が入っており。
アカウントを変更すると、無事表示されるようになりました。
情報を上げてくださっていた方々に感謝。
Xcode3.2.5にて。おかしいなあ。。
あと、ドキュメントのダウンロードしたものが表示されない。
おかしいなあ。。。
ネット上で、キーチェーンの値をチェックしよう、という記述を見かけますが、その記述も見つからず。
うーん。。
:::::::::::::::::::::::::
追記:
キーチェーンアクセス.appの中の、「ログイン」という項目の中に、xcode.connect1.com.apple
という項目があり、そのアカウントが古いもののままだったのが原因でした。
以前、実験的にxcodeをダウンロードしたときのログイン情報が入っており。
アカウントを変更すると、無事表示されるようになりました。
情報を上げてくださっていた方々に感謝。
ラベル:
トラブル
登録:
投稿 (Atom)