2012年2月14日火曜日

iphoneアプリを実機で動かす まとめブログ

いよいよアプリができてきたので、
いよいよ実機で動かそう!
ということで、いろんなブログを参考にしながら設定させていただきました。

今日は参考になったブログのまとめです。

一番わかりやすかったサイトはこれ

■アプリを実機で動かす
http://kentaro-shimizu.com/lecture/iphone/step3.html

画像もついていて、丁寧に説明してくれているので、
とてもわかりやすかったです。
最初にここのブログの手順にそって進めていきました。

ここのブログに書かれていないことで、注意することがいくつかあったので追記します。

・APP IDsは一度作ったら削除ができない

私はいろいろ試そうとして、適当に作りすぎて消せなかったのでかなり後悔。。
ゴミIDが増えてしまうので、みなさんは気をつけて下さい。

・APP IDsの上手な付け方

[Bundle Identifier(App ID Suffix)]:アプリ識別子
Bundle Identifier には、ドメイン名を逆順にしたような文字列("jp.xxxx.aa" みたいな感じ)を指定します。

ワイルドカード(".*")を末尾に追加する事で(例えば "jp.aaa.bbb.*")、1つの App ID でいくつものアプリを開発ターゲットの iPhone 上で動作させる事が出来るので、「*」を最後につけるのがいいと思います。

私はここを読み飛ばして、*のみで登録しましたが、うまくいきました。


■実機だよ!全員集合

いつもお世話になっている、サルできさんのブログです。
相変わらずの口調で、楽しく進めることができると思います。


■自作iPhoneアプリをDevelopper登録せずに実機で動かす方法iOS5,XCode4.2対応

私の場合は、apple developper に登録してしまったので、
参考にしませんでしたが、こんな裏技もあるなんて知りませんでした。

年間、1万円近くもDevelopper登録で払いたくないという方にはおすすめ。

(Developper登録、1万円かかると思っていましたが、
私が登録したときは8000円で消費税込みで8400円でした。
円高の影響??なのでしょうか。。)

■木田めも

いろいろ注意点も書いてあって、
すごくわかりやすかったです!


ぜひぜひ参考にしてみてください!

アプリを実機で動かす コンパイラ時のエラー

久しぶりの日記になります。
いろいろ勉強して、アプリ作ってみようということで、
頑張っていました。

実機でiphoneアプリを動かすときに、
ずーっとエラーで悩んでいたのが解決したのでメモ。


Code sign error: certificate identity‘iPhone Distribution: (設定している名前)’ appears more than oncein the keychain. The codesign tool requires there only be one.


ずっとこれが出ていて悩んでいたのですが、
「キーチェーンアクセス」の証明書の名前がかぶっていたものを削除したら、
ちゃんと動くようになりました!!

コンパイラしたら、自分のiphoneにアプリがしっかり入りましたよ。
ぐふふ

2012年2月5日日曜日

ちょっとづつアプリの制作が楽しくなってきた

少し壁にもぶつかったけど、
少しずつアプリの制作が楽しくなってきました。

まだまだ全然たいしたものは作れませんが、
それでも大丈夫です!!!!!!

ちょっとづつ頑張るのだー★

今はチュートリアルを使って勉強しながら、
どんなアプリがいいか考え中。

調子にのってphotoshopとかも買ってしまおうかしら。。
楽しみだなー◎

メモリの解放についてobjective-c

Objective-cについて、
iphone上でのObjective-Cは、
ガベージコレクションのようなメモリの自動解放がありません。

そのため、
手動で解放するロジックをコーディングしないといけません。


関連メソッド説明
retainオブジェクトを確保する。
対象オブジェクトが必要な場合はretainで確保しておく。
releaseオブジェクトを解放する。
対象オブジェクトが不要になった場合は、releaseで解放する。
autoreleaseオブジェクトの解放は自動でされる。



■releaseが必要な場合

以下のようにオブジェクトを生成された場合はreleaseが必要です。
  • [[xxx alloc] init];
  • [[xxx alloc] initWith~];

■releaseが不要な場合

以下のようにオブジェクトが生成された場合はreleaseが不要です。
  • [[[xxx alloc] init] autorelease];
  • [[xxx alloc] xxxWith~];

autoreleaseがなく、initで生成されているときには、
メモリを解放しようと思っておいたらいいかもしれないですね。

2012年2月4日土曜日

UItableViewのまとめ

今日は、UItableViewについて勉強したので、
ちょっとまとめたいと思います。


■タイトルの設定

self.title = @"タイトル";


■セクション数の設定

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}


returnの数を変えることで、セクションの数を変更できます。

■テーブルの行数を設定できる

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 3;
}



numberOfRowsInSection エラーが出ないのに表示されない

ずーっとはまってしまって悔しかったのでメモ。

//テーブルの行数を設定します。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.functions count];
}


ずっとSが小文字のsでわからなかった、、
特にエラーもでてないので。

Objective-cでは、大文字、小文字の違いがかなり重要!!!!
ということを学びました。


//テーブルの行数を設定します。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInsection:(NSInteger)section {
return [self.functions count];
}

//テーブルの行数を設定します。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.functions count];
}


ぜんぜん気づけなくて、
30分くらいはまってた。。

みなさんもお気をつけ下さい!

ナビゲーションバーの背景色の指定について

■何も指定しない














こんな灰色みたいな感じです。


■スタイルを指定

self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;


UIBarStyleBlackOpaqueを指定すると、
黒いグラデーションに、白い文字の表示になりました。



■緑色を指定してみる













self.navigationController.navigationBar.tintColor = [UIColor greenColor];

self.navigationController.navigationBar.barStyleではなく、
self.navigationController.navigationBar.tintColor にすると、色を指定することができます。


今回は緑にしてみあしたが、
ちょっとまぶしいですね。。

■背景のように、RGBで指定することもできます。















self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:0.601 green:0.837 blue:0.408 alpha:1.0];


背景色を指定したときとおんなじですね。