Hatena::Groupiphone-dev

3ヶ月でiPhoneアプリを1本作る日記 RSSフィード

参考になった記事があれば☆をぽちっとしていただけると

2014-01-11

iOS7でdeprecatedになっていたメソッド はてなブックマーク - iOS7でdeprecatedになっていたメソッド - 3ヶ月でiPhoneアプリを1本作る日記

とても久しぶりに・・・。

UIImagePickerControllerのメソッド

  • (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo

は非推奨になっているので、こちらを使う。

  • (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;

以下、これらも非推奨になっているので新しいものに。

[self presentModalViewController:viewController animated:YES];


[self dismissModalViewControllerAnimated:YES];

 ↓

[self presentViewController:viewController animated:YES completion:nil];


[self dismissViewControllerAnimated:YES completion:nil];

久しぶりにはてなグループ使ったら、進化してないっぷりにびっくりした。(もう使ってる人いなそう…)

2010-09-10

とあるアイディア… はてなブックマーク - とあるアイディア… - 3ヶ月でiPhoneアプリを1本作る日記

d:id:yamaryoxxxx:20100908#1283952232

実は最初に作ったアプリはまさにこれ。

「RemoteVibe」ってやつ作った。P2P通信でiPhone2台で…(ry

社内では発表したんだけど、Appleの審査通れず無念な思いをした。

機会があればどこかで出したい。

f:id:sohei:20100910124714j:image:h200

2010-07-22

[]iTunes経由でアプリを配布できるipaファイルの作成方法 はてなブックマーク - iTunes経由でアプリを配布できるipaファイルの作成方法 - 3ヶ月でiPhoneアプリを1本作る日記

Build and Archive → ビルド完了後オーガナイザが開く →「Archived Applications」 → ビルドした日付のものを選択して「Share Application」 → Identityでprofileを選択 → 「Save to Disk」で保存

画像付きの詳しい説明はこちら(英語)

2010-05-25

[]自動スリープさせない方法 21:05 はてなブックマーク - 自動スリープさせない方法 - 3ヶ月でiPhoneアプリを1本作る日記

http://d.hatena.ne.jp/uosoft/20090524/1243150401

[][]iPad/iPhoneユニバーサル対応にするための設定 21:05 はてなブックマーク - iPad/iPhoneユニバーサル対応にするための設定 - 3ヶ月でiPhoneアプリを1本作る日記

http://labs.techfirm.co.jp/ipad/cho/403

http://blog.myrss.jp/archives/2010/04/iphone_ipad.html

[]上部メニューバーを非表示にする方法 21:15 はてなブックマーク - 上部メニューバーを非表示にする方法 - 3ヶ月でiPhoneアプリを1本作る日記

xxx-info.plist で「Status bar is initially hidden」項目を追加してチェックを入れる。

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];

でもできるみたい。

2010-05-24

[]NSThreadを使ったスレッド処理 21:34 はてなブックマーク - NSThreadを使ったスレッド処理 - 3ヶ月でiPhoneアプリを1本作る日記

スレッドを生成するには detachNewThreadSelector を使う。

実行されるメソッド自体が自動解放プールの管理を行う必要がある。

[NSThread detachNewThreadSelector:@selector(hogehoge)
						 toTarget:self withObject:self];

- (void)hogehoge {
	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
	
	// 処理

	[pool release];
	[NSThread exit]; // 途中でスレッドを終了する
}

参考:d:id:akio0911:20080419:1208580295

[]Sleepのような処理 21:34 はてなブックマーク - Sleepのような処理 - 3ヶ月でiPhoneアプリを1本作る日記

sleep のように一定時間カレントスレッドの実行を中断させる

[NSThread sleepForTimeInterval:10.0];

2010-04-14

[]iPhone SDK4 beta入れて新規プロジェクトを作り3.xモードで動かすとエラーになる 21:52 はてなブックマーク - iPhone SDK4 beta入れて新規プロジェクトを作り3.xモードで動かすとエラーになる - 3ヶ月でiPhoneアプリを1本作る日記

新規プロジェクト作って、何も変更せずにそのまま動かしただけ。

シミュレータ(Ver 3.1.3)で動かすと落ちる。こんなエラーが出ている。

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIWindow 0x391e740> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key rootViewController.'

海外の掲示板とかでも同様の問題が報告されている。

だけど、解決策は分からず…。

Xcode戻すしかないのかなぁ。

[]「はじめてのiPhone3プログラミング」 22:15 はてなブックマーク - 「はじめてのiPhone3プログラミング」 - 3ヶ月でiPhoneアプリを1本作る日記

「Beginning iPhone Development」の翻訳本。

最近買ってみたんだけど、この本いいね。説明しっかりしてるし、内容も十分。

はじめてのiPhone3プログラミング

はじめてのiPhone3プログラミング

adinforssadinforss2010/04/16 19:26戻すしかないみたいです・・・
僕も3.2ベータで同じ目に遭いました。
もうベータ版はインストールしないと心に誓いましたw

soheisohei2010/04/17 00:12みたいですね…。まぁインストールし直しだけで済むのでまだ良かったですが…。

AiraAira2011/09/15 20:25You're the graeetst! JMHO

hqcsixlzlmkhqcsixlzlmk2011/09/16 16:41ZCNl5G <a href="http://cwxhzzytvblp.com/">cwxhzzytvblp</a>

acnhhkywobgacnhhkywobg2011/09/16 22:072wH7sh , [url=http://apwnhskptlxu.com/]apwnhskptlxu[/url], [link=http://rgiuqkebebde.com/]rgiuqkebebde[/link], http://eoyeyvbgmgkb.com/

xcaxbkggitkxcaxbkggitk2011/09/19 21:07wljJTs , [url=http://llbhtvaquqpy.com/]llbhtvaquqpy[/url], [link=http://pqcxuillypgg.com/]pqcxuillypgg[/link], http://rcmqixuqyzmi.com/

2010-04-13

[]アプリケーションアイコンに光沢がつかないように設定する方法 15:23 はてなブックマーク - アプリケーションアイコンに光沢がつかないように設定する方法 - 3ヶ月でiPhoneアプリを1本作る日記

f:id:sohei:20100413152605j:image

昨日iPhoneを見ていたら、アプリのアイコンに"光沢"がついているものとついていないものがあることに気が付いた。

これって、どこかで設定できるのだろうかと。

iPhoneヒューマンインターフェイスガイドライン(PDF)」を読んでいたら、その答えがあった。

選択すれば、Phone OSがアイコンに光沢を追加しないようにすることもできます。それには、

アプリケーションのInfo.plistファイルにUIPrerenderedIconキーを追加します

2009-12-27

[][]NSBundleでファイルの読み込み 00:53 はてなブックマーク - NSBundleでファイルの読み込み - 3ヶ月でiPhoneアプリを1本作る日記

NSString* path = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"txt"];
NSString* fileContents = [NSString stringWithContentsOfFile:path];

ofType で拡張子を指定するんだけど、js だったらなぜか読み込めない。これって使える拡張子が決まっているのだろうか…。

KishikawaKatsumiKishikawaKatsumi2009/12/28 20:12*.js はデフォルトでソースファイルとして扱われるのでバンドルに含まれないんですよ。
ターゲット>[アプリ名]>ソースをコンパイル
と開いて、*.js ファイルを「バンドルリソースをコピー」の方にドラッグして、再ビルドすればバンドルから読み込めるようになります。

ちなみに、
[[NSBundle mainBundle] pathForResource:@"filename.txt" ofType:nil];
のように、リソース名に拡張子を含めれば、2つ目の引数は無くてもいいです。

soheisohei2009/12/29 11:05KishikawaKatsumi様、
なるほど、そういうことなんですね。理解できました。御丁寧に説明ありがとうございました!

2009-12-23

[][]加速度センサを使う 23:42 はてなブックマーク - 加速度センサを使う - 3ヶ月でiPhoneアプリを1本作る日記

- (void) testAccelerometer {
	// 加速度センサのインスタンスを作成
	UIAccelerometer* accelerometer;
	accelerometer = [UIAccelerometer sharedAccelerometer];
	accelerometer.updateInterval = 0.3f;
	accelerometer.delegate = self;
}

// 加速度センサ検出
- (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration {
	NSLog(@"x=%f, y=%f, z=%f", acceleration.x, acceleration.y, acceleration.z);
}

このように簡単に取得できるんだけど、これをどう使うかが難しいところだね…。

振ったのを検出するのに、とりあえずこんな感じでやってみた。もっと良い方法あるかなぁ?

accelerometer.updateInterval = 0.3f;

if(abs(acceleration.x) > 0.3 || abs(acceleration.y) > 0.3) {

2009-12-20

[][]レイヤーを使ったアニメーション 11:46 はてなブックマーク - レイヤーを使ったアニメーション - 3ヶ月でiPhoneアプリを1本作る日記

アニメーションの処理方法は3種類あるで書いた2つめの方法。

レイヤーを使った方法だとこんな感じ。

UIImage* image=[UIImage imageNamed:@"image.png"];
//レイヤーの生成
CALayer* layer=[CALayer layer];
[layer setBounds:CGRectMake(0,0,image.size.width,image.size.height)];
[layer setPosition:CGPointMake(60,60)];
[layer setContents:(UIView*)image.CGImage];
[self.view.layer addSublayer:layer];

//レイヤーアニメーションの生成
CABasicAnimation* anime=[CABasicAnimation animationWithKeyPath:@"position"];
anime.duration = 1.0f;
anime.autoreverses = YES;
anime.repeatCount = 999;
CGPoint position = layer.position;
anime.fromValue = [NSValue valueWithCGPoint:position];
position.x += 200;
anime.toValue = [NSValue valueWithCGPoint:position];
[layer addAnimation:anime forKey:@"anime"];

アニメーションを停止するには、removeAnimationForKey メソッドを使う。

[layer removeAnimationForKey:@"anime"];

[]layerの重なり順を設定する 00:09 はてなブックマーク - layerの重なり順を設定する - 3ヶ月でiPhoneアプリを1本作る日記

addSublayer だと、一番前面に表示されるようになる。

例えばUIコントロールがあってその背面に表示させたい場合などは、insertSublayer を使ってindexを指定すると良い。

[self.view.layer insertSublayer:layer atIndex:0];