5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

[SDK]iPhoneアプリ開発初心者質問箱20[touch][iPad]

1 :名称未設定:2011/11/21(月) 17:52:08.46 ID:aPXxhH9/0
iPhone, iPod touch用アプリケーションの開発を始めたばかりの初心者向け質問スレ。

■質問する前に■
1. 質問は日本語もしくはObjective-Cで
2. どういう内容であれレスをもらったら報告とお礼の言葉を忘れずに。
 回答者は自分の時間を使って親切で回答してくれています。
3. 回答者は自分も初心者であった事を忘れずに。
4. マルチポスト(複数のスレに同じ質問を書込むこと)は厳禁!
5. 質問は可能な限り具体的に。
 ただ「エラーが出ます」ではエスパーかスタンド使いでなければ答えられません。
 エラー内容をちゃんと書きましょう。
6. わからない部分のコードをコピペすると手っ取り早いです。
7. このスレは無料プログラミング教室ではありません。
 「○○の仕方を教えてください」という質問はなるべく避けてください。
 「自分で調べたけどわからなかった事」を質問するというスタンスを忘れずに。
8. バグを安易にOSや開発環境のせいにしない。
 自分の知識の無さを棚に上げて人のせいにするなんて百年早い。

■前スレ
[SDK]iPhoneアプリ開発初心者質問箱19[touch][iPad]
http://hibari.2ch.net/test/read.cgi/mac/1319285523/

■本スレ
iPod touch/iPhone ネイティブアプリ製作 ver.16
http://hibari.2ch.net/test/read.cgi/mac/1312723856/

2 :名称未設定:2011/11/21(月) 17:57:53.13 ID:+kQSZ+6A0
■参考書籍
【入門書】
 電子書籍「iOSの教科書」(ウック/パブー 2011/07、iOS 5/Xcode 4.2暫定対応版)赤松正行、神谷典孝
 iPhone/iPad/iPod touchプログラミングバイブル―iOS 5/Xcode 4対応(ソシム 2011-11)布留川英一
 よくわかるiPhoneアプリ開発の教科書【Xcode 4対応版】(毎日コミュニケーションズ 2011-07)森巧尚
 iOSプログラミング入門 - Objective-C + Xcode 4で学ぶ、iOSアプリ開発の基礎(ビー・エヌ・エヌ新社 2011-06)大津真

【Objective-C/Xcode】
 世界一わかりやすいObjective‐Cプログラミングの授業(ソシム 2011-01)Lepton
 詳解 Objective-C 2.0 改訂版(ソフトバンククリエイティブ 2010-12)荻原剛志
 エキスパートObjective-Cプログラミング(インプレスジャパン/達人出版会 2011-11)坂本一樹
 Xcode 4 入門 for iOS/Mac OS X(秀和システム 2011/09)柴田文彦

【中・上級】
 iPhoneアプリ設計の極意―思わずタップしたくなるアプリのデザイン(オライリージャパン 2011-06)Josh Clark
 iPhoneプログラミングUIKit詳解リファレンス(リックテレコム 2010-01)所友太
 iOS4プログラミングブック(インプレスジャパン 2011-01)畑圭輔ほか
 iOS開発におけるパターンによるオートマティズム(ビー・エヌ・エヌ新社 2011-02)木下誠
 iOSデバッグ&最適化技法 for iPad/iPhone(秀和システム 2010-11)國居貴浩

【テーマ別】
 cocos2dで作る iPhone&iPadゲームプログラミング(インプレスジャパン 2011-06)Steffen Itterheim
 Unityによる3Dゲーム開発入門(オライリージャパン 2011-09)宮川義之、武藤太輔
 iPhoneデジカメプログラミング(ソフトバンククリエイティブ 2011-03)細谷日出海
 iPhone Core Audioプログラミング(ソフトバンククリエイティブ 2009-11)永野哲久

■他
iOS Reference Library (日本語Webドキュメント)
http://developer.apple.com/jp/devcenter/ios/library/japanese.html
App StoreへのiPhoneアプリの登録手順のまとめ(Xcode4環境)
http://www.facebook.com/note.php?note_id=153450554720309

3 :名称未設定:2011/11/22(火) 02:36:43.56 ID:tkBeP3vs0
ARCはdealloc呼ばれますか?

4 :名称未設定:2011/11/22(火) 06:05:36.40 ID:Ho5OluGV0
touchesBeganメソッドで、ピンチイン・ピンチアウトを実装したいので、if ([touches count] == 2) として
ダブルタップのときのみ処理を実行するようにしているのですが、
本当にぴったり同時にタッチしなければ[touches count]は2にならず、
ほとんどの場合、普通のタップが2回起こっただけという結果になってしまいます。

多少ずれてもダブルタップと認識させるにはどのように工夫すればよいのでしょうか。

5 :名称未設定:2011/11/22(火) 06:15:45.98 ID:X4gMtu5U0
それを自分で考るのがプログラミングなのでは?

6 :名称未設定:2011/11/22(火) 06:22:03.96 ID:Ho5OluGV0
そういうのはいいんで。

7 :名称未設定:2011/11/22(火) 06:29:41.46 ID:bZkraRV60
気合と根性と愛だろjk

8 :名称未設定:2011/11/22(火) 06:35:51.96 ID:6RN6wJry0
>>4
一回も調べてないだろ。
UIGestureRecognizerにある。
ちょっとググれば色々出て来るぞ。

9 :名称未設定:2011/11/22(火) 06:56:43.32 ID:Ho5OluGV0
>>8
一応調べましたがUIGestureRecognizerだと細かい操作ができなくないですか。
各タッチの座標によって処理を変えるなど細かいことをしたいんです。


10 :名称未設定:2011/11/22(火) 06:59:43.09 ID:6RN6wJry0
自作する方法もどっかに出てたぞ。
二つのタップの時間的間隔をタイマーで判定するとか、そんな事だよ。

11 :名称未設定:2011/11/22(火) 07:11:02.13 ID:Ho5OluGV0
調べてみます。
どうもありがとうございます。


12 :名称未設定:2011/11/22(火) 09:30:15.27 ID:UMpxoKYk0
質問です。次の3つは、どう使い分けたら良いのでしょうか?
(1)NSMutableString *sample;
(2)NSMutableString *sample = [NSMutableString alloc];
(3)NSMutableString *sample = [[NSMutableString alloc] init];

13 :名称未設定:2011/11/22(火) 09:41:13.28 ID:6RN6wJry0
(1)
NSMutableString型のポインタ変数 sample を宣言。

(2)
NSMutableStringオブジェクトを生成し、そのポインタを変数sampleを宣言して代入。

(3)
NSMutableStringオブジェクトを生成し、インスタンスメソッドinitで初期化、
そのポインタを変数sampleを宣言して代入。

14 :名称未設定:2011/11/22(火) 10:02:37.65 ID:sPYc1gCy0
>>12
(1) はポインタを宣言するだけ。別途代入が必要。
(3) はポインタを宣言すると同時に NSMutableString を生成して代入。

たまに
NSMutableString *str = [[NSMutableString alloc] init];
str = [NSMutableString stringWithFormat:...];
みたいに無駄な初期化をしてるコードを見かけるけど、無駄なのでやめましょう。

(2) は、Objective-C では alloc と init は組み合わせて使う必要があり、
alloc だけを書くのはお勧めできません。

15 :名称未設定:2011/11/22(火) 10:09:07.21 ID:t/MHspMv0
>>11
もう聞きに来ないでね。

16 :名称未設定:2011/11/22(火) 10:09:13.13 ID:626UOljs0
>>14
>たまに
>NSMutableString *str = [[NSMutableString alloc] init];
>str = [NSMutableString stringWithFormat:...];
>みたいに無駄な初期化をしてるコードを見かける
無駄どころか、ARC無効ならメモリリークするよね

17 :名称未設定:2011/11/22(火) 10:14:03.97 ID:Ho5OluGV0
>>15
何がそんなに悔しかった?

18 :名称未設定:2011/11/22(火) 10:31:58.77 ID:sPYc1gCy0
>>3
呼ばれる。dealloc の書き方は、ARC の場合、
・[super dealloc] やインスタンス変数の release は自動生成されるので、不要。
・なので、通常は dealloc 自体書く必要ないが、資源の解放が必要ならそれだけ書けばいい。
ということになった筈。

19 :名称未設定:2011/11/22(火) 10:45:42.04 ID:8aOeVjAS0
以下のコードにおいて
ゲッターのgetGlobalClassesの引数はNSMutableArrayでなければならないと思うのですが
getGlobalClassesの引数がvoidで動いているのはなぜでしょうか

@interface CalcAppDelegate : NSObject <UIApplicationDelegate> {
 NSMutableArray *globalClasses;
}
@property (nonatomic,retain) NSMutableArray *globalClasses;
-(void) getGlobalClasses;


-(void) getGlobalClasses{
    if (globalClasses!=nil) {
        return globalClasses;
    }
    NSMutableArray *newArray=[[NSMutableArray alloc] initWithCapacity:1];
    self.globalClasses=newArray;
    [newArray release];
    return globalClasses;
}


20 :名称未設定:2011/11/22(火) 10:45:57.88 ID:hxXZ9l420
みんなスマートポインタとかATLとかの世代じゃないのね・・・

21 :名称未設定:2011/11/22(火) 10:46:17.79 ID:sPYc1gCy0
>>4
自分は、状態を表すフラグを用意して、

touchesBegin
NSSet *allTouches = [event touchesForView:self]; として、
[allTouches count] == 1 ならフラグを 1 に、2 ならフラグを 2 にする。
また、座標を記録。

touchesMoved
フラグが 1 または 2 かつ、動いた距離が小さければ無視。
フラグが 1 または 2 かつ、動いた距離が大きければフラグをドラッグ中に。
フラグに応じて、1 本指または 2 本指でのドラッグ処理。

みたいなことをしてる。実際はもっと複雑。

22 :名称未設定:2011/11/22(火) 10:46:54.53 ID:Go9G6w400
>>17
自分で何も考えられないクズがえらそうなのが許せなかったんだろw

23 :名称未設定:2011/11/22(火) 10:51:43.44 ID:sPYc1gCy0
>>19
引数? 戻り値じゃなくて?

戻り値 void のメソッドで return 値; すると
・llvm gcc 4.2 は警告
・llvm clang 3.0 はエラー
だね。びっくり。

あと、Objective-C のメソッド名の命名規則では、普通のゲッターは get を付けないよ。

24 :名称未設定:2011/11/22(火) 10:57:42.26 ID:t/MHspMv0
>>22
芽のでない種に水をやるのがバカらしいだけ

25 :名称未設定:2011/11/22(火) 11:07:10.25 ID:Ho5OluGV0
>>21
なるほど。
某ブログではタッチを全てNSMutableArrayにぶち込み、countで数を取得して2個だった時のみ処理を実行するというやり方が載ってました。

>>24
あんたに何か教わった覚えはありませんが。

なんでここの連中ってこんなに偉そうなんだろ?
教師にでもなったつもりなのかな?

26 :名称未設定:2011/11/22(火) 11:11:01.82 ID:X4gMtu5U0
ここは教師が生徒に無料で指南するスレですが何か。

27 :名称未設定:2011/11/22(火) 11:15:12.12 ID:Ho5OluGV0
じゃあ素直に教えたらいいんじゃないかな。
「それを自分で考るのがプログラミングなのでは?」
なんて無駄な書き込みしないでさ。

28 :名称未設定:2011/11/22(火) 11:16:22.28 ID:X4gMtu5U0
>>25
そのブログが何をしているのかしらないが、ドキュメントにはこうある。
「UITouchは絶対にretainするな。もしタッチの情報をとっておきたい場合は、UITouchから情報を取得し、その情報をとっておくこと」
とある。

29 :名称未設定:2011/11/22(火) 11:23:39.69 ID:X4gMtu5U0
調べたが分からなかったところを教えて

素直に教えてあげる


考えるのめんどくさいんで教えて

それを自分で考るのがプログラミングなのでは

30 :名称未設定:2011/11/22(火) 11:30:06.09 ID:Ho5OluGV0
なんか考え方が古いというか時代に合ってませんよね
昭和の人ですか?

31 :名称未設定:2011/11/22(火) 11:35:41.84 ID:sPYc1gCy0
お前は質問する前にスルー力を鍛えろ。

32 :名称未設定:2011/11/22(火) 11:36:42.95 ID:X4gMtu5U0
あと、実際にやれば分かるけど、画面から指が離れても
touchesEnded: withEvent:
が呼ばれない場合が多々あるので、touchesBeganで
「タッチを全てNSMutableArrayにぶち込み」
toucehsEnded(またはtouchesCancelled)でNSMutableArrayから取り除いても、
[array count] は現在画面をタッチしている指の数とは一致しない。

33 :名称未設定:2011/11/22(火) 11:41:00.40 ID:qGxQf0tg0
教えないならスルーしろとか思ってたが、さすがにウザイわ
NGID:Ho5OluGV0

34 :名称未設定:2011/11/22(火) 11:41:55.17 ID:t/MHspMv0
>>25
もう来ないでね

35 :名称未設定:2011/11/22(火) 11:42:59.71 ID:Ho5OluGV0
>>32
じゃあどうすればいいのよ
CFDictionaryを使えばいいの?

36 :名称未設定:2011/11/22(火) 11:44:31.37 ID:t/MHspMv0
>>30
自分で何も調べなくても親切な人が教えてくれるのが時代に合った考え方か。
ゆとり世代って致命的に使えない連中だな。

>>35
ママに聞け

37 :名称未設定:2011/11/22(火) 11:49:30.50 ID:sPYc1gCy0
>>32
touchesEnded が呼ばれない場合があるってのはマジ?
自分は経験ないんだけど。
ってか、touchesEnded が呼ばれないとドラッグ処理の終わりが検出できない…。
[touches count] が当てにならないってこと?

38 :名称未設定:2011/11/22(火) 11:52:36.54 ID:jGvAyfYD0
>>35
この程度の問題を自分で解決できないやつが
恥ずかし気も無く上から目線で質問するとか。
お前の両親、朝鮮人だろ?

39 :名称未設定:2011/11/22(火) 11:54:57.77 ID:Sh3GdUbM0
まあ、金貰って教える訳じゃないからこそ、
教わる側の姿勢は大事なんだがな。

そんなことより、一つ教えてください。

UIView *v; IBでViewに結び付け
UIImagePickerController *c;

c = [[UIImagePickerController alloc] init];
c.sourceType = UIImagePickerControllerSourceTypeCamera;
c.allowsEditing = NO;
c.showsCameraControls = NO;
c.cameraOverlayView.userInteractionEnabled = NO;

[v addSubview:c.view];

こうするとvに、iOS5はカメラモードが表示されるんだけど、
iOS4.0だとタイトルバーだけが表示されるんだけど、
モジュールの仕様ですか?

40 :名称未設定:2011/11/22(火) 11:55:45.12 ID:Ho5OluGV0
>>36
ばいばい
http://www.dotup.org/uploda/www.dotup.org2292894.png

>>38
日本人は人の両親を貶したりしませんよ。


41 :名称未設定:2011/11/22(火) 11:57:06.91 ID:X4gMtu5U0
>>37

指を動かしている最中(touchedMoved: の中とか)に重い処理をさせたりして
プロセスが混んでいる状態だと、呼ばれない場合が増える。
シミュレータでは(処理速度が速いので)起きない。

42 :名称未設定:2011/11/22(火) 12:11:41.16 ID:MYvpyM2b0
Ho5OluGV0の母ですが、うちの息子が何か?<`∀´>

43 :名称未設定:2011/11/22(火) 12:15:29.94 ID:sPYc1gCy0
>>41
なるほどー。ありがとうございます。
対策は、重い処理は裏に回すとか、touchesBegan で前回のドラッグの後始末をするとかですかね。

44 :12:2011/11/22(火) 14:36:51.72 ID:UMpxoKYk0
>>13
>>14
>>16
レスありがとうございます。
下記の(1)は間違いなのでしょうか?間違いでなければ(2)と何が違うのでしょうか?

(1)NSMutableString *sample;
 [sample setString:@"ほげ"];
(2)NSMutableString *sample = [[NSMutableString alloc] init];
 [sample setString:@"ほげ"];

45 :名称未設定:2011/11/22(火) 14:45:45.22 ID:pG2J8a6g0
(1)の方は何も起こらないんじゃね?

46 :名称未設定:2011/11/22(火) 14:50:45.18 ID:MHNOw7Et0
>>44
(1)は=nilで初期化されるから確保されてないわけで何も出来ない

47 :名称未設定:2011/11/22(火) 14:53:17.53 ID:sPYc1gCy0
>>44
[sample setString:@"ほげ"]; ってのは、sample というポインタが指してる先にあるオブジェクトに対して、setString: というメッセージを送っている。
(2) では sample は [[NSMutableString alloc] init] として作った NSMutableString オブジェクトを指してるけど、
(1) では sample はまだ何も指してない。

細かいことを言うと、ARC なら sample は nil (何のオブジェクトも指してないことを表す特別な値) で初期化されるので、本当に「何も指してない」ことが保証される。
で、Objective-C では nil にメッセージを送っても無視されることになってるので、何も起こらない。
ARC でなければ、sample は (ローカル変数なら) ゴミが入ってるので、ゴミに対してメッセージを送ることになり、
何が起こるか分からない。その場でクラッシュする場合もあるし、後で変なことが起こる可能性もある。

この調子でひとつひとつ質問するのはお互いに効率が悪いんで、Objective-C の入門書を読んで基本を理解することをお勧めするよ。

48 :名称未設定:2011/11/22(火) 20:34:09.91 ID:1rYkVg250
あの、
ARCが有効でも
@autoreleaseブロックって必要なのでしょうか?
普通のブロックでもブロック抜ければ解放されると思うのですが、なんか違いますか?


49 :名称未設定:2011/11/22(火) 20:39:21.15 ID:ctlVIQlD0
>>48
今まで NSAutoreleasePool が必要だった所には必要。書き方が変わるだけで、やることは一緒だからね。

50 :名称未設定:2011/11/22(火) 21:35:09.40 ID:LhR5SHiG0
ARCの場合、確保されたものがretainなのかautoreleaseなのかどうやって判断するんだっけ?

51 :名称未設定:2011/11/22(火) 21:51:31.92 ID:V/EfMmjW0
判断する必要がない

52 :名称未設定:2011/11/23(水) 00:31:12.07 ID:oqQ7bhJK0
ARCが有効であれば、autreleaseされたオブジェクトは
@autoreleaseブロック
ではなく
普通のブロックでも、それを抜ければ解放されると思うのですが、そうではないのでしょうか?

53 :名称未設定:2011/11/23(水) 01:35:01.60 ID:B1R0CiX00
いやだから、for文なんかを使ってて大量のオブジェクトが発生し、
普通のブロックを抜ける前にメモリ解放したほうが良い場合に使うの。
ARCのない従来のコーディングでもそういう場面はあり、従来はautoreleasepoolを自分で記述した。

54 :名称未設定:2011/11/23(水) 02:03:00.72 ID:Wiql4lMW0
ループ内だったらautoreleasepoolにためるより手でreleaseした方が良くね?

55 :名称未設定:2011/11/23(水) 02:28:56.89 ID:YVVihsmI0
>>54
自分でallocしてないものにreleaseなんかすんなよ?

56 :名称未設定:2011/11/23(水) 02:46:39.22 ID:s+bAVvKYP
>>53
threadも同じ?

57 :名称未設定:2011/11/23(水) 02:56:25.91 ID:oqQ7bhJK0
for文なんかで大量オブジェクトなんかはそうでしょうけど、
単にコンビニエンスコンストラクタ使って

NSDate *date = [NSDate dateWithNaturalLanguageString:@"11/12/11"];
NSLog(@"%@", date);

とすると、@autoreleaseブロックで囲まないと実行時にこんな感じで怒られるんです。
objc[38396]: Object 0x100115a50 of class __NSCFCharacterSet autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug

58 :名称未設定:2011/11/23(水) 08:23:34.94 ID:21kM44/d0
>>52
ARC を有効にしても、
for (int i = 0; i < 10; i++) {
  NSString *str = [NSString stringWithFormat:@"i = %d", i];
}
だと autorelease pool にたまる。[[NSString alloc] initWith...] ならたまらない。

>>57
普通は main 関数で @autoreleasepool してるし、イベント処理などの際に自動的に autorelease pool が作られるから、自分で @autoreleasepool を書く必要はあまりないけど、
マルチスレッド環境 (NSThread, GCD, performSelectorInBackground:withObject: など) では自分で @autoreleasepool を書く必要がある。

59 :44:2011/11/23(水) 09:21:56.59 ID:6BcE6Cj80
>>45
>>46
>>47
レスありがとうございます。
よくわかりました。

60 :名称未設定:2011/11/23(水) 13:17:21.63 ID:oqQ7bhJK0
>>58
ARCが有効な場合

@autoreleasepool {
for (int i = 0; i < 10; i++) {
   NSString *str = [NSString stringWithFormat:@"i = %d", i];
}
}

でも

{
for (int i = 0; i < 10; i++) {
   NSString *str = [NSString stringWithFormat:@"i = %d", i];
}
}

でも解放される気がするのですが間違ってますか?

61 :名称未設定:2011/11/23(水) 13:34:16.02 ID:jPF9rplP0
-(void)doSomethingA
{

 for (int i = 0; i < 10; i++) {
  @autoreleasepool {
     NSString *str = [NSString stringWithFormat:@"i = %d", i];
  }
 }
}


-(void)doSomethingB
{
 for (int i = 0; i < 10; i++) {
   NSString *str = [NSString stringWithFormat:@"i = %d", i];
 }
}



doSomethingAの場合、ループの繰り返し毎にstrはリリースされる
doSomethingBの場合、全部のループが終わり、doSomethingBから抜けるまで
(run loopから抜けるまで)strはリリースされない


62 :名称未設定:2011/11/23(水) 15:15:20.45 ID:oqQ7bhJK0
doSomethingCは,doSomethingAと同じですか?


-(void)doSomethingC
{
 for (int i = 0; i < 10; i++) {
  {
   NSString *str = [NSString stringWithFormat:@"i = %d", i];
  }
 }
}


63 :名称未設定:2011/11/23(水) 15:22:30.36 ID:Wiql4lMW0
doSomethingAは実際にはこんな感じのコードに展開されるんじゃないの?

for (int i = 0; i < 10; i++) {
 NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
 NSString *str = [NSString stringWithFormat:@"i = %d", i];
 [pool release];
}


64 :名称未設定:2011/11/23(水) 17:44:47.97 ID:cLoxfUav0
>>62
これがAと同じならもう誰も信じられない。旅に出る。

65 :名称未設定:2011/11/23(水) 18:39:08.90 ID:5tqRCDWM0
自分で作ったアプリってダウンロードしていいの?

66 :名称未設定:2011/11/23(水) 18:41:07.56 ID:VJf5dTSN0
>>65
iPhoneが使えなくなっても良いのならやれば?

67 :名称未設定:2011/11/23(水) 19:42:09.15 ID:21kM44/d0
>>65
普通はダウンロードして動作確認するだろ。有料ならコード使って。

68 :名称未設定:2011/11/23(水) 19:44:10.88 ID:oqQ7bhJK0
すみません。間違えました。

-(void)doSomethingC
{
 for (int i = 0; i < 10; i++) {
  {
NSString *str = [[NSString alloc]initWithFormat:@"i = %d", i];
  }
 }
}


聞きたいのは、ARCが有効な場合、普通のブロックを抜けると変数が解放されるのなら、コンビニエンスコンストラクタ +@autoreleaseブロックを使う必要があるなのはどうい時なのかということなのですが



69 :名称未設定:2011/11/23(水) 19:54:20.54 ID:NhT/ce9I0
poolに積まれたオブジェクトを解放するのはpoolが解放されたときなのは
arc環境下でも変わらない。

forループのなかに暗黙に専用poolが作られるわけじゃない。

あくまで { } ブロック内のフォーカスに縛られるのはstrというポインタだけ。

なので、コンビニエンスコンストラクタが作ったものはpoolに積まれるから
poolの解放までため続けられる。つまりメモリ食いしやすい。

それを避けたいなら、forループのなかで専用poolを用意すればいい。
@autoreleasepool{
:
}
というのをループの中におくのはそう言う意味。

70 :名称未設定:2011/11/23(水) 20:03:29.28 ID:kyIO4sWh0
>>68
ARC有効なら

-(void)doSomethingC
{
 for (int i = 0; i < 10; i++) {
   NSString *str = [[NSString alloc] initWithFormat:@"i = %d", i];
 }
}
が下のように自動解釈されるんだと思うけど。
-(void)doSomethingC
{
 for (int i = 0; i < 10; i++) {
   NSString *str = [[NSString alloc] initWithFormat:@"i = %d", i];
   [str release];
 }
}

そして下のときは >>69のいうように@autoreleasepoolでリリースしないと、ループ内では溜まる一方。
>>63のようには展開されないと思われ。
-(void)doSomethingA2
{
 for (int i = 0; i < 100000; i++) {
   @autoreleasepool{
     NSString *str = [NSString stringWithFormat:@"i = %d", i];
   }
 }
}



71 :名称未設定:2011/11/23(水) 20:14:23.87 ID:oqQ7bhJK0
難しい、以下のような理解でよいでしょうか?

・alloc + initで生成したオブジェクトはブロックを抜けると解放される
{
NSString *str = [[NSString alloc]initWithFormat:@"i = %d", i];
} ←解放

・autoreleaseされたオブジェクトは普通のブロックでは解放されずに+@autoreleaseブロックで解放される

@autoreleasepool {
{
NSString *str = [NSString stringWithFormat:@"i = %d", i];
} ←解放されない
} ←解放される



72 :名称未設定:2011/11/23(水) 20:56:51.00 ID:ltA1NEJ+0
UITextView関連で、変な現象が起こってます。誰か教えてください。
TextViewを拡大後、タッチして再入力しようとすると、1行のサイズが勝手に広がってしまう現象です。

やりたいことは、ピンチアウトで拡大可能、かつ上下にスクロール可能
な簡単なテキストエディタ。

UIScrollView svの上に、UITextView tvをaddSubviewしてます。
tvの横幅は固定で300くらいにしています。

最初は、普通にtvにテキストを入力できます。長い文章を入れると、右端で折り返して、次の行の左から続きます。
いったん入力をやめた後に、再びタッチすると、その場所にカーソルが来て普通に入力を継続できます。
ここまでは普通のエディタと同じような感じです。

しかし、ピンチアプトで拡大後(当然、文字やTVの幅は広がります)、タッチすると、tvの1行の横幅が広がってしまい、さっき
折り返していたところでは折り返さず、文字列がtvの右端からさらに右にいっているらしく、見えません。

拡大前は、tvの1行に30文字入っていたが、拡大後、タッチして入力しよとすると、tvの1行に入る文字数が40くらいになり、tvの横スクロールが必要になってきます。なぜこうなるのでしょうか


73 :名称未設定:2011/11/23(水) 22:35:06.86 ID:KiHCS8gc0
>>71
そもそも変数のスコープとメモリ解放のタイミングは違うんじゃ?
下のヤツは@autoreleasepoolがなければ、
メモリが解放されるのはそのメソッドから抜けるときだよね?

74 :名称未設定:2011/11/23(水) 22:44:14.23 ID:21kM44/d0
>>71
それで合ってる。

>>73
落第。autorelease pool について勉強し直せ。

75 :名称未設定:2011/11/23(水) 23:08:04.85 ID:21kM44/d0
NSAutoreleasePool の実装は多分こんな感じ。改行減らしたので、見づらくてごめん。

@interface NSAutoreleasePool : NSObject {
  NSAutoreleasePool *prevPool;
  NSMutableArray *array;  // autorelease したものの所有権はこれに移る。
} @end

@implementation NSAutoreleasePool
static NSAutoreleasePool *currentPool = nil;  // 実際はスレッドごとに存在。
+ (NSAutoreleasePool *)currentPool { return currentPool; }
- (id)init {
  if (self = [super init]) {
    array = [[NSMutableArray alloc] init];
    prevPool = currentPool;
    currentPool = self;
  }
  return self; }
- (void)addObject:(id)object { [array addObject:object]; }
- (void)dealloc {
  currentPool = prevPool;
  [array release];  // autorelease されたものはここで解放される。
  [super dealloc]; }
@end

@implementation NSObject (autorelease)
- (id)autorelease {
  // currentPool が nil なら警告。
  [[NSAutoreleasePool currentPool] addObject:self];  // 所有権を currentPool に移す。
  [self release];
  return self; }
@end

76 :名称未設定:2011/11/23(水) 23:12:46.51 ID:/O5cTuP80
5分で勇者が帰ってきたり1時間でなめこが育ったりするアプリがありますが、
あれはアプリがキルされても時間の計測が問題なくできるのはどういう仕組みなのでしょうか。

77 :名称未設定:2011/11/23(水) 23:34:02.79 ID:6U8cm8IC0
>>76
再起動したときの時計見てるだけ

78 :名称未設定:2011/11/24(木) 01:38:22.02 ID:dio6+5la0
出来れば理屈的な話より経験則的な話が欲しいのですが
ずっとIBやSBを使いながらアプリ作りの練習していたのですが試しにエンプティから書き始めてみたら
当たり前ですけどアプリ作りの理解が物凄く良くなりました。
しばらくゼロから書いていく予定ですがIBとSBを使っていくのにどんな良さがあるんでしょうか?
それとも上級者になったらみんな切っていくモンなんでしょうか??

79 :名称未設定:2011/11/24(木) 02:03:08.44 ID:lZ9ltzHT0
ボタンやらのコントロールの配置を数値でやらんといかんのがバカバカしくて
ポトペタでできたらどんなにいいかと思うのだが、
画面遷移やテーブルの場合どうなるのかとかまったく分からないので
仕方なくコードから全部やってる。

80 :名称未設定:2011/11/24(木) 02:09:15.17 ID:SsD0vEUx0
あらかたIBでやってる。

81 :名称未設定:2011/11/24(木) 03:26:48.64 ID:A0NBUm3C0
静的なUIはIB
動的なUIはコード


82 :名称未設定:2011/11/24(木) 05:39:31.90 ID:RgInUFiZ0
ARCで自前のコンビニエンスコンストラクタを作るときはどうするんだろう?

83 :名称未設定:2011/11/24(木) 05:49:58.36 ID:6EhhEEQ+0
>82
試してないけど・・・

autoreleaseをよぶコードだけメソッド分離してカテゴリにし、
-fno-objc-arcをつけておけばいいような?

84 :名称未設定:2011/11/24(木) 06:17:34.52 ID:RgInUFiZ0
>>83
なるほど、しかしファイルを分割するとコードの見通しが悪くなるなあ・・・
関数単位でARCを無効にできたっけ?

85 :名称未設定:2011/11/24(木) 06:17:53.74 ID:DP5x4OI+0
>>82
+ (id)foo { return [[Foo alloc] init]; }

86 :名称未設定:2011/11/24(木) 06:31:09.36 ID:RgInUFiZ0
>>85
retainならわかるけどautoreleaseのときがね・・・

87 :名称未設定:2011/11/24(木) 06:39:11.52 ID:RgInUFiZ0
ふと思いついたけど、コンビニエンスコンストラクタの引数として呼び出し元の
autorelease poolを渡すことができれば、可能かもしれない。

88 :名称未設定:2011/11/24(木) 06:54:42.87 ID:DP5x4OI+0
>>86
メソッド名に応じて自動的に __strong または __autoreleasing になるよ。
http://stackoverflow.com/questions/7517363/implementing-convenience-constructors-for-automatic-reference-counting

[[Foo alloc] init] の値は __strong id。これに対して、foo の戻り値は __autoreleasing id なので、
return 時に自動的に retain および autorelease されます。ARC おそるべし。

>>87
ナンセンス。

89 :88:2011/11/24(木) 07:02:22.82 ID:DP5x4OI+0
間違い。「return 時に自動的に autorelease されます。」でした。

90 :名称未設定:2011/11/24(木) 07:06:50.42 ID:RgInUFiZ0
>>88
おお、こんな法則があったのね。ありがとう!

91 :名称未設定:2011/11/24(木) 08:14:46.24 ID:aNqEhL+h0
>>78
コードの方が挙動が分かり易いし、色々できるのですが、実際のレイアウトはIBは一目瞭然。
なので、emptyから始めるけど、レイアウト確認用のxibを追加してInspectorで数字見ながらコーディング。

92 :名称未設定:2011/11/24(木) 10:17:02.81 ID:nW5lN23U0
いわゆるダイアログの部分だけIB使ってるな。
他の部分は結局ラクできない。

93 :名称未設定:2011/11/24(木) 11:03:31.05 ID:RgInUFiZ0
ARCを有効にすると

+ (id)xxx { return [[Foo alloc] init]; }
 ↑autoreleaseされたのが返る

+ (id)initWithXxx { return [[Foo alloc] init]; }
 ↑retainされたのが返る

という理解であってるかな?

94 :名称未設定:2011/11/24(木) 11:38:08.19 ID:167styG30
質問です。
アドレスブックのマルチバリュープロパティの識別子は、どうすれば読み込めるのでしょうか?


95 :名称未設定:2011/11/24(木) 13:23:14.86 ID:nW5lN23U0
>>93
両方retainされたのが帰るんじゃない?

96 :名称未設定:2011/11/24(木) 13:52:50.13 ID:2CnOSmee0
>>93
なぜにどっちもクラスメソッドになってんの?

97 :名称未設定:2011/11/24(木) 15:08:37.34 ID:RgInUFiZ0
>>95
両方retainなのかー

>>96
下のはコンビニエンスコンストラクタにしたかった・・・(initじゃ変だよね)

例が悪かったのでもう一度書くと、
ARCが有効のとき、Fooクラスに以下のメソッドがあるとして
autoreleaseされたのが返るのはどれ?

<1> + (id)foo { return [[Foo alloc] init]; }
<2> + (id)xxx { return [[Foo alloc] init]; }
<3> + (id)fooWithXxx { return [[Foo alloc] init]; }

98 :名称未設定:2011/11/24(木) 15:22:56.37 ID:DP5x4OI+0
>>93 の理解で合ってる。>>95 は間違い。(init って名前は変だけど。)
ARC では、メソッド名が alloc, copy, mutableCopy, new, init で始まる場合は retain されたものを返し、
それ以外は retain されてない (必要に応じて autorelease された) ものを返す。

>>97 <1> 〜 <3> はどれも autorelease されたものを返すよ。それで問題ないと思うけど。
どうしても retain されたものを返したければ、newFoo とか newFooWith:... かな。
(ちなみに、with は引数がある時に使う。)

99 :名称未設定:2011/11/24(木) 15:27:28.72 ID:DP5x4OI+0
訂正。
>>93 はどっちも autorelease されたものを返す。
init に関しては、特別扱い (retain されたものを返す) はインスタンスメソッドの場合だけ。

詳しくはこれに書いてある。
http://clang.llvm.org/docs/AutomaticReferenceCounting.html

100 :名称未設定:2011/11/24(木) 15:36:11.68 ID:RgInUFiZ0
>>98
なるほど、retainするメソッドは頭文字が決まってるのかー。
すごく参考になりました。どうもありがとう!

101 :名称未設定:2011/11/24(木) 15:39:20.98 ID:RgInUFiZ0
>>99
おお、こんなページが。
英語苦手だけど頑張って読んでみます。

102 :名称未設定:2011/11/24(木) 15:57:35.32 ID:DP5x4OI+0
>>100
retain する/しないをメソッド名の最初で区別するのは昔からの決まりだよ。
ARC 以前は単なる習慣に過ぎなかったけど、ARC ではコンパイラの挙動が変わるから、厳密にやらなきゃいけなくなったけどね。

>>101
そのドキュメントは初心者向けの解説じゃなくて、コンパイラを作る人向けの詳細な仕様書だから、
読むのは大変だと思うけど、頑張ってね。

103 :102:2011/11/24(木) 16:38:41.58 ID:k+UlqRhn0
補足。「厳密にやらなきゃいけなくなった」というか、コンパイラが勝手に厳密にやるようになった、ですね。
プログラマは (表面上は) 楽ができるようになったけど、裏で何が起きてるか考え始めると結構ややこしいです。

104 :名称未設定:2011/11/24(木) 16:52:41.62 ID:Y+b65PJvP
Personクラスに - (NSString *)initialName メソッドがあったらautoreleasのつもりがretainされちゃうのか

105 :名称未設定:2011/11/24(木) 17:13:44.18 ID:RgInUFiZ0
>>102
最近Objective-Cの世界に入ったので、習慣とか手探り状態です。
それにしても、このLLVMのページは読み応えがありますねー。
(・・・というか初心者には無謀な気がしてきました(汗))
でも、裏方を知っていると、変なボトルネックとか作らなくてすむし
少しずつ理解していきたいと思ってます。

106 :名称未設定:2011/11/24(木) 17:27:50.67 ID:omeJbd4y0
ALAssetsLibraryについて質問です。

ALAssetsLibraryを使用してフォトの一覧を取得して表示し、その中から選択したフォトだけ自前のDBに
URLを保存し、DBからURLを読み込んでフォトを表示しようとしているのですが、
URLの取得の仕方をご存知の方いないでしょうか。

以下のように実装しました。

result はALAsset*です。
NSDictionary *dic = [[result defaultRepresentation] metadata];
NSURL *url = [dic objectForkey:UIImagePickerControllerReferenceURL];

Breakpointsで見てみると
resultは値が入っていて、画像の表示もできているので問題なさそう
dic→0x0 o key/value pairs
url→0x0 nil
となっていました。

ご存知の方いたら教えてくださいm(__)m



107 :名称未設定:2011/11/24(木) 17:29:03.25 ID:/46g1ZA00
質問
GameCenterに登録しているアプリの主がIOSDeveloperを解約したら
アプリをダウンロードしていたユーザーは今まで通りサーバーにアクセスできるの?

108 :名称未設定:2011/11/24(木) 17:41:05.58 ID:6Le8Kr3K0
命名規則というのは本人あるいは第三者の理解のために
そうしようというものだと思っていました。
命名そのものによって挙動が変わる言語仕様というのは、
世界初ではないですかね?

109 :名称未設定:2011/11/24(木) 17:44:38.30 ID:6Le8Kr3K0
言語仕様というか、開発環境か。

110 :名称未設定:2011/11/24(木) 17:53:05.13 ID:SsD0vEUx0
まあ、世の中にはインデントで挙動の変わる言語もあるくらいだから。

111 :名称未設定:2011/11/24(木) 18:04:00.17 ID:E7Q8tuxP0
変数の頭文字が大文字だったり記号だったりすると意味が変わる言語も10年以上前からあるしな
もちろん演算子ではない

>>104
init系はこの話と関係なくね?

112 :名称未設定:2011/11/24(木) 18:15:18.25 ID:7rwloyFt0
retainされた物を返したいときはNS_RETURNS_RETAINEDつけるんじゃねーの?

113 :名称未設定:2011/11/24(木) 18:51:06.14 ID:fAItIFUE0
navigationController管理下のviewController.xibからnavigationBarにitemをおく方法はないですか?

114 :名称未設定:2011/11/24(木) 20:42:33.06 ID:bEkPIElk0
sqlの処理についてお聞きしたいのですが
以下のstringWithUTF8Stringでリークするのですがなぜでしょうか
       
Anpan *anpan = [[Anpan alloc] init];
anpan.name = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
[mutableArray addObject: anpan];
[anpan release];

115 :名称未設定:2011/11/24(木) 20:56:04.04 ID:E7Q8tuxP0
>>114
sqliteの後処理してないんじゃ?

116 :名称未設定:2011/11/24(木) 20:59:28.56 ID:7rwloyFt0
違う問題が潜んでる

117 :名称未設定:2011/11/24(木) 21:32:29.83 ID:nW5lN23U0
anpan.nameがretainじゃないとか、anpanのdeallocで.nameを開放してないとか。

118 :名称未設定:2011/11/24(木) 21:51:37.70 ID:A0NBUm3C0
多分関係ないけど、俺は怖いからNSArrayに突っ込むオブジェクトはautorelease必ずかけとく。
自分でreleaseは明示的にretainするときを除いて使うのを極力避けてる。

119 :名称未設定:2011/11/24(木) 22:10:13.46 ID:SsD0vEUx0
>>114みたいな状況ってループの中で件数多かったりするから、
Autoreleasepoolに溜まるような書き方は避けるわ。自分の場合は。

120 :名称未設定:2011/11/24(木) 22:19:53.64 ID:/J8IZbPq0
「エキスパートObjective-Cプログラミング」読むといいよ。
ARCを使った方が生産性があがるのがよくわかる。メモリの使い方の効率とか、コンパイラがうまいことreleaseしているようすとか。
なので、古いプロジェクトも全部ARCにしてしまった。(それもXcodeがやってくれるし)
とはいえ基本ObjCのオブジェクトだけで、他のメモリ管理は今までとほとんど変わらんのだが。

121 :名称未設定:2011/11/25(金) 01:16:45.78 ID:YYcwWuXY0
>>120
既存のプロジェクトをARC有効モードに書き換える機能とかあるの?

122 :名称未設定:2011/11/25(金) 02:16:35.66 ID:YYcwWuXY0
>>120
ねえ、あるの?

123 :名称未設定:2011/11/25(金) 02:26:26.80 ID:CHpxwrzy0
Edit -> Refactor -> Convert Objective-C ARC …

ちったぁ調べろ。カス。

124 :名称未設定:2011/11/25(金) 02:45:38.44 ID:lEfq6LDr0
逆にARC対応で記述したコードをコンパイラがうまいことreleaseとかを追加したコードにすることってできるの?

125 :名称未設定:2011/11/25(金) 08:31:14.32 ID:GLcVN+Yq0
ねえ、できるの?

126 :名称未設定:2011/11/25(金) 09:32:37.49 ID:N8Dfb+ht0
できますん

127 :名称未設定:2011/11/25(金) 09:36:23.18 ID:Nn78GDZp0
コンパイラがうまいことreleaseとか追加するコードにするのがまさに A R C だと思うのだががが。

128 :名称未設定:2011/11/25(金) 15:35:13.31 ID:93p33xW10
実機開発始めたんだが、RUNのたびに、全データコピーするのはどうにもならん?
更新されてないリソースはコピーしてほしくないんだけど。
実行するたびに時間かかってしようがない

129 :名称未設定:2011/11/25(金) 16:05:22.22 ID:0/HjbZeE0
一応差分コピーなんじゃないの?
それゆえのおかしな挙動することもあるし。

130 :名称未設定:2011/11/25(金) 16:22:33.76 ID:q11T2VPgP
少なくとも4.2は差分だな。projectから外してもデバイスに残ってるし。

131 :名称未設定:2011/11/25(金) 16:56:25.06 ID:93p33xW10
毎度1GB以上コピーされて死にそう
ちなみに、外したファイルがデバイスに残るのは、全コピーでもそうなるっぽい
(全部コピーするけど外したファイルは消さないから)


132 :名称未設定:2011/11/25(金) 17:00:49.58 ID:81zXl8QS0
1GB以上のアプリかよ・・・

133 :名称未設定:2011/11/25(金) 17:02:04.44 ID:DPms7DK+0
元素図鑑でも作ってるのか?

134 :名称未設定:2011/11/25(金) 17:03:25.10 ID:0/HjbZeE0
最新じゃどうかわからないけど、以前はうまく新しいのに入れ替わらなくて、
一度デバイスからアンインスコするまで古いリソースのままで悩むような事があったよ。

135 :名称未設定:2011/11/25(金) 17:03:36.32 ID:DgyKfczS0
UIButtonの文字列を改行させたいです
改行コードを指定しても無視されます
どのように指定したらいいでしょうか?

136 :名称未設定:2011/11/25(金) 17:03:59.69 ID:TdU1zyCn0
うっかりおまえのアプリDLしたユーザの気持ちが分かるってもんだ

137 :名称未設定:2011/11/25(金) 17:08:43.60 ID:0/HjbZeE0
>>135
[UIButton 改行]ってググったらそれなりにヒットした。

138 :名称未設定:2011/11/25(金) 18:18:34.48 ID:Bp460qow0
もう終わった話題なんだろうけど >>97>>96の指摘を理解してないのがもどかしい・・・
init~はインスタンスメソッドだろう徐晃・・・

>>128
Ctrl+Command+R

139 :名称未設定:2011/11/25(金) 18:25:54.24 ID:MxM6JPga0
超初心な質問なのですが
xcodeのプロジェクトに追加した外部プロジェクトやファイルを
プロジェクトから取り除きたいんですけどどうしたらいいんでしょうか

左のリストで
ProjMain
Hoge
ProjTuika <--
FileA <--

こんな感じになっててProjMainの中のファイルには
右クリックでDeleteが出るのですが
ProjTuika,FileAには出てこないです
実体のファイル消したり移動してもだめなんで
ProjMain.xcodeproj/project.xcworkspace/contents.xcworkspacedataを
エディタで編集してProjTuika,FileAへのFileRefを削除したら消えたのですが
すっきりしません。。。


140 :名称未設定:2011/11/25(金) 18:28:40.21 ID:cQ5JFmRj0
>>138
initじゃ変だと言ってるんだから理解してるだろ
元々init系はこの話と関係ないし

141 :名称未設定:2011/11/25(金) 18:29:42.47 ID:hClHLoIH0
>>128
差分コピーのはず。
デバッグ中しらないうちに、リソースをいじって更新しているというオチの気がする。
(コードを追うのは大変だと思うが)

142 :名称未設定:2011/11/25(金) 19:44:25.48 ID:90Y1upCz0
single view applicationで
view controllerを追加し、2つのview controllerにラベルやbuttonを配置し
viewcontroller.hでたとえばIBOutlet UIButton *aaa;
と定義しても1つ目のviewでしか表示されないのですが
どのようにしたら2つ目のview controllerでoutletsが表示されるのでしょうか?

143 :名称未設定:2011/11/25(金) 20:55:43.41 ID:IVA2+0QU0
どうか教えてください
AppDelegate.m で ViewController の入力値を取得したいのですが出来ません
(入力された設定値を applicationWillResignActive 時に NSUserDefaults で保存したい)

single view application & storyboard で自動作成されたプロジェクトには
AppDelegate.h に ViewControllerの定義がされてないようなので
旧バージョンのやり方で定義して、didFinishLaunchingWithOptions にて
alloc init して addSubviewで追加してみましたが
取れる値は、0です
何かヒントになるようなものだけでもよいので、知っている方がいたら
教えてください

144 :名称未設定:2011/11/25(金) 23:29:30.68 ID:gv8DtQ0w0
>>143
MVCを学び直す

145 :名称未設定:2011/11/26(土) 08:04:01.04 ID:OVAFJLFK0
なぜwillリサインアクティブ時に値を取得して保存なの?入力値はどうやって入力されるの?
なぜフィニッシュラウンチが代替になるの?

146 :名称未設定:2011/11/26(土) 08:49:21.21 ID:o2Pw8zql0
>>143
なるほど、それを学べば分かるのですね
学んでみます!
ありがとうございます

>>145
質問ありがとうございます!
・ViewController に表示されている mapView の現在位置、縮尺等を、
 次回起動時に再現したいために、アプリケーションがアクティブでなくなる直前
 ( applicationWillResignActive 時)にその情報を取得し、保存しようとしました
・入力値は、ユーザのドラッグ、タップなどによる変更される mapView の現在位置、縮尺等です
 当初、ユーザの操作をハンドルしてそのタイミングで保存しようとしたのですが
 mapView でタッチ操作を取得するのは難易度が高そうなので、諦めて
 applicationWillResignActive 時に保存しようとしました 
・すいません、誤解を招く書き方だったかも知れません
 AppDelegate.h に ViewControllerの定義がされていなかったので
 旧バージョンのやり方で定義しました
 ついで、didFinishLaunchingWithOptions にて定義した ViewController を
 alloc init して addSubviewしてインスタンス化
 その後、applicationWillResignActive で ViewController の値を取得しても0でした

MVCを学んでみます
ありがとうございました!

147 :名称未設定:2011/11/26(土) 08:55:38.92 ID:o2Pw8zql0
すいません、自分にレスしてしまいました

>>143さん
ありがとうございました

148 :名称未設定:2011/11/26(土) 10:06:55.45 ID:ZCtwamUn0
xcodeでopenframeworksをベースに
アプリ作成しているのですが
macの画面上で実行した際表示される部分が
ipod touch上で実行すると表示されなくなってしまいます

プログラムはいじってませんので
iPod touchで実行している
ということが原因なのでしょうか?

どうか御教授よろしくお願いしますm(_ _)m

149 :名称未設定:2011/11/26(土) 10:44:36.13 ID:rKqa5U5D0
>>147
落ち着け

150 :名称未設定:2011/11/26(土) 12:55:31.30 ID:2pc3hOQ30
質問お願いします。X code4.2になってから
Tabbed Application にnavigation controllerを入れる方法がわからなくなってしまったんですが、
わかる方いますでしょうか?
ネットで見てみましたが、記事を見つけられませんでした。
宜しくお願いします。

151 :名称未設定:2011/11/26(土) 13:04:36.89 ID:6ahLaKZ60
WebKitのwebView:createWebViewWithRequest:を実装しようとしています。
OSXだと下のコードで良いようですが,
{
id newDocument;
newDocument = [[NSDocumentController sharedDocumentController]
openUntitledDocumentOfType:@"DocType" display:NO];
[[[newDocument webView] mainFrame] loadRequest:request];
return [newDocument webView];
}
iOSでNSDocumentControllerに相応するクラスはなんでしょう?

Document-Based Application Programing Guide for iOSもなんかちがうみたいだし。
iOSとWebKitのサンプルというか情報が見つからなくて。
よろしく。

152 :名称未設定:2011/11/26(土) 13:33:28.76 ID:UvfgHfn20
>>151
NSDocumentControllerに相当するものは存在しない。NSDocumentに相当するものはUIDocument。
OSXとiOSは結構違う。UIWebViewとWebView、NSDocumentとUIDocumentも、似ているが、結構違う。

結局何がいいたいかというと、そのコードは全然役に立たないから忘れたほうがいい。
UIViewControllerを使用した基本的なアプリのxibを作って、そこにUIWebViewを置き、outletをつなげて
loadRequestを投げれば、ok。


153 :名称未設定:2011/11/26(土) 15:32:04.94 ID:y7FhNIuO0
[navigationController pushViewController:hogeController animated:YES];
[[navigationController topViewController] hogeMethod];

hogeControllerはhogeProtocolを実装しています。
上のコードだと、2行目でuiviewcontrollerはhogeMethodに反応できませんといったワーニングがでます。
明示的に[navigationController topViewController]がhogeProtocolを実装していることを
教えてあげてワーニングを消したいのですがどういう風に書いたら良いんでしょうか?

154 :名称未設定:2011/11/26(土) 15:40:18.31 ID:UvfgHfn20
>>153
[(UIViewController <hogeProtocol> *)[navigationController topViewController] hogeMethod];


155 :102:2011/11/26(土) 15:41:52.81 ID:TF52IBsr0
>>153
[hogeController hogeMethod];
または、明示的にキャストする。
[(id <hogeProtocol>) [navigationController topViewController] hogeMethod];

156 :名称未設定:2011/11/26(土) 15:43:09.25 ID:y7FhNIuO0
そう書くんですね!
早速ありがとうございます!


157 :名称未設定:2011/11/26(土) 16:35:03.30 ID:6ahLaKZ60
>>152
サンクスです。
UIWebViewだと非力なのでWebKitを使おうと思ってます。
だがWebKitだとIBが使えないのが残念。
ていうか、そもそもiOSでWebKitを使えるのか
Library Search Pathsがうまく設定できずに不安になってきた。
(#import <WebKit/WebKit.h>が file not foundになってしまう)

158 :名称未設定:2011/11/26(土) 17:45:07.41 ID:GJbXxptyP
>>157
使えないよ。iOSだとWebKitは、Private API。まぁStore出さなきゃ関係ないが。

159 :名称未設定:2011/11/26(土) 22:33:14.32 ID:EDRVRdNM0
UIWebViewとWebKitってどういう関係?

160 :名称未設定:2011/11/26(土) 22:36:32.87 ID:GZ92sLU50
>>159
WebKitがUIWebViewにくるまれてる
UIWebViewは細かいことはできない

161 :名称未設定:2011/11/27(日) 00:22:38.01 ID:7znaPC200
全く需要はないけど自分が欲しいからって理由でアプリ作成に手を出そうとしてここにきたのですが、C言語とか全くわからないおれには俺にはここの話についていける気がしないw
なんかとりあえず上の本でも買って勉強してみるかと思うのですがまず一冊目はどれがいいでしょうか?
それ読み切るまでは無駄に質問しないので教えていただければ幸いです!

162 :名称未設定:2011/11/27(日) 00:22:59.14 ID:UR5ZCHZ40
すみません。教えてください。

OpenGLESのコードを書いていて、ヘッダファイルに
struct IE {
virtual void Init(int a, int b) = 0;
};

↑のようなコードを書いたら、Unknow type name 'virtual'となってしまいます。
ファイル名はhppにしてあるし、main.mもmain.mmに変更してあります。
ググッてみたのですが、明確な解決方法が見つかりませんでした。

わかるかたがいらっしゃいましたら、教えてください。
お願いします。

163 :102:2011/11/27(日) 00:30:34.35 ID:/BlWPIix0
>>162
そいつを #include (または #import) してるファイルが main.mm 以外にもあるのでは?

164 :名称未設定:2011/11/27(日) 00:53:21.79 ID:UR5ZCHZ40
>>163
ありがとうございます!
おっしゃる通りでした。
importしているファイルすべてをmm,hppにしたらエラーがでなくなりました。

165 :名称未設定:2011/11/27(日) 07:03:40.68 ID:to7WwP5B0
ボタンの押下をトリガーに特定の処理を行わせる際に、
先に実行されいてる処理が終わっていない間に再度ボタンが押され時に
先に行われている処理を中止した上で新たに処理を実行したいと思っています。

そこで、ボタン押下時の処理をスレッドとして実行し
もし別のスレッドが実行中であればそれをキャンセルした上で
新しい処理を実行すれば行いたいことを実現できそうだと考えました。

ただ、スレッドのそもそもの用途とは違うと思いますし、
処理のキャンセルみたいな事って普通はどうすべきなんですか?
良い方法があれば教えてください。

166 :名称未設定:2011/11/27(日) 07:13:18.28 ID:qVX9zLX10
先に行われていた処理を別スレッドにしといて、
ボタンの押し下げがあったらそっちに中止命令を送るってのは、
マルチスレッドの主な使い方の一つじゃね?

167 :名称未設定:2011/11/27(日) 07:15:52.74 ID:9Oltkzt+0
必然的にスレッドが必要になると思う。

UIはメインスレッドで動くので、
ボタン押した→処理終わるまでUI固まる→処理終わったと同時にUIに戻る
って感じになる。

処理中にぐるぐるさせたいとかでも、スレッド作らないとそれはできない。
当然「ボタンもう一度押したら処理中止する」も、ボタン固まってるから処理を別スレッドにしないと出来ないんじゃないかな。

デリゲート通知するクラスを自作して、処理は別スレッドで、通知する際はメインスレッドに戻すような感じでいいかと。NSURLConnectionみたいなの。
(間接的でもUIいじるときは)メインスレッドに戻さないと落ちるので注意。


168 :名称未設定:2011/11/27(日) 07:24:17.20 ID:to7WwP5B0
>>166-167
スレッドは、並行して複数の処理を行いたい時に使うもの
という認識だったので用途としてこれで良いのかなと心配になっていた次第です。

スレッドを利用して実装してみたいと思います。
ありがとうございます。

169 :名称未設定:2011/11/27(日) 07:41:59.54 ID:bKwiyXmc0
アプリ内ででスクリーンショットを保存したくて次のコードを使用しています。

CGRect screenRect = view.bounds;
UIGraphicsBeginImageContext(view.bounds.size);

CGContextRef ctx = UIGraphicsGetCurrentContext();
[[UIColor blackColor]set];
CGContextFillRect(ctx,screenRect);

[view.layer renderInContext:ctx];

UIImage *img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

ですが、このコードだとiPhone4の高解像度のスクリーンショットをとることが出来ません。
どうすればiPhone4用の高解像度スクリーンショットをとることが出来るのでしょうか?

170 :名称未設定:2011/11/27(日) 07:48:30.47 ID:SSrhiPSG0
>>169
ドキュメントのUIGraphicsBeginImageContextの項目を読めば分かる。

171 :名称未設定:2011/11/27(日) 07:52:02.37 ID:9Oltkzt+0
CGFloat scale = [UIScreen mainScreen].scale; // retina だと 2.0 になるはず
UIGraphicsBeginImageContextWithOptions(size, NO, scale);
{
……
}
UIGraphicsEndImageContext();

172 :名称未設定:2011/11/27(日) 07:57:53.08 ID:bKwiyXmc0
>>170
UIGraphicsBeginImageContextWithOptions(view.bounds.size,NO,2.0);
で解決しました!本当にありがとうございます!助かりました。

173 :名称未設定:2011/11/27(日) 07:58:28.35 ID:bKwiyXmc0
>>171
ありがとうございます!

174 :名称未設定:2011/11/27(日) 08:13:38.11 ID:bKwiyXmc0
重ねて質問ですみませんが、UIGraphicsBeginImageContextWithOptions(view.bounds.size,NO,2.0);
でスクリーンショットを取得すると解像度は640*960であっているのですが取得した画像が320*480を
引き延ばしたような感じでぼやけてしまいます。どうすれば綺麗なスクリーンショットをとることが
できるのでしょうか?


175 :名称未設定:2011/11/27(日) 08:14:31.08 ID:9Oltkzt+0
3GSとかだと1.0だからUIScreenから取った方が良いよ。
将来的に4.0を返す端末も出るかもしれないし。

176 :名称未設定:2011/11/27(日) 08:17:29.86 ID:bKwiyXmc0
>>175
ありがとうございます。UIScreenからとるように変更します。

177 :名称未設定:2011/11/27(日) 09:59:06.59 ID:Q1fMAFXC0
質問です。
複数の文字列をソートするには、どうすれば良いのでしょうか?

178 :名称未設定:2011/11/27(日) 10:06:04.08 ID:MvXYJkoM0
NSSortDescriptor

179 :名称未設定:2011/11/27(日) 10:19:27.19 ID:QDllps9x0
>>161
図書館で細かい説明のない書いて覚える系の本を借りてくる。
その手の本は手元に残す必要ないからなんでもいい。一冊やりきらなくてもいい。
プログラム作るのってこうこう流れなんだってのが分かってから、次の本を探す。

180 :名称未設定:2011/11/27(日) 10:56:56.41 ID:Lto7n5/P0
xcode4.2.1 (Objective-c)でツイッターアプリを作成しているのですが、
ツイッター情報をCoreDataより読み出しテーブル表示後、
なぜか再度cellForRowAtIndexPathが
コールされて先頭から0〜6個までのテーブルを表示しようとします。
なにが原因であることが考えられますでしょうか?ご教授ください。。
以下にコンソールログを貼付けいたします。

-[MainViewController tableView:heightForRowAtIndexPath:]
-[MainViewController tableView:cellForRowAtIndexPath:]
indexPath = <UIMutableIndexPath 0x6e80f60> 2 indexes [0, 298]★最後のCoreData読み出し表示
-[MainViewController fetchedResultsController]
CoreData twitter text: UUUUUUUUUUUUUUUUUUUUUUUUU
CoreData twitter name: ZZZZZZZZZZZZZZ
-[UIAsyncImageView initWithFrame:]
-[UIAsyncImageView loadImage:]
-[UIAsyncImageView abort]
cellForRowAtIndexPath <===
heightForRowAtIndexPath <===
-[MainViewController tableView:cellForRowAtIndexPath:]
cellForRowAtIndexPath ===>
indexPath = <NSIndexPath 0xed3fd30> 2 indexes [0, 0]★なぜか0からまた読み出そうとする。
-[MainViewController fetchedResultsController]

181 :名称未設定:2011/11/27(日) 11:51:45.85 ID:vVdjaKuJ0
CGContextShowGlyphsAtPointかCGContextShowTextAtPointで
複数行の文字列を表示したいのだけど,やり方はありますか?
1行ごとに分割して,地道にYの値をずらしながら,CGContextShowTextAtPointをコールするしか無い?

182 :名称未設定:2011/11/27(日) 12:02:12.15 ID:ClTDrGAG0
>>180
んなもん見せるよりソース晒せ。

183 :名称未設定:2011/11/27(日) 13:04:30.90 ID:Lto7n5/P0
>>182
ソースはばかでかいのでどこを出せばいいのやらで。。

そういう事象はどういう場合に起きるのかアドバイスいただければと・・。

184 :名称未設定:2011/11/27(日) 13:13:10.28 ID:fj6NGbp30
NSFetchedResultsControllerをつかってるんでしょ。
よくわかんないけど、実害がないんだったら放っておいてもいいんじゃないの。

185 :名称未設定:2011/11/27(日) 13:39:03.05 ID:Lto7n5/P0
>>184
あ、そうですそうです。NSFetchedResultsController使ってます。
NSFetchedResultsController使うとそういう現象がおきるんですかね・・。

186 :名称未設定:2011/11/27(日) 14:15:15.94 ID:vdViK2WT0
// で始まるコメントってどんなに沢山書いても処理速度に影響しませんか?

187 :名称未設定:2011/11/27(日) 14:17:52.18 ID:fj6NGbp30
>>185
起きるかどうか分からないけど、全部お任せでやってくれてるんだから、余計な事考えるよりも他の事に
時間を費やした方がいいんじゃない。


188 :名称未設定:2011/11/27(日) 14:50:32.61 ID:DIkAFKAR0
質問お願いします。
キーボードが表示された時に、画面を押し上げて、キーボードにテキストフィールドが隠れないように設定したのですが、
実機テストしてみると、起動して入力しようとしたときに初回だけキーボードを呼び出した時に画面が真っ白になります。
ちなみにナビゲーションバーで一度戻ってからは、もう一度テキストフィールドクリックしてキーボード呼び出したら正常です。
初回だけおかしいです。
真っ白になる現象は、テーブルビューに独自セルでテキストフィールドいれてるんですが、テーブルビューの部分が真っ白になります。
-(void)keyboardDidShow:(NSNotification *)notification
{
//通知情報を取り出す
NSDictionary* info = [notification userInfo];
//きーぼーどのサイズを取得する
NSValue* aValue = [info objectForKey:UIKeyboardFrameBeginUserInfoKey];
CGRect kbFrame = [aValue CGRectValue];
//テキストビューの高さをキーボードのサイズ分縮小する。
CGRect textFrame = myTableView.frame;
textFrame.size.height -= kbFrame.size.height;
myTableView.frame = textFrame;
}

-(void)keyboardDidHide:(NSNotification *)notification
{
//通知情報を取り出す
NSDictionary* info = [notification userInfo];
//きーぼーどのサイズを取得する
NSValue* aValue = [info objectForKey:UIKeyboardFrameBeginUserInfoKey];
CGRect kbFrame = [aValue CGRectValue];
//テキストビューの高さをもとに戻す。
CGRect textFrame = myTableView.frame;
textFrame.size.height += kbFrame.size.height;
myTableView.frame = textFrame;
}

189 :名称未設定:2011/11/27(日) 14:51:20.08 ID:DIkAFKAR0
呼び出しは、
-(void)viewWillAppear:(BOOL)animated
{


//システム標準の通知センターを取得
NSNotificationCenter* notificationCenter = [NSNotificationCenter defaultCenter];

//キーボードが表示されたらkeyboardDidShowメソッドを実行
[notificationCenter addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];

//キーボードが隠れたらkeyboardDidHideメソッドを実行
[notificationCenter addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil];

}
長文すいません。
宜しくお願いします。

190 :名称未設定:2011/11/27(日) 15:10:01.56 ID:QUr3YkdU0
iPhoneとBluetoothでペアリングされている機器の情報を、iPhoneに問い合わせる方法ってないでしょうか?
調べた結果、"GKPeerPickerController"を利用すれば、iPhone同士のBluetooth通信はできるようですが、iPhoneへのアクセスについては全く分かりません。

適当なBluetooth機器をiPhoneに接続させて、一定の間隔で接続状況を確認し、ペアリングが切れれば適当なアクション(アラームを鳴らす)を起こしたいのです…
ご存じの方がおいでましたら、宜しくお願いします。

191 :名称未設定:2011/11/27(日) 17:46:33.51 ID:AkBALD+w0
uiTableViewのmoveRowAtIndexPathでcellを並べ替えた後に、
sqlのデータベースをuiTableViewの順に並べ替えたいのですが
参考になるサンプルなどないでしょうか

192 :名称未設定:2011/11/27(日) 18:11:11.10 ID:Szmhxmxr0
>>191
並び順を定義する別のテーブルを使えばいいんじゃね?


193 :名称未設定:2011/11/27(日) 19:20:13.21 ID:vdViK2WT0
GameCenterにサインインするのって、Viewが表示される前にするべきですか?

194 :名称未設定:2011/11/27(日) 19:29:29.33 ID:Lto7n5/P0
>>187
NSFetchedResultsController使っていることが原因か不明ですが、
テーブルのリロードしてもnumberOfRowsInSectionやcellForRowAtIndexPathが
コールされずテーブル更新がされません。
まったく原因が不明です・・・

195 :名称未設定:2011/11/27(日) 20:15:49.68 ID:Lto7n5/P0
>>194
viewDidAppearにreloadData書いたら更新されない。。なんでだ・・
viewWillAppearでreloadDataすると更新されるのに・・・

196 :名称未設定:2011/11/27(日) 21:49:31.64 ID:GOfwzdrG0
音量に対して画面上で球体が拡大するプログラムをつくったのですが

simulatorだとちゃんと表示されるのに
deviceだと表示されなくなります

原因わかる人いますか?

197 :177:2011/11/27(日) 21:52:24.61 ID:Q1fMAFXC0
>>178
ありがとうございます


198 :名称未設定:2011/11/27(日) 22:06:27.32 ID:/BlWPIix0
>>196
そんな漠然とした質問に答えられる人がいるわけない。
・音量ってマイクから入力された音量? どうやって取得してるの?
・球体はどんなタイミングで、どうやって表示してるの?
・どんなものが表示されることを期待してて、どう表示されないの?
・device は何? プログラムは何で書いてるの?

199 :名称未設定:2011/11/27(日) 23:17:12.87 ID:GOfwzdrG0
>>198
申し訳ありません。初心者なので的確なことがかけているかわかりませんが書いてみます。

xcodeでopenframeworksをベースにc++でプログラミングしています。
音はマイクから取得した音で、xcodeのsimulatorで実行した場合はmacのマイクが音を拾います。

球体(丸)はアプリ起動時から画面中央に表示されます
無音〜小さい音までは、小さい一定の小ささの丸
小さい音〜大きい音までは、音の大きさに比例して丸の大きさが拡大して行きます
大きい音〜爆音では、ある一定の大きさの丸以上の大きさにはならず、固定されます

問題点は
上記プログラミングが完成しているのですが、xcodeでのiphone simulatorで実行し、mac画面上を見ると丸が映るのですが
このプログラミングをipodtouchで実行しようとすると、touchの画面上に丸が映らなくなってしまう。
という点です。

わかりにくい文章かもしれませんが、何か原因と思うことわかりましたらよろしくお願いします。

200 :名称未設定:2011/11/27(日) 23:39:18.26 ID:HQT36yhS0
具体的に中枢を動かしてるコードが一片でも見えない限り、何も言えるわけない。
そんな質問で答えが返ってくると本気で思ってるのかい?

201 :名称未設定:2011/11/27(日) 23:43:45.82 ID:GQ3jb9ba0
描画コードに問題あるとしかわからんね。
描画と言ってもいろいろあるしね。

202 :名称未設定:2011/11/27(日) 23:58:56.35 ID:Szmhxmxr0
デバッガで要所要所で止めて確認するしかないんじゃないの?

203 :102:2011/11/28(月) 00:09:01.87 ID:gFpbW5fR0
>>199
openframeworks に関する質問に答えられる人はあまりいないと思う。
ってのはさておき、問題の切り分けが必要だね。まず音がちゃんと拾えてるのか確認すべき。
NSLog とか使えるのかな?

204 :名称未設定:2011/11/28(月) 00:18:05.44 ID:0cdsIT680
iPod touch第四世代はマイクついてるので、音は拾えてるはずです
nslogは多分使えないと思います
描画コードもっとしっかり読み直してみることにします!みなさまアドバイスありがとうございます!

205 :名称未設定:2011/11/28(月) 00:19:59.08 ID:WxZF12620
>>204
NSLog()使わなくても、普通にstderrに書けばデバッガ出力に出るよ。

206 :102:2011/11/28(月) 00:32:01.22 ID:gFpbW5fR0
>>204
>iPod touch第四世代はマイクついてるので、音は拾えてるはずです
甘い。ハードウェア的に故障してる可能性もあるし、API の使い方を間違えてる可能性もあるし、open なんとかが実機に対応してない可能性もある。
とりあえず音量を取得するところを乱数にでもして、描画されれば音量の取得がおかしいし、描画されなければ描画のコードがおかしいってことになる。
デバッグする時は、そうやって問題を切り分けるのが重要だよ。闇雲にコードを見直しても時間ばっかりかかるからね。

>nslogは多分使えないと思います
NSLog じゃなくてもいいけど、何らかの方法で変数の値とか、あるコードが実行されたかどうかを確認する方法は必要。
ここは大丈夫な筈って思い込んで何時間も無駄にするのはよくある話だからね。

207 :名称未設定:2011/11/28(月) 00:40:22.74 ID:uI7mHsyX0
すいません
>>139ってどなたかわかりませんか?


208 :名称未設定:2011/11/28(月) 01:17:31.46 ID:vZoCIBnfP
>>190
BTのデバイスは何?汎用は無理よ。

209 :名称未設定:2011/11/28(月) 01:35:58.23 ID:v8k1C+Tm0
>>207
選択してdeleteキーじゃダメなん?

210 :名称未設定:2011/11/28(月) 01:45:46.76 ID:lyVmM1xn0
TextViewについて質問なんですが、
Xcodeで編集、表示するときはoption+Enterでちゃんと改行できるんですが、
それをエミュレータや実機で表示するとなぜか改行が出来ていません。

Xcode:http://www.dotup.org/uploda/www.dotup.org2317203.jpg
エミュレータ:http://www.dotup.org/uploda/www.dotup.org2317204.jpg

こうなってしまいます。
どうすればエミュレータや実機でも改行表示にできるんでしょうか?

211 :名称未設定:2011/11/28(月) 01:47:24.39 ID:lyVmM1xn0
ちなみに>>210のXcodeのバージョンは4.2です

212 :名称未設定:2011/11/28(月) 02:40:36.23 ID:oL8KagNx0
textview.text = @"text\ntext\ntext"

213 :名称未設定:2011/11/28(月) 04:39:45.85 ID:xtjCMtH00
>>188
たぶんiOS5からの問題だと思います。私も解決方法は分かりませんが

214 :名称未設定:2011/11/28(月) 05:07:40.12 ID:wV7A45Oh0
>>207
Xcode4.2のファイル管理UI周りはバグたくさんあるよ。消したくても消せなかったり、
新規ファイルが好きな場所に作れなかったり、クラッシュしようとしたり。

215 :名称未設定:2011/11/28(月) 09:28:35.38 ID:UY0GJBUi0
ソースコード管理を使ってると特にそうだね。

216 :名称未設定:2011/11/28(月) 09:40:04.55 ID:HuqMU6Hb0
NSUserDefaultより複雑なデータを保持したいときは何を使うのがいいですか?
ゲームのセーブデータみたいなものなのですが、
NSDictionaryでplist書き出しが一般的ですか?

217 :名称未設定:2011/11/28(月) 10:29:23.69 ID:UY0GJBUi0
NSUserDefaultにNSDictionaryが入るんだからどっちでもいいかと。
個人的には(システムから設定しない)設定情報はNSDictionaryで保存してる。

218 :名称未設定:2011/11/28(月) 11:31:59.60 ID:/36sImFQP
>>212
そうやるんじゃなくて、storyboard内だけでできる方法ないですかね?

219 :名称未設定:2011/11/28(月) 12:07:14.35 ID:gFpbW5fR0
>>218
xib なら改行されるけど、storyboard だと改行されない。バグってるね。

220 :名称未設定:2011/11/28(月) 12:45:33.51 ID:/36sImFQP
>>219
バグですか・・・困ったなあ

221 :名称未設定:2011/11/28(月) 14:02:15.26 ID:AbhWX8aa0
>>220
素直に>>212の助言を聞いとけやカス

222 :名称未設定:2011/11/28(月) 14:58:53.69 ID:HKoC0C5k0
>>137
ありがとう
「objective-c」を検索ワードから除外したらヒットしました
・・・ググる先生の基準がよくわからない・・・

223 :名称未設定:2011/11/28(月) 15:12:27.76 ID:xzKVRmd/0
>>194
どなたかわからないでしょうか?


224 :名称未設定:2011/11/28(月) 15:18:04.59 ID:/LCtsSMr0
>>222
検索ベタなだけだよ
だってobjcって入れる意味ないし

225 :190:2011/11/28(月) 17:59:33.25 ID:IOjNILst0
>>208

ヘッドセットを使う予定であります。
購入してペアリングも確認済みです。
ttp://buffalo-kokuyo.jp/products/multimedia/headset/bluetooth/bshsbe04/

226 :名称未設定:2011/11/28(月) 20:45:24.65 ID:uI7mHsyX0
>>209
消せないすね
>>214
やはりバグですかね

手でファイル弄るしかないのかな
少し不安だけど…

227 :名称未設定:2011/11/28(月) 22:12:53.45 ID:g6IY95Ul0
まったく知識なく本など読んだりネットで調べるなどでアプリ作成ってできますか?
ちなみに最終的にはベーカリーストーリーみたいなソーシャル系のアプリ作りたいです。


228 :102:2011/11/28(月) 22:42:09.37 ID:gFpbW5fR0
>>227
不可能ではないけど、簡単でもないよ。
しかも、ソーシャル系ってことはサーバの知識も必要だから、かなり難しいと思う。
頑張ってね。

229 :名称未設定:2011/11/28(月) 22:57:24.74 ID:g6IY95Ul0
>>228
ありがとうございます。
ソーシャル系は難しいんですね。課金導入なんてなるとさらにレベル上がるのかな。
とりあえずやってみないことには始まらないので簡単なのからチャレンジしてみます。

スレチかもしれませんがストアにおいてあるアプリは全世界共通ですか?




230 :名称未設定:2011/11/28(月) 23:00:25.57 ID:gFpbW5fR0
102 ってなんだよ。汗

>>229
配布先は日本だけとか世界中とか自分で設定できる。
ってか、その調子で何から何まで質問するつもり?

231 :名称未設定:2011/11/28(月) 23:05:41.08 ID:g6IY95Ul0
>>230
いやただ最後のはFacebookとかTwitterで外人にもアピールしようと考えてたけど全世界共通なのかふと書いてるうちに疑問になったんで、

何冊か本注文してみたありがとう(^-^)/

232 :78:2011/11/29(火) 02:06:56.66 ID:9m0Q/bT50
かなり今更ですけど答えてくれた人ありがとうございます。。

233 :名称未設定:2011/11/29(火) 03:40:38.82 ID:GRhm7Wtl0
>>229
あと、ゲーム作るのにも技術が必要なんだぜ。
プログラム理解したらゲーム作れると思ったら大間違い。

234 :名称未設定:2011/11/29(火) 09:29:06.99 ID:w49F5EPFP
>>225
Outputのaudio unitのpropertyリスナにルートチェンジの通知が上がる。

235 :名称未設定:2011/11/29(火) 10:03:58.46 ID:3MEJ/Bmh0
iOS5の仕様変更のバグ修正で、アプリが正常に動かなくなってた…

Notification周り、めちゃくちゃだな。

236 :名称未設定:2011/11/29(火) 10:07:38.42 ID:2Ee8Uzbb0
UItableViewのeditingをYESにしてからNOに戻す時やreloadを使用した場合
選択状態が解除されてしまうのですが
これを防ぐ方法はないでしょうか

237 :名称未設定:2011/11/29(火) 10:46:36.08 ID:24tHbq9D0
>>235
おおそれ、俺はNSNotification使ってるところは全部やめて、直接メソッド呼ぶ事にした。
あとタッチの透過の挙動も少し変わったな。

238 :名称未設定:2011/11/29(火) 10:57:20.06 ID:hQQvHTJR0
え、notificationでクラス間連携してたの?

239 :名称未設定:2011/11/29(火) 11:02:19.77 ID:24tHbq9D0
>>238
あちこちのオブジェクトに通知してたんだよ。

240 :名称未設定:2011/11/29(火) 11:08:30.71 ID:9/N8Trti0
>>237
具体的に何が変わったの?

241 :名称未設定:2011/11/29(火) 11:36:08.20 ID:24tHbq9D0
>>240
すまん、その時は調べるのがめんどくさくて、とっとと変えてしまったのだ。
通知周りは、変わったような気がしたんだが、今よく考えると変わってなかったかもしれないなw
タッチについては、ちゃんとオーバーライドしましょうって事だったかな?
大した事じゃないよ。

242 :名称未設定:2011/11/29(火) 11:59:46.71 ID:z+HnJR5d0
NSNotificationの仕様が変更になったというよりも、
潜在していたバグが修正されて間違えた使い方をしていたアプリが動かなくなっただけ。


243 :名称未設定:2011/11/29(火) 12:23:18.31 ID:hQQvHTJR0
通知はafterdelay:0使ってるな。これも間違った使い方、と言われるとアレだけど。

244 :名称未設定:2011/11/29(火) 12:25:45.04 ID:AVXwqec10
NotificationCenterのことを言ってるのかLocalNotificationのことを言ってるのか
はたまたPushNotificationのことを言っているのか


245 :名称未設定:2011/11/29(火) 12:37:13.01 ID:idE/d9zZ0
5.1ベータにXcode4.3Previewか

246 :名称未設定:2011/11/29(火) 12:49:06.37 ID:uk6B2VBG0
アプリ内でそのプログラムを実行している端末がインストールしている
アプリケーションの一覧を取得することは可能でしょうか?

247 :名称未設定:2011/11/29(火) 12:51:42.24 ID:oweQcmEt0
>>246
無理。スパイウェア作りたいの?

248 :名称未設定:2011/11/29(火) 13:46:40.77 ID:3QR66p4a0
>>244
NSの文字を見なかったことにすんなよ

249 :名称未設定:2011/11/29(火) 13:57:22.62 ID:bCFqI8Mo0
>>248
>>237がエスパっただけで話題提起した>>235は言ってないだろ

250 :名称未設定:2011/11/29(火) 14:11:56.37 ID:hQQvHTJR0
>>246
自分のアプリなら可能、かな。keychain使って。

251 :名称未設定:2011/11/29(火) 14:18:40.88 ID:3QR66p4a0
>>249
それならそれで>>244がNSNotificationを挙げなかった理由は?

252 :名称未設定:2011/11/29(火) 14:28:49.27 ID:oCfp9vsII
ios5.1とxcode4.3
ってどこからダウンロードできるんでしょう?
developer programは登録しています。

253 :名称未設定:2011/11/29(火) 15:14:13.11 ID:BVYbefAg0
>>252
登録してるならダウンロードできる筈。お布施が必要かも知れないけど。
ってか、ベータ版は NDA だよ。

254 :名称未設定:2011/11/29(火) 15:46:42.38 ID:wuA6g1Wm0
>>252
iOS5.1 SDK beta のタブがあるでしょ。



255 :名称未設定:2011/11/29(火) 16:41:43.98 ID:idE/d9zZ0
>>252
上の
( iOS 5 SDK)   iOS 5.1 SDK beta
の5.1の方をクリック

256 :名称未設定:2011/11/29(火) 19:10:07.44 ID:jQxAA2MT0
質問です。

空のNSMutableDictionaryの生成例(下記)がネットに出ていたのですが、
allocやinitは不要なのでしょうか?

<生成例>
NSMutableDictionary *exdic = [NSMutableDictionary dictionary];

257 :名称未設定:2011/11/29(火) 19:29:47.74 ID:BVYbefAg0
>>256
それはコンビニエンスコンストラクタと言って、
NSMutableDictionary *exdic = [[[NSMutableDictionary alloc] init] autorelease];
と同じ動作をするメソッドです。
(ってか、ここで延々話してたことは一体…)


258 :256:2011/11/29(火) 20:00:58.95 ID:jQxAA2MT0
>>257
レスありがとうございます。
コンビニエンスコンストラクタが有るクラスと無いクラスは、
どうやって判断すれば良いのでしょうか?


259 :まるも:2011/11/29(火) 20:02:06.26 ID:EIine9Xf0
まるも

260 :名称未設定:2011/11/29(火) 20:05:49.26 ID:BVYbefAg0
>>258
リファレンスのクラスメソッドの所を見る。
dictionary メソッドは NSDictionary のメソッドだから、親クラスのリファレンスも。
ってか、まともな Objective-C の解説書には書いてあるはず。

261 :名称未設定:2011/11/29(火) 20:18:49.92 ID:d3if72HL0
NSLogをデバッグ時のみ有効にしています。
リリース時のパフォーマンスは何も記述していない時と同一でしょうか?

262 :名称未設定:2011/11/29(火) 20:39:55.34 ID:eUDhK7MO0
自分でわからないくらいなら大差ないんだべ。

263 :sage:2011/11/29(火) 20:48:20.60 ID:7BJO3ueRI
ありがとうございます。
頑張ります。

264 :名称未設定:2011/11/29(火) 22:32:46.50 ID:mWoNaSWk0
教えてください。
xcode4.2を使っています。
iOS development targetを3.1にしてビルドすれば
3.1でも動くものができあがるんでしょうか?

もしそうだとすると、targetを3.2にした場合って3.1じゃ問答無用で動かない奴ができあがりますか?



265 :名称未設定:2011/11/29(火) 22:38:05.39 ID:oCfp9vsI0
>>253-255
有り難うございました!
上のほうで完全に見逃してました。

266 :名称未設定:2011/11/29(火) 22:51:25.63 ID:w49F5EPFP
>>264
指定バージョン以降に出てきたAPI使わなきゃね。

> もしそうだとすると、targetを3.2にした場合って3.1じゃ問答無用で動かない奴ができあがりますか?
うん、同期やインストール時にエラーが出る。

267 :名称未設定:2011/11/29(火) 23:49:12.70 ID:SLW6E7wj0
>>234
ありがとうございます。

268 :258:2011/11/30(水) 08:19:14.09 ID:gufC7IDp0
>>260
ありがとうございます。


269 :名称未設定:2011/11/30(水) 11:38:16.37 ID:WSqZKBth0
初心者です。XCode4.2を使用しています。
画面の遷移テストをしているのですが、元となるビューの背景色が変更できません。

メインのビューコントローラーのボタンを押すと、presentModalViewControllerでサブ画面に移ります。
この時、サブ画面側のloadViewメソッド内で
self.view.backgroundColor = [UIColor blueColor];
によって背景色を指定しており、これはこの通り青で表示されます。

サブ画面のボタンからはdismissModalViewControllerAnimatedが呼び出され、これにより元の画面に
戻ります。
元のviewControllerにはloadViewメソッド内で
self.view.backgroundColor = [UIColor redColor];
を指定してあり、サブ画面のボタンを押した後一瞬だけ赤い画面が見えるのですが、すぐに白に変わってしまいます。
viewDidAppearなどにも指定してみたのですが、ダメでした。

他に背景色を指定しているような個所はないのですが、何を間違っているのでしょうか?

270 :269:2011/11/30(水) 12:30:22.04 ID:WSqZKBth0
自己解決しました。
原因は「貼付けていたラベルの大きさが、画面全部を覆うほど大きかった」でした。

271 :名称未設定:2011/11/30(水) 15:13:04.84 ID:+oRCyC6d0
ええー

272 :名称未設定:2011/11/30(水) 15:27:29.37 ID:UqKgIhbU0
知り合いから会社の紹介アプリを作ってくれと言われているのですが
小さな会社ひとつ紹介するだけのような内容で審査って通るものでしょうか?

273 :名称未設定:2011/11/30(水) 15:30:18.87 ID:tL1gzvpX0
>>272
Adhocでよいのでは?

274 :名称未設定:2011/11/30(水) 15:34:29.97 ID:+oRCyC6d0
>>272
Webページでいいのでは?

275 :名称未設定:2011/11/30(水) 15:37:27.21 ID:GK6ORASO0
>>272
審査通るけどそんなアプリ誰もDLしないから作るだけ金の無駄だよって言っておけば?

276 :名称未設定:2011/11/30(水) 15:37:50.03 ID:lop58uWy0
はやりのiPhoneアプリを自社でも持ちたいと言うことでしょ。

あんまり簡単すぎると審査通らないよ。会社紹介ってのがそれに該当するかどうかはわからない。
要は出してみないとわからない。

277 :名称未設定:2011/11/30(水) 15:38:58.31 ID:KhxNoMQQ0
検索結果のゴミになるからそんなもん出すなっていっとけ

278 :名称未設定:2011/11/30(水) 16:00:42.46 ID:w9ttxQzd0
>>272
多分Webページがベストだと思う

マメに更新する情報があるなら
ブログやらフェイスブックやらツイッターやらで
つながりを保てるし

279 :名称未設定:2011/11/30(水) 16:16:03.02 ID:+oRCyC6d0
webページへのショートカットをHomeに置けるしね。

280 :名称未設定:2011/11/30(水) 17:27:54.35 ID:VXpWrzedP
>>272
そんな世間知らずからはふんだくってやるに限る。

281 :名称未設定:2011/11/30(水) 21:06:20.57 ID:lKro3Ow4P
Less functionayでreject.

282 :名称未設定:2011/11/30(水) 21:15:15.23 ID:gufC7IDp0
>>276

>あんまり簡単すぎると審査通らないよ。

機能が単機能だと審査通りませんか?
「簡単」って、何が「簡単」ってことでしょうか?





283 :名称未設定:2011/11/30(水) 21:17:03.91 ID:OLfUjgxz0
例えば hello world は審査通るのか?みたいな事だろ。

284 :名称未設定:2011/11/30(水) 21:51:54.17 ID:MMuS4kbF0
iTunes Connectで、登録したときから今までの全てのダウンロードレポートを見たいのですが、
そのようなことは可能なんでしょうか。

285 :名称未設定:2011/11/30(水) 22:19:47.34 ID:EWKqqsv90
iTC に書いてあることくらい読めばいいのに

286 :名称未設定:2011/11/30(水) 22:19:53.18 ID:HxBs9tkV0
>>282
リリースに値する機能が実装されてないとリジェクトされる。
企業広告なんかグレイラインだな。
実際どうなるか興味あるから試してみてくれ。

287 :名称未設定:2011/11/30(水) 22:26:12.59 ID:5aujRDiF0
時計にでもすればいいじゃん。

288 :名称未設定:2011/11/30(水) 23:00:12.74 ID:+oRCyC6d0
専務時計。

289 :名称未設定:2011/12/01(木) 03:46:02.58 ID:K1GCiKTm0
それなりの規模の会社ならリクルーターとか対外用に
企業要覧つくってあんじゃん。
あれPDFにしてページものにすれば通るだろ。
電子書籍アプリがこんだけまかり通ってるんだから。

でも、そんなんじゃつまんないからすごろくにしろ、すごろくに。

290 :名称未設定:2011/12/01(木) 05:19:08.93 ID:yKMJxUpY0
>>282
>「簡単」って、何が「簡単」ってことでしょうか?

審査全部に該当するんだよな〜。ガイドラインはあるけど、実際のところは出してみないと分からない。
リジェクトされたら上告できるけど、判例に従うわけでもないから、やっぱり出してみないと分からない。
別のアプリは審査通ってるよね??と言ってもムリ。

291 :名称未設定:2011/12/01(木) 08:38:08.73 ID:GeUj1B81P
既に有るから却下あるのも有るぞ。フラッシュ使った懐中電灯とか。

292 :名称未設定:2011/12/01(木) 08:52:39.58 ID:GNND9s7X0
ブブゼラとかな

293 :名称未設定:2011/12/01(木) 09:27:58.73 ID:V1elUA/N0
I am rich.

294 :282:2011/12/01(木) 10:30:15.83 ID:k79S03ak0
>>283,286-292
レスありがとうございます。
完成したら申請してみます。


295 :名称未設定:2011/12/01(木) 10:48:16.60 ID:zjBtcupv0
作るのかw

296 :名称未設定:2011/12/01(木) 11:01:27.37 ID:wCzGJSK80
メモリ解放アプリってどんな仕組みなんでしょう?つくってみたいのですが…検すてもヒットしません(´・_・`)

297 :名称未設定:2011/12/01(木) 11:21:49.57 ID:79iPG7eBi
>>296
仕組みが分からないものを作ろうと思うな。

298 :名称未設定:2011/12/01(木) 12:23:05.38 ID:RjKXx+vw0
UIWebViewにhtml読み込ませて表示するだけのアプリ作ればいいよ。
そんで、ものすごい工数が掛かるとか言って100万円くらい請求する。
アホな情弱クライアントからは思い切りふんだくってやれ。

299 :名称未設定:2011/12/01(木) 12:35:43.02 ID:y5Zzc4lT0
愛蜜とられてアウトだろ。

300 :名称未設定:2011/12/01(木) 12:39:23.15 ID:sz7uyLci0
>>294
もしかして契約だけ取れちゃったのか?
そば屋の出前みたいな営業さんは信用無くすぞw

301 :名称未設定:2011/12/01(木) 12:48:07.54 ID:K1GCiKTm0
そば屋の出前バカにすんな by そば屋の出前

302 :名称未設定:2011/12/01(木) 14:05:16.70 ID:zjBtcupv0
クソ寒い雨の日でもそばを届けてくれてありがとう。

303 :名称未設定:2011/12/01(木) 14:26:52.26 ID:IR21PGNT0
初歩的な質問ですいません。
@propertyのインスタンス変数は,初期化をしなければ使えない?
例えば インスタンスfooだとして
@property (...) NSString* dummy;
@synthsize dummy;
だけでfoo.dummy = @"Bar";としても、だめで
例えばviewDidLoadとかで
self.dummy = [NSString alloc] init];
しておかなければいけないとか。
ARC使用です。

304 :名称未設定:2011/12/01(木) 14:50:51.75 ID:TpqaW5u50
単にfoo.dummy = @"Bar";してるところを起動時に通ってないだけだろ

305 :名称未設定:2011/12/01(木) 14:59:51.20 ID:PEt/WwSD0
>>303
そりゃそうだろうな。
property, synthesizeだけじゃdummyのインスタンスが生成されてないからな。

306 :名称未設定:2011/12/01(木) 15:01:44.72 ID:y5Zzc4lT0
初期化しなければ nil でしょ。

307 :名称未設定:2011/12/01(木) 15:20:41.88 ID:K1GCiKTm0
>>303
この人初期化しないといけないかと聞いてるだけで、
試してみておかしかったとか言ってるわけじゃないよね。

なので答えは「しなくてもいい」
以上

308 :名称未設定:2011/12/01(木) 15:25:12.93 ID:PEt/WwSD0
いやいや、使えないかと聞いてるんだから答えは「使えない」だろ。

309 :名称未設定:2011/12/01(木) 15:37:06.59 ID:y5Zzc4lT0
参照と値の区別がついてない予感。

310 :名称未設定:2011/12/01(木) 18:21:01.26 ID:TpqaW5u50
>>306
Releaseビルドなら「不定」じゃね?
偶然nilになってることはあっても保証はされてないとオモ

311 :名称未設定:2011/12/01(木) 19:03:40.12 ID:jTIsyx/L0
>>310
インスタンス変数が nil (0) に初期化されることは言語仕様で保証されてる。

312 :名称未設定:2011/12/01(木) 19:04:41.18 ID:y5Zzc4lT0
http://developer.apple.com/jp/documentation/cocoa/conceptual/objectivec/Articles/chapter_13_section_3.html#//apple_ref/doc/uid/TP30001163-CH9-CJBBEEFH
>引数
>init...メソッドでは、オブジェクトのインスタンス変数のすべてが、適正な値であることを保証する必要があります。
>これは、各変数に対応して引数を用意する必要があるという意味ではありません。
>一部をデフォルト値に設定するか、新しいオブジェクトに割り当てられたメモリのすべてのビット(isaを除く)が
>0に設定されるという事実に依存することができます

313 :名称未設定:2011/12/01(木) 19:44:52.69 ID:GeUj1B81P
ARCなら保証されんじゃなかったっけ?

314 :名称未設定:2011/12/01(木) 20:18:09.98 ID:YZANnjNe0
質問お願いします。
アプリの保存方法で、普通にバイナリで保存するのと、
coredataを使ってsqliteに保存するのとで迷っています。
容量が大きいなら、coredata一択というのが、本読んだりサイト見たりしてたら出てきてたんですが、
だいたいどの規模のアプリくらいからが適切なんですかね?
ちなみに私は、ユーザーに入力させた文字を保存して保存したデータをテーブルに表示する感じのアプリ作っています。
画像とか保存させたりはないので、そんなに容量は大きくならないかなーとは思っていますが。
参考にしたいので、意見もらえたらうれしいです。

315 :名称未設定:2011/12/01(木) 20:34:52.95 ID:jTIsyx/L0
>>313
C 言語的にはローカル変数にはゴミが入ってるけど、ARC なら id などのオブジェクトのポインタ型はローカル変数でも nil に初期化される。
(というか、そうしないと ARC が誤動作する。)

>>314
容量よりも、データ構造によるんだと思う。
「ユーザーに入力させた文字を保存して保存したデータをテーブルに表示する」なら Core Data を使う価値はありそうな気がする。

316 :名称未設定:2011/12/01(木) 20:49:10.23 ID:YZANnjNe0
>>315
レスありがとうございます。
Coredataをもう少し勉強してみます。

317 :名称未設定:2011/12/01(木) 22:46:29.28 ID:+TAM+IPx0
デベロッパー参加の8000円はiTunesカードで支払うことはできますか?
クレジット番号入力はセキュリティ的に避けたいので。

318 :名称未設定:2011/12/01(木) 22:49:22.14 ID:jTIsyx/L0
>>317
無理だと思う。購入後すぐにカードの登録を抹消すればいい。

319 :名称未設定:2011/12/01(木) 22:53:52.77 ID:+TAM+IPx0
>>318
ありがとうございます。クレジット番号を含んだパケットをネットに流したくないので、やめます。

320 :名称未設定:2011/12/01(木) 23:04:21.66 ID:wgREI/M20
なんもできねーよ

321 :名称未設定:2011/12/01(木) 23:06:39.53 ID:KCB5Co290
最近ランキング上位のレビューのサクラ率が非常に高くなってる気がします。
あれはどこでおいくらくらいで雇われているものなんですか?
それとも本物のレビューだったりして・・

322 :名称未設定:2011/12/01(木) 23:15:00.77 ID:WRnJzmIy0
>>320
何もする気が無いんだよ。

323 :名称未設定:2011/12/01(木) 23:15:41.03 ID:wgREI/M20
ランキング操作を業務とする会社はいくらでもあるよ。


324 :名称未設定:2011/12/01(木) 23:28:28.03 ID:J4JrgbbN0
また碌でもない下劣なアプリがのし上がってきてんな
アダルトカテゴリ作って隔離しろよ糞林檎

325 :名称未設定:2011/12/01(木) 23:58:33.15 ID:RjKXx+vw0
アダルト電子書籍とか、もうね

326 :名称未設定:2011/12/02(金) 00:12:06.15 ID:mvQhYMV00
UITextFieldのカーソルを非表示にする方法ってないんですかね…?

327 :名称未設定:2011/12/02(金) 00:20:52.59 ID:M+cxZo//0
いくらでもあるだろうけど見たことない
どうやってググれば出てくる?

328 :名称未設定:2011/12/02(金) 00:48:53.04 ID:LV5mTwKf0
http://www.google.co.jp/search?q=uitextfield+cursor+invisible

329 :名称未設定:2011/12/02(金) 05:11:44.54 ID:RD0D7dyf0
どういう意図かはしらないが、デザイン的に気に入らないからと編集中にカーソル非表示させるのはかなり良くない。


330 :名称未設定:2011/12/02(金) 05:59:22.27 ID:M+cxZo//0
意図がわからないのに否定するなんてね
ちなみに>>327>>323

331 :名称未設定:2011/12/02(金) 07:08:35.96 ID:Q/ekz0Ia0
あたらしいβのサンプルコード無いかなぁ。キキトリサセタイ

332 :名称未設定:2011/12/02(金) 10:18:28.53 ID:wJxAlBwu0
すれ違いなのはわかってるのだけど、
解決できそうなのがここなのですいません。

iphoneで、ダウンロードしたことのない
アプリのダウンロードを促す、
AppStoreの通知が出ました。
iBrowserというあやしいasobo出会い系サイト閲覧アプリ。

で、androidはair push型広告として
跋扈してると調べたのですが
iphoneでそんなことありえる?
他のたちの悪いアプリが、
他アプリのダウンロード通知を
作り出して収入を得たりするのかしら。

技術的にも可能なのか、
こちらの操作ミスなだけか、教えてください。

333 :名称未設定:2011/12/02(金) 10:37:12.33 ID:g2tn2UW50
>>332
スレ違いです

334 :名称未設定:2011/12/02(金) 10:54:59.22 ID:JwTimCSo0
UIWebViewで文字列をloadHTMLStringで入れたとき
goBackする時はどうすればいいでしょうか

コレクションで前画面の文字列を保持する意外に方法はないでしょうか

335 :名称未設定:2011/12/02(金) 11:04:40.38 ID:+fSyd+4J0
通知って、通知元のアプリを開く事しかできないよね。アプリを開いた後でSafariに飛ばすことはできるけど。
どのアプリが呼んだのかは、通知センターにアイコンがでるから分かると思う。

336 :名称未設定:2011/12/02(金) 11:07:25.99 ID:M+cxZo//0
海外の無料トップアプリとか入れてから
今日起動してへんで!みたいな通知くることある

337 :名称未設定:2011/12/02(金) 11:11:13.31 ID:anUtKGur0
>>333
loadHTMLString した分はそもそも履歴に残らないから、どうしようもないんじゃない?

338 :名称未設定:2011/12/02(金) 13:33:56.79 ID:p4J/rJxt0
Xcode4のIBインスペクタ・ペインでView attributesに
Stretching X Y Width Heightというのがあるのですが,
具体的に何ができるのでしょうか?
というより,プロパティのcontentStretchに対応していると考えてあってる?

IBは便利なのだけど,時々,どのメッセージに対応しているのかがわからなくて。

339 :名称未設定:2011/12/02(金) 15:03:34.20 ID:JwTimCSo0
sqlでlike演算子を使用したいのですが、うまく結果がとれません
どこが間違っているのでしょうか
const char *sql = [[NSString stringWithFormat:@"%@",
@"select * from table where spell like '?%'"]UTF8String];
バインド部分
sqlite3_bind_text(stmt, 1,[searchWord UTF8String],-1, SQLITE_TRANSIENT)

340 :名称未設定:2011/12/02(金) 15:14:31.54 ID:rgfi3Zj60
こうじゃね?
"select * from table where spell like ?"

341 :名称未設定:2011/12/02(金) 15:21:33.27 ID:L3EZ0TIw0
UTF8Stringはスコープ抜けると開放されるぞ。そのあたり大丈夫?

342 :名称未設定:2011/12/02(金) 15:24:21.42 ID:rgfi3Zj60
つうか単にsqlをリテラルで初期化するだけでいいじゃん。

343 :名称未設定:2011/12/02(金) 15:50:05.05 ID:anUtKGur0
バインド対象の ? は like '?%' のように文字列の中に埋め込むことはできず、like ? と書く必要がある。
で、searchWord で始まる文字列で検索したい場合、like '?%' の ? に searchWord をバインドするんじゃなくて、
like ? の ? に searchWord + "%" をバインドする必要がある。

つまり、
const char *sql = "select * from table where spell like ?";
sqlite3_bind_text(stmt, 1,[[NSString stringWithFormat:@"%@%%", searchWord] UTF8String], -1, SQLITE_TRANSIENT);
ってこと。

344 :名称未設定:2011/12/02(金) 16:08:04.10 ID:JwTimCSo0
>>343
ありがとうございました。

345 :名称未設定:2011/12/02(金) 17:33:50.83 ID:yCARDUdv0
最近iPhoneアプリ開発を始めて色々勉強中なのですが
htmlのタグみたいにテキストの指定の位置だけ文字サイズとか色とかを変えたりって出来ないのでしょうか?
例えば「こんにちは」の「こん」の部分だけ大きくするみたいな事なんですが
検索しても見つからなかったので、よかったら教えてください

346 :名称未設定:2011/12/02(金) 17:44:31.82 ID:g2tn2UW50
>>345
できる

347 :名称未設定:2011/12/02(金) 18:39:42.69 ID:yCARDUdv0
>>346
どうやれば良いでしょうか?

348 :名称未設定:2011/12/02(金) 18:44:04.16 ID:Zkxl2yH80
htmlでやるのが一番簡単じゃね?
自前でレンダリングは面倒だし、PDFってのもどうかと思うし。

349 :名称未設定:2011/12/02(金) 21:06:56.19 ID:mvQhYMV00
>>329
意図しないAPIの使い方はよくないってこと?

350 :名称未設定:2011/12/02(金) 21:52:13.65 ID:doUTZbk/0
ユーザーのことをかんがえろってことかと

351 :名称未設定:2011/12/02(金) 21:59:28.14 ID:RD0D7dyf0
>>347
NSAttributedStringってiOSでは使えなかったかな。
あるいはCoreTextとかも。
楽なのはWebView + HTML + CSSね。

>>349
開発側の短絡的な都合で、普遍的なUIの挙動を否定するような実装は避けるべき。
テキストのカーソルってのは基本的にどのGUI(あるいはCUI)においても、ほぼ同じ挙動をする。
なので、「編集中に点滅してるのが気に食わない」程度の理由でそれを無くしてしまうのは、俺は良くないと思う。
ユーザーからしたら、普通とは明らかに違う見た目や動きをするUIは気持ち悪い。


もし編集できなくていいのなら、editableフラグをNOにすればいい。あるいはタッチ自体を受け付けないようにする。
編集中でも、resignFirstResponderすればフォーカスが外れる。

いずれにしてもどういう意図なのかあのレスだけでは分からないから、勝手に憶測してこう答えるしか無い。


352 :名称未設定:2011/12/03(土) 09:07:46.10 ID:+m0q6gqr0
以下のような構造でインクリメンタルサーチを実行したのですが
速度がかなり遅くなってしまいます。
以下のコードでどこを改善すればいいでしょうか
create table dictionary(spell text primary key, content text);
select * from dictionary where spell like 'searchWord%' 

sqlite3_exec(database, "BEGIN", NULL, NULL, NULL );
if(sqlite3_prepare_v2(database, sql, -1, &stmt, NULL) == SQLITE_OK) {
sqlite3_bind_text(stmt, 1,[searchWord UTF8String],-1, SQLITE_TRANSIENT);
while(sqlite3_step(stmt) == SQLITE_ROW) {
char* cSpell = (char *)sqlite3_column_text(stmt, 0);
}
}
sqlite3_exec(database, "COMMIT", NULL, NULL, NULL );

353 :345:2011/12/03(土) 09:20:50.73 ID:qMfR4bxo0
>>348,>>351
ありがとうございます
そのへん調べてやってみます

354 :名称未設定:2011/12/03(土) 09:30:56.32 ID:RBBPG/LV0
>>352
select にトランザクション (begin 〜 commit) って必要?

355 :名称未設定:2011/12/03(土) 09:42:30.72 ID:+m0q6gqr0
>>354
selectでも若干速くなると聞きましたのでつけてみました

356 :名称未設定:2011/12/03(土) 09:55:10.82 ID:RBBPG/LV0
>>355
それは DB の更新の場合で、検索には関係ないと思うけど…。
ちなみに、データは全部でどのくらいあるの? あと、Core Data 使わない理由は?

357 :356:2011/12/03(土) 10:42:13.36 ID:RBBPG/LV0
訂正。一つのトランザクションで複数の select をする場合は多少速くなるみたいだね。
でも、今回みたいに select 一つだけなら効果ないみたいだよ。
http://www.mail-archive.com/sqlite-users@sqlite.org/msg65765.html

あと、検索終わったら sqlite3_finalize してる?
(毎回 prepoare と finalize せずに reset して使い回した方がちょっとだけ
効率いいだろうけど、まぁ誤差の範囲だろうな…。)

358 :名称未設定:2011/12/03(土) 11:29:03.47 ID:RBBPG/LV0
もしかして、辞書アプリかな?
元データが何万件もあって、一文字打った瞬間に何千件もヒットするとかなら、
それは検索のコードが悪いんじゃなくて、そもそも一文字だけで全件検索しちゃいけなくて、
limit をかけて件数を制限するとか、別の工夫が必要だと思う。

359 :名称未設定:2011/12/03(土) 12:55:29.95 ID:+m0q6gqr0
>>358 何度もありがとうございます
辞書ではないのですが、一万件程度のデータで文字コード順にソートしてあります
limitで制限しても検索時間はlimitをかけていない時とあまりかわらないです
select * from dictionary where spell like 'あん%' limit 1
以下のような状態であんあん、あんこ、あんぱんを取り出したいのですが
高速にselectする方法はないでしょうか
あわいピンク
あんあん
あんこ
あんぱん

360 :名称未設定:2011/12/03(土) 13:02:05.24 ID:0mfWxMt+0
sqliteのデータベースにindexを作成したら。
前方一致なら効果は見込める。
ただし、ファイルサイズが大きくなるから
そのあたりは考慮。


361 :名称未設定:2011/12/03(土) 13:22:29.60 ID:+m0q6gqr0
>>360 ありがとうございます
primary keyにたいしてlike演算子を使用しているのですが
primary keyの項目にindexを作成してもいいのでしょうか


362 :名称未設定:2011/12/03(土) 14:14:07.44 ID:+m0q6gqr0
>>358 >>360 ご指摘ありがとうございました
COLLATE NOCASEをつけないと
like演算子を使用する場合はインデックスは無視されるようです

363 :名称未設定:2011/12/03(土) 20:51:53.24 ID:PWko6Ezb0
先日アプリの更新の申請をして現在のステータスはwating reviewです。
が、申請したものでバグがあったので再申請をしたいんですけどできますか?
itunesconnectを見ていたんですが見当たらなくて。

364 :名称未設定:2011/12/03(土) 20:59:13.58 ID:tnnQ37nn0
>>363
今のやつを一旦自分でリジェクトして、申請し直せばいいはず。やり方は知らない。

365 :名称未設定:2011/12/03(土) 21:01:29.41 ID:PWko6Ezb0
ありがとう!
binary ditails画面の右上にrejectボタンがありました。
これでいけそうです。

366 :名称未設定:2011/12/03(土) 23:04:06.43 ID:ERbBmx+t0
すみません、どうしてもわからなかったので教えてください。

連絡先(アドレス帳)一覧のアプリをつくろうと思っているんですが、
特定のグループに属する人だけを抽出したいです。

普通に全体の一覧を取得するとか、グループを取得するとかはできるのですが、
その特定のグループだけを…としたいのですが、いろいろやってみてもどうにも
できません。

申し訳ありませんが、ご教授いただければと思います。

よろしくお願いいたします。


367 :名称未設定:2011/12/03(土) 23:53:24.74 ID:oQ846bt40
エスパー求む。

368 :名称未設定:2011/12/03(土) 23:57:04.10 ID:FJvQVxBr0
「特定のグループに属する人だけを抽出するアプリを作りたい。
特定のグループに属する人だけを抽出するアプリの作り方を教えてくれ。」

ということらしい。

369 :名称未設定:2011/12/04(日) 00:33:28.53 ID:Ri5yJt7P0
それって単純にSQLがうまく作れないってだけじゃあないの?

370 :名称未設定:2011/12/04(日) 02:38:31.33 ID:uRvQc23R0
ご教授には答えません

371 :名称未設定:2011/12/04(日) 04:15:57.79 ID:etjlxmOK0
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1311431093
ご教授くださいがキラいな人おおいみたいだけど
間違ってはいない。

372 :名称未設定:2011/12/04(日) 07:57:30.83 ID:xvlPEJDr0
間違ってはいないのは知ってるが、キラいだ。
しかし俺も本当に困った時はご教授を使ってしまいます。

373 :名称未設定:2011/12/04(日) 08:53:43.92 ID:PxbInaBw0
アプリ開発は学問みたいなモンだから教授でいいんスよ。

374 :名称未設定:2011/12/04(日) 09:17:06.05 ID:s4dNjD8+0
>>366
全体のリストを取得して、各人のグループ属性をチェックして自分で特定のグループのリストを作ればオッケー。

375 :名称未設定:2011/12/04(日) 14:34:57.75 ID:iqEnc7JL0
ソースはYahoo!知恵袋です(キリッ

376 :名称未設定:2011/12/04(日) 15:41:21.19 ID:/2ei2I6W0
>>366
AddressBook ブログラミングガイドくらいの読めよ。

377 :名称未設定:2011/12/04(日) 20:08:55.09 ID:gWrYdCHs0
どうしてもわからなかったんだろw
公式に山ほどドキュメントがあるのにね

378 :名称未設定:2011/12/04(日) 21:08:35.41 ID:NArWc3zQ0
画面推移について質問です。
ボタン(Round Rect Button)を押して他のViewに画面推移をするという操作で、
ボタン上でcontrolを押しながらクリックしてViewへ持って行くと、
push/modal/customが選べますよね?

その時、modalをやると普通に画面推移できるんですけど、
pushだと画面推移できません。
どうやってpushで画面推移できますか?

379 :名称未設定:2011/12/04(日) 21:35:43.63 ID:/2ei2I6W0
>>378
UINavigationBar

380 :名称未設定:2011/12/04(日) 23:42:08.32 ID:LJ1C6dWN0
質問です。 現在、設定言語ごとの時間の単位文字列が取得できずに困っています。

たとえばUIDatePickerでモードを「UIDatePickerModeCountDownTimer」にすると、
日本語設定では「〜時間」と「〜分」と表示され、英語設定では「〜hours」「〜min」と表示されます。
この単位文字列をどうにか取得してNSStringに保持したいのです。

UIDatePickerやNSDateFormatter、NSLocaleクラスなどを調べたり海外サイトを探したりもしましたが、
通貨単位については情報があるものの、時間の単位についてはどうしてもわかりません。
どなたかお分かりの方はいらっしゃいますか?

381 :名称未設定:2011/12/05(月) 00:11:15.62 ID:pwTePa7x0
>>380
それぞれローカライズ文字列作っとけばいいだろ。

382 :名称未設定:2011/12/05(月) 02:02:19.25 ID:y1FnCvy30
>>380
NSLocale *locale=[[NSLocale alloc]initWithLocaleIdentifier:@"ja_JP"];
NSDate *date=[NSDate date];
NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
NSDateFormatterStyle style=NSDateFormatterFullStyle;
[formatter setDateStyle:style];
[formatter setTimeStyle:style];
[formatter setLocale:locale];
NSString *timeString=[formatter stringFromDate:date];
NSLog(@"%@",timeString);

これで"2011年12月5日月曜日 1時58分40秒 日本標準時"という文字列が出てきた。
ここから単位文字が拾えるかな。

383 :名称未設定:2011/12/05(月) 02:05:04.32 ID:WrwFIkSx0
ご教授は以下のようなシチュで使う。
司会者が壇上に上がった先生を聴衆に紹介するような時、
「今から〜先生がご教授くださいます」

自分に対して教えて欲しいような時に使うのは、おこがましいので間違いです(キッパリ!)


384 :名称未設定:2011/12/05(月) 05:31:30.95 ID:i3Va/iVh0
>>380
自分の知る限り取得する方法はないんじゃないかな。

>>382
「1時」という文字列は作れるけど、「時」と「時間」は違うしね。英語は単数複数の違いもある。




385 :名称未設定:2011/12/05(月) 06:53:16.05 ID:MSVubZeg0
質問失礼します。
現在iPhone上部のイヤホンジャックの三極をバラで出すようにケーブル作っています。
iPhone からモノラルフォーンジャックが3本でている状態です。
ここに電流を流し込んで、それぞれどの極から入力されたか個別に取得する事は可能でしょうか?
最終的には、ステレオで入力、モノラルで出力して、ステレオで入ってきた方を個別に処理したいです。
二極を入力に使う事できたのですが、両方ともPANがセンターで入ってきてしまいます。
どなたか情報をお持ちの方がいらっしゃいましたら宜しくお願いします。

386 :名称未設定:2011/12/05(月) 08:19:21.07 ID:y1FnCvy30
>>384
ですよね。

オレなら日本語環境なら"時間"、 "分"、"秒"で、後は英語にするかな。
単数・複数の違いはsecond(s)とか、よくやるよね。

387 :名称未設定:2011/12/05(月) 08:43:42.97 ID:OcpLyTXE0
>>381,382,384,386
やっぱりないですか〜。

単数、複数のローカライズ文字列を作っておくのが現実的みたいですね。
回答いただき、ありがとうございました!

388 :名称未設定:2011/12/05(月) 16:29:27.13 ID:1MMRUCYJi
みんなモックアップツール何使ってる?
ウェブアプリでもアドオンでもなんでもいいけど、
気軽にゆるい雰囲気の画面イメージが作りたいんだけど

389 :名称未設定:2011/12/05(月) 17:55:04.68 ID:cTmmuqg10
>>388
InterfaceとかDappとかどうだ?

390 :名称未設定:2011/12/05(月) 19:32:30.66 ID:Yl+R9Ew20
>>351
今さらだけど、https://github.com/mattt/TTTAttributedLabel っての見つけた。
UILabel に NSAttributedString を指定できるらしい。

391 :名称未設定:2011/12/05(月) 22:58:54.43 ID:Hk0bvLQu0
EINを取得してW-8BENを提出しないと2重課税されるらしいんですが
ネットで色々情報を集めると今は必要ないって書き込みもよく見かけます
どっちが正しいんでしょうか?


392 :名称未設定:2011/12/05(月) 23:21:10.98 ID:SHDnq4ZU0
iPhone3GS(320×480)用で作ってあるアプリを640×960に対応させたいのですが、
どこかで320×480に初期化してるらしく、640×960に変更したくてもできません。
設定はどこにあるのでしょうか?
XCode4.2です。

393 :名称未設定:2011/12/05(月) 23:33:11.48 ID:Yl+R9Ew20
>>392
「640×960に変更」って何を? Retinaでは座標系は320x480のままだってこと理解してる?

394 :名称未設定:2011/12/06(火) 00:15:38.16 ID:xtZj1idF0
[[UIScreen mainScreen] bouns]
は常に320×480を返す
[UIScreen mainScreen].scaleが2の時がRetinaで
Retinaは1であってます?

ちょっとうまくつかめてなくて・・・失礼しました。

395 :名称未設定:2011/12/06(火) 04:36:40.37 ID:X12FuAuL0
>>383
貴様には聞いておらぬゆえ、と大変丁寧な返事をすればいいのか、それ。
とうといあなたさま

396 :名称未設定:2011/12/06(火) 07:59:42.75 ID:DpNiLNmw0
>>391
2年半ほど前の話。
確か今は、米国に住んで無い、働いて無い、の選択でOKのはず。

397 :名称未設定:2011/12/06(火) 10:27:31.04 ID:CAZ/U48Gi
>>389
両方とも800円強かー

398 :名称未設定:2011/12/06(火) 12:23:28.61 ID:6Oic8dQc0
ラムジーどうよ?

399 :名称未設定:2011/12/06(火) 15:59:01.63 ID:BftGUnjc0
Leaksについて教えてください。
このツールでリークと判定されるオブジェクトの基準はどうなっているのでしょうか?
たとえば、非常に長い期間保持していて、後で利用するようなオブジェクトがリークと判定されたりはするのでしょうか?

400 :名称未設定:2011/12/06(火) 16:43:18.16 ID:ZGcbjxPE0
>>399
leak と判断されるのは、オブジェクトは生きてるのに、それを指すポインタがない場合。

>たとえば、非常に長い期間保持していて、後で利用するようなオブジェクトがリークと判定されたりはするのでしょうか?
ない。後で利用するためには、なんらかの形でそのオブジェクトを指すポインタがあるってことだからね。

401 :名称未設定:2011/12/06(火) 17:12:12.44 ID:qJLRxvPk0
すいません、初めてAdMobを導入しようとしてるんですが、
広告が表示されて、それをタップすると、下に「完了」ボタンつきのツールバーが表示されるんですが、
この完了ボタンをタップすると、アプリがクラッシュしてしまいます。

エラーは、EXC_BAD_ACCESSで、[GADViewController relinquishScreen]でクラッシュしてるんですが、
これはどうしたらいいのでしょうか?

よろしくお願いします。

402 :名称未設定:2011/12/06(火) 20:10:04.18 ID:bJuVSQjW0
iOS4では問題なかったのにiOS5になってからローカル通知(UILocalNotification)が起きないという問題が起きているのですが
これの対処法があれば教えてください

よろしくお願いします

403 :名称未設定:2011/12/06(火) 20:26:47.97 ID:4dl8fy8o0
>>401
AdMobに聞け

404 :391:2011/12/06(火) 22:45:47.48 ID:vMiiZrwP0
>>396
ありがとうございます

405 :名称未設定:2011/12/06(火) 22:55:13.22 ID:y6Vuk67H0
>>401
サポートあるんだから聞けよ。
は兎も角rootViewController設定しないとかその辺りじゃないかね

406 :名称未設定:2011/12/06(火) 23:31:12.37 ID:1KRjVwGr0
ARC以前の問題かもしれないけど、みなさん main() で UIApplicationMain を @autoreleasepool で囲ってますか?
エラーは出なくなるけど、アプリが終了するまで解放されないメモリに気づくのを遅らせるやり方だと思うのですが。


407 :名称未設定:2011/12/07(水) 00:14:53.81 ID:TWrd4Q7K0
>>406
main()なんて滅多にいじらないよ。オレは
ARC後は
@autoreleasepool {
        int retVal = UIApplicationMain(argc, argv, nil, nil);
        return retVal;
}
ARC前は
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;

408 :名称未設定:2011/12/07(水) 00:49:39.38 ID:3E1PXxkm0
mainなんて触ったこと無いな

409 :名称未設定:2011/12/07(水) 00:56:12.96 ID:XkR+EefS0
>>407
例えば New Project で OpenGL Game を作り、main.m の @autoreleasepool をとって実行したら
objc[380]: Object 0x6859ad0 of class __NSCFString autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug
と出るのね。
これはシェーダを読み込むときの NSString 由来だったので、そこだけ @autoreleasepool で囲んだら出なくなった。

こういうのは main.m で囲んでいたらずっと解放されないままで、嫌だなぁと。

410 :名称未設定:2011/12/07(水) 01:16:58.75 ID:ofUeE+8D0
>>403,405

ありがとうございます。
メール送ってみました。


>rootViewController設定しないとかその辺りじゃないかね

rootViewControllerはUIViewControllerを継承したクラスを指定してるんです。

411 :名称未設定:2011/12/07(水) 02:16:17.53 ID:hLLUIKqs0
AppCode使っている人いる?
viキーで編集したいのと、xcodeはvcs周りが怪しいのとで、移行できるならしたい

412 :名称未設定:2011/12/07(水) 05:09:10.31 ID:doYmNUM60
>>402
設定アプリ内を確認。ローカル通知がオフになっているのが原因。

413 :名称未設定:2011/12/07(水) 09:32:59.55 ID:QTuB6E7I0
>>412
回答ありがとうございます
因みにここの部分をプログラム側から制御は可能でしょうか?

414 :名称未設定:2011/12/07(水) 10:15:52.05 ID:S7MgOO5K0
animationImagesを使ってアニメを作成し、
特定の場所で画像を静止させたい動作を作りたいのですが、そういう処理は可能でしょうか?
stopAnimatingだとアニメその物が消えちゃうので、色々探しているのですが見つからず悩んでます。
そもそも静止させるパラメータは存在しないのでしょうか?
よろしくお願いします。

415 :名称未設定:2011/12/07(水) 10:34:55.18 ID:doYmNUM60
>>413
読んだだけだけど、iOS5にアップグレードするとローカル通知が
オフになることがあるのはバグらしい。で、プッシュ用の
registerForRemoteNotificationTypes

を使って制御できるバグがあるらしい。

http://stackoverflow.com/questions/7966856/local-notification-doesnt-work-on-ios5

416 :名称未設定:2011/12/07(水) 11:59:04.60 ID:QTuB6E7I0
>>415
ありがとうございます
この方法を試してみたいと思います

417 :414:2011/12/07(水) 18:50:28.78 ID:S7MgOO5K0
質問取り消します。

418 :名称未設定:2011/12/07(水) 23:13:34.81 ID:rxorWMGm0
質問です。
adwhirl使おうとしてるんだけど、
adwhirlのsdk入れると
AdWhirlAdapterBrightRoll.hのファイルで
#import "BRBannerAdDelegate.h"
#import "BRFullScreenAd.h"
#import "BRFullScreenAdDelegate.h"
が見つかんないって言われます。
このファイルってどこにありますか?


419 :名称未設定:2011/12/07(水) 23:48:35.78 ID:3E1PXxkm0
search path設定しないと駄目なんじゃね

420 :名称未設定:2011/12/08(木) 00:21:21.20 ID:U1r9VBpE0
すみません。もう少し詳しく教えていただけませんか?
search pathがどのようなものかわからないんですが、
このファイルがどこにあって何者なのかわからないのにseachできるものなんですか?

421 :名称未設定:2011/12/08(木) 00:46:56.99 ID:QSN3SWK00
アプリのバージョンアップして登録したいのですが、
Bundle versionを 1.0.01 のようにすることはできますでしょうか?
よろしくお願いします。

422 :名称未設定:2011/12/08(木) 01:03:31.04 ID:U1r9VBpE0
>>418解決しました。
要はいらないアダプタは追加するなってことでした

423 :名称未設定:2011/12/08(木) 07:30:20.18 ID:HELa5+tD0
>>421
bb2cはそういうバージョン表記だから、たぶんできるのでは。

424 :名称未設定:2011/12/08(木) 08:33:07.91 ID:QSN3SWK00
>>423
ありがとうございます。

425 :名称未設定:2011/12/08(木) 08:44:11.18 ID:gfcLJNHJ0
出来なかったらアップローダが文句言ってくるから、実際に上げてみればいいじゃん。

426 :名称未設定:2011/12/08(木) 10:42:08.59 ID:XY73+Lnf0
すみません、質問お願いします
Marmalade SDKというツールを使って、iOS対応のアプリを作っているのですが
http://www.madewithmarmalade.com/
アプリケーションローダーを使ってアップロードしようとすると
以下のエラーが発生してしまいます

Application failed codesign verification.
The signature was invalid, or it was not signed with an iPhone Distribution Certificate.

証明書や、配布用プロビジョニングファイル、及び上記のエラーで検索してみたのですが
一向に、解決する兆しが見えません

上記のエラーの解決方法、もしくは、どういう状況で上記のエラーが出るのか
お教え願えないでしょうか?
エラー検索した感じだと、証明書やプロビジョニングファイルがなくても
このエラーが出るケースがあるようなのですが……

427 :名称未設定:2011/12/08(木) 10:50:37.04 ID:gEZIEpcr0
>>426
Xcode (使ってるよね?) のバージョンは?
あと、Xcode から直接 Submit しないのはなぜ?

428 :名称未設定:2011/12/08(木) 10:56:23.70 ID:J6yIvsZC0
>>426
>証明書やプロビジョニングファイルがなくても
>このエラーが出るケースがあるようなのですが……

だから、それがないんじゃない?ちゃんとインストール&設定されてるのは確認したの?

429 :名称未設定:2011/12/08(木) 11:00:10.96 ID:2JfGw6Hx0
>>426
自分に間違いがないと思ってる間は解決しないよ?

430 :名称未設定:2011/12/08(木) 11:00:28.57 ID:XY73+Lnf0
>>427
返答ありがとうございます
Xcodeは4.2を使用しております
Submitというのは、オーザナイザとアーカイブスを利用してと言う事でよろしいでしょうか?
この方法だと、Marmaladeで作成した場合
Validateの時点で、他のアーカイブス使えというエラーが出て送れない様なのです

実際、Marmaladeのヘルプを読むと、専用ツールでipaか、app.zip作成した後に
それをアプリケーションローダーで送れと書いてありますので……

431 :名称未設定:2011/12/08(木) 11:03:53.17 ID:Y/QX1AuK0
>>430
Validate通るようになおさないと、どうやっても送れないよ・・・

432 :名称未設定:2011/12/08(木) 11:04:06.10 ID:XY73+Lnf0
>>428氏、429氏
返答ありがとうございます、証明書の方はDistribution用のをキーチェーンアクセスで確認し
プロビジョニングも、配布用のを設定したうえで確認してあります
手順も、キーチェーンアクセスでCSR作成→配布用証明書の所に登録→中間、配布用証明書取得&登録→配布用プロビジョニングファイル取得
おおざっぱですが、配布用のファイルの揃え方はこれであっていますよね?

433 :名称未設定:2011/12/08(木) 11:15:09.54 ID:XY73+Lnf0
>>431
返答ありがとうございます
通らないというか、そもそもチェックすら開始されない様子なんですよね……
現状、アップロードの為にMACが必要と聞いたので、急遽用意したというレベルの初心者なので
どこかの前提が間違っている可能性も大ありですが

434 :名称未設定:2011/12/08(木) 11:16:06.05 ID:Aq6WBsbm0
他のアプリの提出経験はあるの?

Xcodeのオーガナイザから送れないのは、アーカイブに複数のバンドルが作成されるからだと思う。
その場合はアーカイブにあるアプリケーションバンドルをzipにしてApplication Loaderで
送るのは間違ってない。

多分Distribution Profileの設定が出来てないんだと思う。
これは本人にしか確認できないのでがんばってなとかするしかない。

435 :名称未設定:2011/12/08(木) 11:18:40.96 ID:Y/QX1AuK0
>Validateの時点で、他のアーカイブス使えというエラーが出て送れない様なのです

>通らないというか、そもそもチェックすら開始されない様子なんですよね……

>>430と>433で言ってること違いますやん。

436 :名称未設定:2011/12/08(木) 11:20:04.70 ID:Aq6WBsbm0
Hello worldレベルのすごい簡単なアプリを提出する練習をしてみたら、どこを設定したらいいか
わかるんじゃない。提出した後でもキャンセルできるから、そのあとで本アプリを提出すればいい。

437 :名称未設定:2011/12/08(木) 11:22:43.25 ID:XY73+Lnf0
>>434
返答ありがとうございます、提出経験は一切ナシの状態ですね
Distribution Profileの方、ちょっと確認してみます
なお、開発用と比べて、ファイル以外に明らかにここが違うという点とかはございますでしょうか?

>>435
すいません、最初のメッセージがエラーなのか警告なのかがわからなくて
こういう書き方になってしまいました、上記のとおり
今まで提出した経験がなく、処理が走った様子もないので
チェック開始されてないんじゃないかなと思ったので

438 :名称未設定:2011/12/08(木) 11:46:05.37 ID:iMCgXJGK0
>>437
>>2 の最後のリンク先に提出手順が書いてあるから、それに従ってやってみて。

439 :名称未設定:2011/12/08(木) 13:52:55.71 ID:cVe9nnxi0
ARCって使っててもいいんでしょうか?なんかマズイ事ってありますか?

440 :名称未設定:2011/12/08(木) 16:05:30.94 ID:cv21EuXJ0
>>439
むしろ有用

441 :名称未設定:2011/12/08(木) 17:58:17.11 ID:xbf+AX7YP
Xcode4.2はワイルドカードじゃないAppID/ProfileもOrganizerから作れるぜ。

442 :名称未設定:2011/12/08(木) 18:13:20.74 ID:VqyzZd140
iOS 5 内蔵の辞書を呼び出すことは可能でしょうか
可能ならばどのapiを使用すればいいでしょうか

443 :名称未設定:2011/12/08(木) 20:07:51.77 ID:lxBC8COa0
iPhoneの電話番号入力キーボードのように真四角のボタンを作成したいのですが、
UIButtonで作成したオブジェクトはどれも角が丸くなってしまっています。
btn.layer.cornerRadius = 0;
btn.clipsToBounds = FALSE;
のように弄ってみたのですがやはり駄目でした。
何か良い方法はないのでしょうか・・・?

444 :名称未設定:2011/12/08(木) 20:22:36.27 ID:sMavEzM/0
自分で作って背景に貼付ける。
ボタンタイプはrounded rectではなくcustom形式で。

445 :名称未設定:2011/12/08(木) 20:58:16.75 ID:8WVmVEd40
iOSってOS Xに比べてButtonのBezel Styleが少ないよね。
もっといろいろ用意してくれれば、いちいちAdobeでデザインする行程も省けて楽なんだが。

446 :名称未設定:2011/12/08(木) 21:07:41.44 ID:lxBC8COa0
custom指定で角丸にならなくなるのですか…
知りませんでした。
ありがとうございます。

447 :名称未設定:2011/12/08(木) 22:47:53.96 ID:cVe9nnxi0
参考書読みながらやっているんですが
MainWindow.xibってどこにあるんですか?Xcode4.2から変わりました?

448 :名称未設定:2011/12/08(木) 22:51:38.90 ID:wFvVPraI0
>>447
MainWindow.xib はなくなった。
参考書は何? 参考書によっては Xcode 4.2 対応情報が出てるかも。

449 :名称未設定:2011/12/08(木) 23:10:55.29 ID:wXtiSx1q0
if(self.delegate!=nil){
//ここでdelegateのメソッドを呼ぼうとしてエラー
}

delegateは呼び出し先のcontrollerを参照しています。
上ではdelegateが破棄されたかどうか判別できずエラーになります。
delegateが破棄されたかどうかうまい判別方法ってありますか?

450 :名称未設定:2011/12/08(木) 23:33:34.62 ID:8WVmVEd40
if (self.delegate && [self.delegate respondsToSelector:@selector(delegateMethod:arg:))
[self.delegate delegateMethod:hoge arg:fuga];

あと本当にself.delegateにnil代入しているか確認した方が良い。
delegateはretainせずにassignで

451 :名称未設定:2011/12/08(木) 23:41:53.89 ID:wXtiSx1q0
>>450
できました!有り難うございます。


452 :449:2011/12/09(金) 00:31:25.80 ID:VtU3wahA0
やっぱりうまく行かない事が有ります、ごめんなさい。

self.delegate
では破棄の有無を正しく判断できていないようです。
[self.delegate respondsToSelector:@selector(delegateMethod:arg:)]
ここでexec_bad_accessになることがあります。

delegateをプロパティに持つオブジェクトが
nsurlconnectionで非同期通信をしておりデータ受信完了時に
delegateのメソッドを呼ぶようにしています。
delegateが参照しているオブジェクトのdeallocとデータの受信のタイミングがあってしまうと
上記のエラーが発生すると考えているんですがどうなのでしょう?

453 :名称未設定:2011/12/09(金) 01:07:16.52 ID:Dwy/RfzU0
UIは必ずメインスレッドで実行される。
なので、delegate で実装されているメソッドを直接呼ぶのではなく、
performSelectorOnMainThread: withObject:waitUntilDone:
あたりでメインスレッドに戻して呼ぶといいかも。

でもNSURLConnectionだからどうだろ…… 問題は別かもしれない。


いずれにしても、self.delegate は常にそこにあるという仮定で。


454 :名称未設定:2011/12/09(金) 01:11:22.89 ID:o1z7glmV0
delegateになっているオブジェクトのdeallocで
nilを入れるようにしておく。
例えば、tableViewのdelegateになっている場合は
tableView.delegate = nil; みたいに。

でも、オブジェクトのライフサイクルについては
見直した方が良いかもしれない。

455 :名称未設定:2011/12/09(金) 02:59:31.05 ID:ye5oK6Qai
>>442
すでにそんな辞書アプリが出てるんだから可能でしょ。

456 :名称未設定:2011/12/09(金) 07:53:50.66 ID:kW1sUjqVP
UIViewControllerのaddViewControllerって昔からあったっけ?何に使うの?

457 :名称未設定:2011/12/09(金) 09:45:38.77 ID:d4wNlSXa0
>>456
addChildViewController: のことなら、view controller を入れ子にできるように、iOS 5 で追加された。
http://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

458 :名称未設定:2011/12/09(金) 10:52:01.81 ID:tIDUq7BZ0
「The value for the info.plist key CFBundleLocalizations is not of the required type for that key.」
というのがでてValidationに失敗します。
日本向けのアプリなので,CFBundleDisplayName = "ほげほげアプリ";と記載したInfoPlist.stringを用意してあります。
今までは問題なかったのですが,今回のバージョンアップ時に上のようなエラーになってしまいました。
Xcode4.2で何か変わってしまいましたか?対処法を教えてください。
info.plistも
<key>CFBundleDevelopmentRegion</key>
<string>ja_JP</string>
<key>CFBundleLocalizations</key>
<string>ja</string>
前と変わらずだと思います。

459 :名称未設定:2011/12/09(金) 11:03:17.12 ID:d4wNlSXa0
>>458
CFBundleLocalizations の型は文字列じゃなくて、文字列の配列だよ。複数形だからね。

<key>CFBundleLocalizations</key>
<array>
  <string>ja</string>
</array>

ってか、そもそも日本語だけなら必要ないのでは?

460 :名称未設定:2011/12/09(金) 12:00:43.96 ID:Z+fH1y2Q0
Payments and Financial Reportsでの10月の有料アプリの売り上げ数が
Sales and Trendsのデータから計算した10月の売り上げ数より
だいぶ(500くらい)違うんだけど、何でか分かりますか?

9月25日〜10月29日までのデータをきちんと調べたけどなぁ。

461 :名称未設定:2011/12/09(金) 12:35:00.05 ID:tIDUq7BZ0
>>459
サンクス。指摘の通り修正したら上手くいきました。
(元のファイルもXcodeに従っただけなんだけどなぁ)
ちなみに,プロジェクト名をアルファベットで作っていて,アプリ名もアルファベットになるので、
アプリ名を日本語にしたかったのです。

462 :459:2011/12/09(金) 13:02:22.89 ID:d4wNlSXa0
>>461
「必要ない」って書いたのは CFBundleLocalizations のこと。
自分のプロジェクトにはそんなの追加してないけど、問題ないから。
ドキュメントによれば、.lproj ディレクトリがあれば必要ないらしい。


463 :名称未設定:2011/12/09(金) 13:55:42.25 ID:sg7QhmTD0
アプリのアップデート版を登録したいのですが、
アップデートアプリの公開日も指定することはできますか?

よろしくお願いします。

464 :名称未設定:2011/12/09(金) 14:05:51.53 ID:IwyqycJv0
アップデータ登録時に、アップデート版の審査が終わったらすぐに自動でリリースして良いのか、
手動でリリースするかを選べる。
手動リリースに設定して、自分の好きな公開日にリリースすればいい。

465 :名称未設定:2011/12/09(金) 16:15:59.42 ID:sg7QhmTD0
>>464
早速の回答ありがとうございます。
助かりました。

466 :名称未設定:2011/12/09(金) 18:00:09.71 ID:sg7QhmTD0
再度iTunesConnectでのアップデートの方法の質問ですが、
手動リリースの場合、公開日を設定するのは
審査が通った後なのでしょうか?
それともWaiting For Reviewの最中でもできますか?
(公開日設定の場所が見当たらないので質問しました)


467 :名称未設定:2011/12/09(金) 18:08:44.01 ID:J6dCy3uf0
公開日の設定はないよ。自動か手動を選べるだけ。
手動を選んだ場合、審査を通過したら「デベロッパーのリリース指示待ち」状態になる。
その状態になったらiTunes connectのアプリページにリリースボタンが出るから、
自分が公開したい日にそのボタンをクリックすればリリースされる。

自動にした場合は、審査が終了したら勝手にアップデート版がストアに流れる。

468 :名称未設定:2011/12/09(金) 18:18:10.48 ID:sg7QhmTD0
>>467
早速の回答ありがとうございます。

何度も質問して恐縮ですが、
自分が本当に手動を選んだのかはWaiting For Reviewのあいだ
確認できるのでしょうか?
Release Control Hold for Developer Release
という表示は手動を選択した、という意味でしょうか?

よろしくお願いいたします。

469 :名称未設定:2011/12/09(金) 18:23:58.91 ID:RJPqEbFK0
iTunes ConnectのManage Your Applicationsから
日本語のデベロッパーガイドがダウンロード出来るから
それ読めよ

470 :名称未設定:2011/12/09(金) 18:24:51.58 ID:J6dCy3uf0
自分はその表示を見た記憶はないけど、それは手動リリースを意味しているから、
確かに手動を選択したんでしょう。

471 :名称未設定:2011/12/09(金) 18:51:33.45 ID:sg7QhmTD0
>>469
>>470
回答ありがとうございます。
デベロッパーガイドに確かに書いてありました。
ただやはり手順のみで本当に詳しい説明ではなかったので
質問させて頂きました。


472 :名称未設定:2011/12/09(金) 19:14:53.17 ID:d4wNlSXa0
>>471
iTunes Connect でアプリを選択して、Versions の View Detail を押して、
Links の Version Summary を押すと Pricing の Availability Date。

473 :名称未設定:2011/12/09(金) 19:33:21.50 ID:R5nm1/FfP
初心者でもサクッと簡単に儲かるアプリ作るにはどうしたらええの?

474 :名称未設定:2011/12/09(金) 19:39:59.61 ID:HNXo0cml0
おめえのようなクズはAndroidアプリでも作ってろ

475 :名称未設定:2011/12/09(金) 19:52:55.11 ID:tHrVv8tU0
素人が一儲けできる時代は終わった。
もう既にいろんな企業が半端じゃないお金を使って自社アプリの宣伝をして
ランキングの上位を狙ってるような市場だよ。
グリーもスマフォが儲かると分かってめちゃくちゃ力入れてる。
今から勉強して半年後に作れるようになったからって、そのときはもっと激しい市場になってる。
年会費10,000円も回収できずに沈んでいくのがオチ。

476 :名称未設定:2011/12/09(金) 20:02:28.87 ID:VkSjiLZBP
無料アプリだけしか作らない人は30ドルにしてくれ。

477 :名称未設定:2011/12/09(金) 21:35:32.80 ID:aDK9d3vK0
そこをジャイアントキリングできるからおもしれえんだろうが
Androidだと腐海に沈むしコンシューマゲーだとAppleが良心的に見えるほどイニシャルコスト高ぇ

478 :名称未設定:2011/12/09(金) 22:30:52.28 ID:Dwy/RfzU0
いまは8000円だぞ 円高で

479 :名称未設定:2011/12/10(土) 00:10:54.01 ID:l8ns09JJ0
参考書読みながらやってるんですが
deprecatedの警告が何個も出てきてしまいました。
今は書き方を変えてくれってことでしょうか?
こういう時はドキュメントをどういう風に読めばいいんでしょうか

480 :名称未設定:2011/12/10(土) 00:16:22.46 ID:AT4bi9pp0
>>479
ドキュメントに「これに置き換えろ」と書いてある

481 :名称未設定:2011/12/10(土) 01:30:25.52 ID:x6FOEPUU0
iPhoneの奴はアドラッテってアプリやれよ

今なら紹介者欄に


2ch


って入れれば100円もらえる
他にも30000円のキャンペーンとか今なら色々あるぞ

482 :名称未設定:2011/12/10(土) 02:55:17.25 ID:znwHBejb0
>>460
自分もだわ。ぼったくられてるのかな?

483 :名称未設定:2011/12/10(土) 03:37:08.59 ID:l8ns09JJ0
http://seshop.com/product/detail/13402/
この参考書のlesson26で
本の通りに書いてもエラー出ないのに音が出ないので
↑のリンクにあるソースをダウンロードしたんですけど
そのダウンロードしたやつではちゃんと音が鳴ってるんですが
自分で作ったのと比べて、どこが間違ってるかわからず
結局コピペまでしたんですけど、やはり自分で作った方は鳴りません
これはなんでなんでしょう?

484 :名称未設定:2011/12/10(土) 03:45:27.55 ID:IQxBreo70
>>483
その本はまったく知らないけど、IB使ってるならIBActionの接続忘れとか?

485 :名称未設定:2011/12/10(土) 04:10:53.70 ID:l8ns09JJ0
IBはまだ使ってない段階みたいなんです。
振ると音が出るってやつなんですけど
本に書いてある部分のソース全く同じにしてサウンドファイルも置いてるのに出ないんです..

486 :名称未設定:2011/12/10(土) 04:36:16.45 ID:EZe7n8on0
センサーが故障してたりしてw
振らなくても鳴るように書き換えて試すとか
とりあえずそれはおいといて次に進むとか

487 :名称未設定:2011/12/10(土) 04:40:14.22 ID:EZe7n8on0
ああ、ダウンロードしたのは鳴るのか
どこかが間違えてるんだろうから、ひたすらdiff取ってみるとか
地道にチェックするしかなさそうだね
案外くだらないtypoというケースはけっこうあるw


488 :名称未設定:2011/12/10(土) 18:29:18.97 ID:9KN+wmYn0
プログラミングが初心者なんですが、以下の目的を達成するための方法
・文字列を定数にしてグループ化したいと思っています。
・NSDictionaryに格納するためのキーを、タイプミスなどなくすためです。
・キーはNSStringにしたいです。
・この文字列定数のグループを型として扱いたいです。(引数などに使うため)

■試したのは以下です。
・enum GROUPNAME {TESTA,TESTB} とする。
これだとGROUPNAMEという型でTESTA,TESTBを扱えるのは良いのですが、
TESTA,TESTBが実質INT型なので、いまいちです。

・.hファイルに、extern NSString *TESTA;
.mに、NSString *TESTA = @"TESTA";
これは文字列として定数にできてますが、型と値が1対1で、グループ化できずいまいちです。

ネットでも調べたのですが、めぼしいものは無く、根本的な考え方の方向が違うのかな?と悩んでいます。
あとは、継承で上の例だと、GROUPNAMEをクラスにして継承する形で、TESTA,TESTBを用意して、それぞれNSStringをメンバにする。ぐらいしか思いつきませんが、それもなんか変な感じがしています。

宜しくお願いします。





489 :488:2011/12/10(土) 18:30:57.25 ID:9KN+wmYn0
一行目がおかしかったです。訂正します。

プログラミングが初心者なんですが、以下の目的を達成するための方法を教えていただけませんか?

490 :名称未設定:2011/12/10(土) 19:00:51.63 ID:+LJTDs1A0
>>488
#define

491 :名称未設定:2011/12/10(土) 19:11:14.52 ID:2caggweF0
定数用のクラスでも作れば。
グループにこだわる理由は理解できんが。


492 :名称未設定:2011/12/10(土) 20:07:19.72 ID:uNUqB03K0
質問お願いします。現在coredataを使ってアプリを作っているのですが、
データを追加したときに、tableviewの一番上の画面だけに値が表示されて、
下にテーブルのセルは追加されるんですが、なにも表示されない状況で、下にスクロールすると
一番上に入っていた値が違う位置に移動したりとバグリます。考えられる原因わかる方いますか?

493 :名称未設定:2011/12/10(土) 21:07:24.13 ID:4e2z4ERd0
>>492
tableviewcellの使いまわしするときは、前の値が残ってるから、上書きするかクリアするかしてねってことだと思うよ。
伝わるかな?

494 :名称未設定:2011/12/10(土) 21:45:07.74 ID:uNUqB03K0
>>493
返信ありがとうございます。
やってみます。

495 :名称未設定:2011/12/11(日) 00:38:41.53 ID:SCbAtRt00
UIWebviewでスクロールの最中やわずかにでも慣性が残っているときに
画面が描画されず、javascriptのタイマーなどの処理が想定通り動かず困っているのですが
解決する方法がわかる方がいらっしゃいましたら教えていただきたいです。

http://archiva.jp/web/javascript/get_page-size.html
例えばこちらのサイトのように
0.5秒ごとにsetTimeout関数が呼ばれて現在のスクロール位置などがテキストに表示されるのですが
指でドラッグしている間は数字が更新されなくなってしまいます。

496 :名称未設定:2011/12/11(日) 02:39:44.28 ID:O2pHCfxH0
動いてるときは多分UIにスレッド奪われてるから止まるまで待つしかない。
WebViewのスクロールの慣性をfastにすればいくらかマシにはなるかと。できたっけ?

497 :名称未設定:2011/12/11(日) 07:35:35.06 ID:QAQ0yU6G0
ようやく、4Sを手に入れてこれまでのアプリ試したら、悲惨なことにテキストがぐちゃぐちゃ。
どうも、AppleGothicが原因みたい。
フォントの仕様とか変えるの勘弁して欲しい。

498 :名称未設定:2011/12/11(日) 08:09:32.20 ID:O2pHCfxH0
>>497
AppleGothicって、IBとかで「中華・朝鮮風」日本語フォントになるあれ?

たまに実機アプリでもなるんだよな。
明らかにiOSのバグ。で、Xcodeのバグ。再現性不明。

499 :名称未設定:2011/12/11(日) 11:07:09.90 ID:QAQ0yU6G0
>>498
それ。
かと言って、綺麗なヒラギノは何故かベースラインが英米フォントと違うので、フォント変えるだけではダメ…

500 :名称未設定:2011/12/11(日) 14:43:22.35 ID:JPcZABSp0
今iPhoneアプリ作っていてちょっとはまっています。

現象はiPhoneアプリにFacebookのシングルサインオン(SSO)
を実装すべくSDKをインプリメントして下記のガイドに従って
やっていったのですが、ビルドすると滅茶苦茶エラーが出ます。
https://developers.facebook.com/docs/mobile/ios/build/
(日本語訳?)
http://facebook-docs.oklahome.net/archives/51892628.html

エラーはたくさん出るので一部抜粋すると
Facebook.m:49:9: error: existing ivar '_sessionDelegate' for unsafe_unretained property 'sessionDelegate' must be __unsafe_unretained [4]
Facebook.m:107:4: error: 'release' is unavailable: not available in automatic reference counting mode [3]
Facebook.m:107:4:{107:17-107:24}: error: ARC forbids explicit message send of 'release' [4]
FBRequest.m:33:13: error: existing ivar '_delegate' for unsafe_unretained property 'delegate' must be __unsafe_unretained [4]
FBRequest.m:37:13: error: existing ivar '_connection' for unsafe_unretained property 'connection' must be __unsafe_unretained [4]
FBDialog.m:47:13: error: existing ivar '_delegate' for unsafe_unretained property 'delegate' must be __unsafe_unretained [4]
こんな感じです。FacebookのSDKには全く手を加えていません。

いろんなサイトを見てもどう処置したものか出ておらず困っています。

何か足りないファイル、もしくはパスなどが必要なのでしょうか?

お分かりでしたらご教示いただけると幸いです。
すみませんが、よろしくお願いします。

501 :500:2011/12/11(日) 15:05:18.02 ID:JPcZABSp0
すみません、自己レスです。
Xcode4.2で開発しているのですが、ARC(自動ガベージコレクション)が
ONというのがデフォルトになっていたみたいです。

これをOFFにしてビルドしたら通りました。
ありがとうございました。

502 :名称未設定:2011/12/11(日) 16:54:06.93 ID:1F/ZYC+W0
iphoneアプリの宣伝は皆さんどうしているのでしょうか


503 :名称未設定:2011/12/11(日) 19:22:36.48 ID:FM1enkBH0
>>502
googleに金払って広告出してる。

504 :名称未設定:2011/12/11(日) 21:16:36.96 ID:0GZTwy7A0
>>499

そういえばそうだったなー。
日本語のときだけ分岐させたっけ。

505 :名称未設定:2011/12/11(日) 21:27:18.60 ID:8DIkCi8H0
Arial-BoldMTだと問題ないな。

506 :名称未設定:2011/12/11(日) 22:01:06.32 ID:SCbAtRt00
>>496
無理そうですね、ありがとうございました。
WebViewの速度は結構簡単に変更できるみたいです。

あとたぶんこれと同じかもしれませんがTableCellViewにWebViewを貼り付けても、
スクロールが止まるまで表示されないのですが、テキストラベルに近い速さで表示される方法をご存知でしたら教えていただきたいです。

507 :名称未設定:2011/12/11(日) 22:31:12.54 ID:cxn8DnKH0
superclassに存在しているdelegateにメソッドを追加したい場合、
以下のようにすると、上の窓には「succeeded No Issues」と出てきますが、
ソースのココの行に△!マークが出てきます。
メッセージとしては「Property type 'id'<hogeDelegate> is incompatible with type id<UIScrollViewDelegate> inherited from 'UIScrollView'」と出ます。

ビルド自体は警告無しで成功しているようにも見えるんだけど、
このままで良いのでしょうか?

@protocol HogeDelegate;

@interface HogeScrollView : UIScrollView {

id<HogeDelegate> delegate;
}

@property (nonatomic, assign) id<HogeDelegate> delegate; <===ココ

@end

@protocol HogeDelegate <UIScrollViewDelegate>

- (void)hage;

@end


508 :名称未設定:2011/12/11(日) 23:03:32.76 ID:UBjslV270
@protocol HogeDelegate; を消す。
で、下で実際に定義してるプロトコルを一番上に持ってけ。


509 :名称未設定:2011/12/12(月) 00:29:03.30 ID:wo9/7V7d0
>>506
「NSRunLoop currentRunLoop」を組み合わせてググると良い。

http://gavrix.wordpress.com/2011/04/28/uiwebview-inside-uitableviewcell/


510 :名称未設定:2011/12/12(月) 01:55:47.42 ID:xUoN2+P+0
>>509
Q. 神はいると思う?

 いない┐   ┌───わからない
      │ _..-ー''''''l'''''― ..、
     ./   .l,  |     `''-、
   ./     .l  .|       \
   /ゝ、     l. |         ヽ
  ./   .`'-、    l. |           l
 │      ゙''-、 .l,|             l
  |         `'″          |
 │     インターネットで見た ,!
  l                   ./
  .ヽ                  /
   .\              /
     `'-、              /
       `''ー .......... -‐'″

511 :名称未設定:2011/12/12(月) 08:59:21.56 ID:08thv2Nk0
>>507
- (id <HogeDelegate>)delegate {
    return (id <HogeDelegate>)[super delegate];
}
- (void)setDelegate:(id <HogeDelegate>)delegate {
    [super setDelegate:delegate];
}

をimplementationに追加



512 :507:2011/12/12(月) 19:20:49.41 ID:+ci0p0K30
>>508
ありがとう御座います。その通りやってみたら△!が消えました。

・・・けど何で???

>>511
ありがとう御座います。ココの行を消して、いただいたソースを追加したところ、ウマく行きました。
ただし、[super setDelegate:delegate];で、引数のdelegateなのかself.delegateなのか判らねーよ!って怒られたので
- (void)setDelegate:(id <HogeDelegate>)object {
[super setDelegate: (id<UIScrollViewDelegate>) object];
}
ってやりました。

513 :名称未設定:2011/12/12(月) 20:19:46.31 ID:08thv2Nk0
>>512
511です
インスタンス変数 id<HogeDelegate> delegate は不要です.

snow leopard release note から昔コピペしたメモだと

• If you have a subclass of one of these classes that adds additional delegate methods you must also create a subprotocol and override -delegate and -setDelegate:.

For example:

@protocol MyStreamDelegate;
@interface MyStream : NSStream
- (id <MyStreamDelegate>)delegate;
- (void)setDelegate:(id <MyStreamDelegate>)delegate;
@end
@protocol MyStreamDelegate <NSStreamDelegate>
- (void)additionalDelegateMethod;
@end
@implementation MyStream
- (id <MyStreamDelegate>)delegate {
    return (id <MyStreamDelegate>)[super delegate];
}
- (void)setDelegate:(id <MyStreamDelegate>)delegate {
    [super setDelegate:delegate];
}
@end


514 :507:2011/12/12(月) 21:18:18.14 ID:+ci0p0K30
>>513
なるほど、公式でアナウンスがあったんですね。ありがとう御座います。

しかし、subclassの定義は消したとしても、
delegateはsuperclassで定義されているので、
やっぱり引数のdelegateとself.delegateが判らねーよ!って怒られます。
まぁ、無視しちゃえばいいのですが、ちょっと気になったので。

515 :名称未設定:2011/12/12(月) 22:45:54.21 ID:abuu/pVv0
IBにボタンを1つ配置し、そのボタンをタップするとフォトアルバムを開くようにしました
以下その部分の抜粋です

- (IBAction)clickButton_OpenAlbum {
UIImagePickerController* controller = [[UIImagePickerController alloc] init];
controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
controller.delegate = self;
controller.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:controller animated:YES];
[controller release];
}

その後、シミュレータでアプリを起動し、ボタンをタップし、アルバムを開くと「Photo Albums」というナビゲーションタイトルの画面が表示され、そこにいくつかの画像を追加しました
そしてテーブルセルの項目にある「Saved Photos (1)」をタップし、ナビゲーションタイトルが「Saved Photos」の画面でメモリの警告をシミュレートし、Photo Albums画面へ戻るとテーブルセルがナビゲーションタイトルと被ってしまいます
これの対処法がありましたら教えてください
ちなみに実機でも同じような現象が起きました

よろしくお願いいたします


150 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)