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

このエントリーをはてなブックマークに追加
1名称未設定
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 で前回のドラッグの後始末をするとかですかね。
4412: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 を書く必要がある。
5944: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
ナンセンス。
8988: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
そのドキュメントは初心者向けの解説じゃなくて、コンパイラを作る人向けの詳細な仕様書だから、
読むのは大変だと思うけど、頑張ってね。
103102: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];
155102: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に変更してあります。
ググッてみたのですが、明確な解決方法が見つかりませんでした。

わかるかたがいらっしゃいましたら、教えてください。
お願いします。
163102: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だと表示されなくなります

原因わかる人いますか?
197177: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
デバッガで要所要所で止めて確認するしかないんじゃないの?
203102: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に書けばデバッガ出力に出るよ。
206102: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って入れる意味ないし
225190: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
まったく知識なく本など読んだりネットで調べるなどでアプリ作成ってできますか?
ちなみに最終的にはベーカリーストーリーみたいなソーシャル系のアプリ作りたいです。
228102: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で外人にもアピールしようと考えてたけど全世界共通なのかふと書いてるうちに疑問になったんで、

何冊か本注文してみたありがとう(^-^)/
23278: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];
と同じ動作をするメソッドです。
(ってか、ここで延々話してたことは一体…)
258256: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
自分でわからないくらいなら大差ないんだべ。
263sage: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
ありがとうございます。
268258: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などにも指定してみたのですが、ダメでした。

他に背景色を指定しているような個所はないのですが、何を間違っているのでしょうか?
270269: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.
294282: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
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 );
353345: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 使わない理由は?
357356:2011/12/03(土) 10:42:13.36 ID:RBBPG/LV0
訂正。一つのトランザクションで複数の select をする場合は多少速くなるみたいだね。
でも、今回みたいに select 一つだけなら効果ないみたいだよ。
http://www.mail-archive.com/[email protected]/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に聞け
404391: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
ありがとうございます
この方法を試してみたいと思います
417414: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
できました!有り難うございます。
452449: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に従っただけなんだけどなぁ)
ちなみに,プロジェクト名をアルファベットで作っていて,アプリ名もアルファベットになるので、
アプリ名を日本語にしたかったのです。
462459: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をメンバにする。ぐらいしか思いつきませんが、それもなんか変な感じがしています。

宜しくお願いします。



489488: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には全く手を加えていません。

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

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

お分かりでしたらご教示いただけると幸いです。
すみませんが、よろしくお願いします。
501500: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に追加

512507: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
514507: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画面へ戻るとテーブルセルがナビゲーションタイトルと被ってしまいます
これの対処法がありましたら教えてください
ちなみに実機でも同じような現象が起きました

よろしくお願いいたします
516名称未設定:2011/12/13(火) 02:04:49.70 ID:HKU18gtT0
tablecellviewの高さを1行だけ動的に変えようと思い、reloadRowsAtIndexPathsを使用したのですが
heightForRowAtIndexPathがセルの個数回呼ばれてしまい処理に時間がかかってしまうのですがどのようにしたらよいでしょうか?
517名称未設定:2011/12/13(火) 17:18:12.11 ID:pr1QZF1G0
AVPlayer(≠AVAudioPlayer)のプレイ終了を取りたいのですがNSNortificationCenterでaddObserverしても飛んで来ません
他のやり方があるのでしょうか?
518名称未設定:2011/12/13(火) 19:49:43.60 ID:BeP4Pb2J0
お給金が振り込まれないなー。
519名称未設定:2011/12/13(火) 20:32:41.94 ID:XynsVOy30
登録済みのアプリのkeywordsって変更できますか?
520名称未設定:2011/12/14(水) 13:36:02.10 ID:L1VBlljM0
521名称未設定:2011/12/14(水) 14:25:56.23 ID:yFnC3hkH0
>>519
アップデート時。ちなみに、アプリ名も変更可能。
522517:2011/12/14(水) 16:08:51.51 ID:9tfJSwEh0
>>520
残念ながらAVPlayerはAVAudioPlayerのものほとんど使えないようなのです
stopすらないのは唖然としましたよマジで
523名称未設定:2011/12/14(水) 16:44:14.68 ID:p3tqmhjX0
以前書いた自分のコードを見てみたけど、自前のNSTimerで計ってるようにしてるな。
stopはないけどpauseはあるよ。

addBoundaryTimeObserverForTimes
で任意の通過地点を検出できるはずだけど、自分で書いたコードがこれを使わずNSTimer使ってるのは
なんでか忘れたw
524520:2011/12/14(水) 18:09:12.64 ID:L1VBlljM0
>>522
なーるほど、そんな事になってましたか。
逆に勉強になりました。ありがとう。
525名称未設定:2011/12/14(水) 19:12:45.59 ID:3g3iddV9P
質問です

modalで画面推移して、そのあとその画面から戻るボタンを押してもとの画面に戻る時、
modalの逆バージョン(画面を上から下に動かす)で画面推移させるにはどうしたらいいんでしょうか?
526名称未設定:2011/12/14(水) 20:20:33.03 ID:j3HPbQdF0
>>525
普通に dismissModalViewControllerAnimated:YES で上から下にアニメーションするけど。
527519:2011/12/14(水) 21:21:36.73 ID:U49p/YHW0
>>521
有り難うございます!
528名称未設定:2011/12/14(水) 23:12:42.41 ID:rSuLhksV0
>>516
高さ1行だけ固定ならIBでセルを作ってロードさせたら?
heightForRowAtIndexPathはどちらかというと、高さが不定(内容によって行数が変化)のときに、
その都度計算させる場合によく使う。
529517:2011/12/15(木) 13:10:26.48 ID:xem5GUyN0
>>523
出来ましたありがとう
それにしてもAVPlayerはメータリングもないしで劣化半端ない
MPMoviePlayerControllerの方が多機能に思えてくる
530名称未設定:2011/12/15(木) 18:53:50.17 ID:/YoBconU0
>>529
そりゃ、AVPlayerはMPMoviePlayerよりも下層だから、組み込まれている機能は低いだろうさ。
足りないと思った部分がMPMoviePlayerでまかなえるのなら、AVPlayerを使わなければいい
だけのことだろ。

それはそれとして、Appleのサンプルを試した上での書き込みなのか?
531名称未設定:2011/12/15(木) 19:29:16.60 ID:umufRXMr0
http://d.hatena.ne.jp/hkj_2nd/20111126/1322302111を参考にXcode4.2でiPhone用のHelloWorldアプリを作っています
ViewController.mのpushButtonメソッドに、

[messageLabel setText:@"Hello World!"];

を挿入して実行した所、挿入した行にて下記エラーが発生しました。

error: use of undeclared identifier 'messageLabel' [3]
error: extraneous ']' before ';' [1]

これを解決するためにはどうすれば良いでしょうか?
532531:2011/12/15(木) 19:35:40.47 ID:umufRXMr0
記事の重要な部分を飛ばして読んでいたようです
Labelの定義を行うことで解決しました、失礼しました
533名称未設定:2011/12/15(木) 20:17:05.15 ID:VF4/td8v0
itunesconnectがぜんぜん更新されないんすけど
みなさんもですかね。
534名称未設定:2011/12/15(木) 21:06:00.16 ID:r+Yn1S9h0
>>533
更新されないって何がどんな風に? 単に売れてないだけじゃなくて?
自分のはちゃんと更新されてるけど。
535名称未設定:2011/12/15(木) 21:29:55.79 ID:zkFSb3Qn0
いったんファイルを作成してから読み込む方法以外で
charの配列をNSData型にしたいのですがどのような方法があるでしょうか?
536名称未設定:2011/12/15(木) 22:16:28.85 ID:dWzSIrjW0
>>535
[NSData dataWithBytes:length:]

メモリ不足警告について教えてください。
simulatorにてメニューからメモリ警告をシュミレートできますが、実機で確認する簡単な方法はありますでしょうか?
自分でメモリを消費する別のアプリを作るものなのでしょうか。

537名称未設定:2011/12/15(木) 22:36:05.24 ID:5svmbXsa0
適当な場所でmalloc
538名称未設定:2011/12/16(金) 00:19:39.19 ID:I2VraHCn0
FacebookのAPI使って、そのユーザーのプロフィールページのURLをアプリに引っ張ってくることって可能なんでしょうか?
539名称未設定:2011/12/16(金) 00:27:41.74 ID:ih4O/I4q0
graph apiの仕様読んでください
540名称未設定:2011/12/16(金) 00:30:14.30 ID:STdVESPz0
5万で2時間レクチャーしてやんぞ
541名称未設定:2011/12/16(金) 00:38:02.98 ID:I2VraHCn0
>>539
熟読してきます。ありがとうございます
542名称未設定:2011/12/16(金) 08:15:32.23 ID:JzQx82Q80
質問です。
CFSTR("たなか")の「"たなか"」部分をNSMutableString変数にする場合は、
どう記述すれば良いのでしょうか?
543名称未設定:2011/12/16(金) 09:46:07.02 ID:15ztSg380
>>542
NSMutableString* mutableString = [[(NSString*)CFSTR("たなか") mutableCopy] autorelease];
544名称未設定:2011/12/16(金) 10:03:12.81 ID:TCXE3zcY0
>>542
CFSTR("NSMutableString変数")
(^-^)/
545名称未設定:2011/12/16(金) 10:09:20.29 ID:yUvPXcMS0
>>542
そもそも何故 @"たなか" じゃなくて CFSTR なの?
546名称未設定:2011/12/16(金) 11:04:09.58 ID:X0yiDE880
カーボンじゃね?
547名称未設定:2011/12/16(金) 11:55:53.15 ID:rHZUWCou0
labelはUILabelのインスタンス
label.text = @"これはテストです";

こんなときに「テスト」の部分だけタップ可にするスマートな方法ってありますかね。
よくtwitterクライアントで見かける@ユーザー名やらハッシュタグ、URLがタップできるやつみたいな。

というか簡単なtwitterのクライアントを作りたいのでそれっぽいライブラリ等あれば教えていただけると幸いです。
548名称未設定:2011/12/16(金) 12:44:07.15 ID:EizXrzVcP
4でも動かさないといかんのか?
549名称未設定:2011/12/16(金) 12:47:38.69 ID:yhZzN+Ow0
>>547
切り分けてUIButtonか、UIWebViewでHTML。
そもそも、UILabelはラベルです。
550名称未設定:2011/12/16(金) 13:02:56.19 ID:rHZUWCou0
>>549
切り分けてUIButtonが妥当かなーとは思うのですが、そうするとframeをどう指定していいのかがわからないのです

label.text = @"これはテストです";

これのテストが何文字目というのはわかっても座標はどうやって取得すれば…
551名称未設定:2011/12/16(金) 14:03:22.36 ID:ov+dHdHD0
iOS Developer ProgramでFAXしなければいけないのですが送れない・・・
010-1-408-○○○-○○○で間違ってますか?
マイラインに入ってるかもどうかわからない・・・
552名称未設定:2011/12/16(金) 14:59:43.79 ID:EY/7tSeW0
間違ってます
553542:2011/12/16(金) 15:07:32.39 ID:JzQx82Q80
>>543
>>544
>>545
レスありがとうございます。
使いたい関数の引数の形式がCFSTRになっているので。
554名称未設定:2011/12/16(金) 15:34:18.80 ID:15ztSg380
>>553
CFSTRは定数のCFStringを作る関数なので、これをmutableにしたいという
シチュエーションがよくわからない。。。
555名称未設定:2011/12/16(金) 17:30:11.19 ID:oWvFptff0
>>550
これは と TEST と です を分けて、それぞれ相対座標とすると、 これは が決まればあとは決まる。
折り返しの処理は少し工夫がいるけど。
556名称未設定:2011/12/16(金) 17:59:32.62 ID:yUvPXcMS0
557名称未設定:2011/12/16(金) 18:54:13.82 ID:7PmWV0bh0
loadHTMLStringで表示したuiwebViewが回転するとき
フォントサイズが変わってしまうのですがどうしてでしょうか
558名称未設定:2011/12/16(金) 21:25:25.84 ID:ZKzrrF5A0
iPodが再生されている場合はBGMを止めて、
再生されていない場合は鳴らすと言った処理をしたいのですが、
iPodが再生されているかどうかを受け取るにはどうすればいいのでしょうか?
559名称未設定:2011/12/16(金) 21:30:24.29 ID:15ztSg380
>>558
直接IPodが再生中かどうかは分からないが、
AVAudioSessionを使って音の優先度を設定する。
560名称未設定:2011/12/16(金) 21:49:59.72 ID:ZKzrrF5A0
>>559
即レスありがとうございます。

頂いた情報を元に今から調べてみます。
561名称未設定:2011/12/17(土) 00:25:47.38 ID:OMkoGHQg0
iPhoneゲーム開発について質問です(XCode3.1.4)

NSObjectが親のとあるクラスを作ったのですが
シュミレーター起動時にinit関数は正常に呼ばれるのですが
シュミレーター終了時にdealloc関数が呼ばれません

シュミレーターでは呼ばれないものなのでしょうか?
(それとも別の操作があるのでしょうか?)
またdeallocは実機で実際にアプリを終了した際などに呼ばれるのでしょうか?
562名称未設定:2011/12/17(土) 00:42:46.67 ID:UUM3ffrI0
>>561
シミュレーターの終了が何を差すのか分らんが、アプリが落とされた時は呼ばれずそのまま落ちる。
メモリは解放されるから気にしなくていい。
563名称未設定:2011/12/17(土) 01:12:56.57 ID:FuOdLmmd0
単純にマルチタスクで動いてるだけじゃ
564名称未設定:2011/12/17(土) 02:01:25.86 ID:gHJu+MgX0
最近アプリを作ってみようと思ってるんですが、
たとえばtwitterの公式iOSアプリで、ツイートの中のリンクを踏んでリンク先のページに飛びますが
飛んだ先のページをブラウザでなくtwitterのアプリで開いてます
これって、twitterアプリでブラウザ機能を実現してるわけですよね?
これがUIWebViewって機能ですか?
これで開かれるページをDOMを操作してテキストの挿入などできるんでしょうか?

あと、アプリとは直接関係ないですが、iPhoneのSafariに拡張機能って組み込めますか?
565名称未設定:2011/12/17(土) 02:07:57.98 ID:/0qMjdvr0
画像表示を2秒間行った後に次の処理に移りたいです。
[_image drawAtPoint:CGPointMake(100, 100)];
[NSThread sleepForTimeInterval:2.0];
のようにしても2秒後にイメージが表示されるだけです。

画像を2秒表示した後次の処理に移るためにはどうすればよいのでしょうか?
よろしくお願いします。
566名称未設定:2011/12/17(土) 03:44:31.71 ID:TEWDkFUP0
>>565
NSTimer使え。
567名称未設定:2011/12/17(土) 08:55:29.07 ID:tFhXYtXk0
>>564
>これがUIWebViewって機能ですか?
そうですよ。

>これで開かれるページをDOMを操作してテキストの挿入などできるんでしょうか?
開いたページに対してJavaScriptを実行できますよ。GreaseMonkeyみたいな感じ。
あんまり詳しくは知らないけど、実行できるのことに制限はあるはず。

>iPhoneのSafariに拡張機能って組み込めますか?
ブックマークレットを実行させられることは知っている。
568564:2011/12/17(土) 09:17:50.39 ID:gHJu+MgX0
>>567
朝早くからありがとうございます
やる気が出てきました、どうもです
569名称未設定:2011/12/17(土) 12:36:15.52 ID:APgHA4G2P
質問です
nanの判定で、
if(x==nan){
〜xがnan時の処理〜
}
ってやってもうまくいかないんですけど、
どうやればいいんでしょうか?
570名称未設定:2011/12/17(土) 12:59:58.26 ID:ll0Idt8S0
nslogでnanとxを出力して確認
571名称未設定:2011/12/17(土) 13:05:23.27 ID:tvdGL9o70
isnan
572名称未設定:2011/12/17(土) 13:31:12.11 ID:AqADS9Br0
if (x != x)
573名称未設定:2011/12/17(土) 14:08:20.79 ID:/EVjc7sH0
if(x!=nan){
〜xがnan時の処理〜
}
574名称未設定:2011/12/17(土) 14:56:13.71 ID:c+u8J3xg0
StoreKitでSandBoxにレシートの正当性確認投げてるんですが
{"status":21002, "exception":"java.lang.NullPointerException"}
が返ってきます。
処理はエリカ先生のC20-StoreKitと全く同じことしてます。何がまずいか、心当たりのある方いませんか。

サーバからアイテム提供するわけでもないのでレシート確認までしなくてもいいかなと思ってるんですが、
できればOSのポップアップなしにプロダクト購入済みか確認したいので、
レシートで確認出来ればと思ってます。
575名称未設定:2011/12/17(土) 15:24:04.71 ID:2ZRbrQe20
>>573
ワロタ
576名称未設定:2011/12/17(土) 16:17:49.96 ID:UUM3ffrI0
>>569
nanの型が分らんからnanとも言えない
577名称未設定:2011/12/17(土) 18:12:40.11 ID:I6VoFArj0
ここで聞いていいものかわからないんだけど、今日Appのサポートメールに英文で
「私と情報共有しないか?」「売れる方法教えてやる」みたいな内容が届いたんだけど、経験ある人いる?
なにこれ
578名称未設定:2011/12/17(土) 18:42:18.26 ID:ZilXFcdVi
>>576
オブジェクトなんだろうね。
579名称未設定:2011/12/17(土) 20:06:25.78 ID:HotLJqjw0
uiWebViewのloadHTMLStringを複数回呼ぶ場合
loadHTMLStringを呼ぶ直前にuiWebViewのインスタンスに対して
clear,resetのような作業を行わなくてもいいのでしょうか
またそのようなメソッドはあるでしょうか
580名称未設定:2011/12/17(土) 20:43:00.48 ID:FuOdLmmd0
>>577
怪しいメールはゴミ箱すてる
581名称未設定:2011/12/18(日) 01:28:29.94 ID:U8Juxxu70
音楽を別のViewControllerで止める方法を教えてください。

NSURL *furl = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"hogehoge" ofType:@"mp3"]];
sound_title = [[AVAudioPlayer alloc] initWithContentsOfURL:furl error:nil];
sound_title.numberOfLoops = -1;
[sound_title play];

これで音楽を流しっぱにして別の画面に移項した後のもう一つ先に移項した画面で音楽を止めたいです。
582名称未設定:2011/12/18(日) 01:33:49.30 ID:dkc1zNqw0
playerを渡せばいいじゃない
583名称未設定:2011/12/18(日) 04:01:01.41 ID:Sj5lzFzt0
>>577
そういうメールは腐るほど来るのであんま気にしないほうがいいよ
584名称未設定:2011/12/18(日) 10:09:21.96 ID:wyDT0hiL0
質問です。

NSArray *match = [regexp matchesInString:string
          options:0 range:NSMakeRange(0, string.length)];
でマッチした文字列を取り出すには、どうすれば良いのでしょうか?
次のどちらもエラーになるのですが。
string substringWithRange:[match rangeAtIndex:s]
string substringWithRange:[match objectAtIndex:s]
585名称未設定:2011/12/18(日) 10:17:05.85 ID:dkc1zNqw0
objectatindex:0
586名称未設定:2011/12/18(日) 10:17:38.21 ID:1QuESHxh0
>>584
使った事ないけど、
[string substringWithRange:[[match objectAtIndex:s] range]];
じゃない?
587名称未設定:2011/12/18(日) 10:53:47.76 ID:voFPqY4v0
アプリ使用中にそのアプリが消えてしまうなんてことは、
起こる可能性あるのでしょうか?
自機では再現できないので、現在???です
過去似たような経験あれば教えてください
588名称未設定:2011/12/18(日) 12:40:41.69 ID:wr66P8/r0
コンテナ的ビューの内側にいろいろビューが入っていて、内側のテキストビューに文字列を流し込むとします。
テキストビューの幅はそのままで、文字列が入った分だけテキストビューの高さを自動で増やして、
それがピッタリ入るように外側のコンテナ的ビューの高さを自動リサイズしたいときってどうやるのが常套句なのかな。

できれば今風に全体は UINib から作り出せたらうれしいよね
589584:2011/12/18(日) 12:52:49.37 ID:wyDT0hiL0
>>585
>>586
レスありがとうございます。

>[string substringWithRange:[[match objectAtIndex:s] range]];
で出来ました。
590名称未設定:2011/12/18(日) 13:08:44.34 ID:Sj5lzFzt0
PlayerクラスのplayerObjオブジェクトを生成しました。
別のクラスで、[playerObj attack];のようにメソッドを実行したいのですが、
Instance method '-attack' not found
といわれてしまいます。
どのようにすれば良いのでしょうか。
591名称未設定:2011/12/18(日) 13:19:07.86 ID:fYyr70t80
>>587
たまに消えたということを言われたことがあるけど、再現しないし。
報告も2件なので放置している。
592名称未設定:2011/12/18(日) 13:40:11.57 ID:IP07xqmn0
>>591
そういうこと有るのですね
レス、ありがとうございます
593名称未設定:2011/12/18(日) 13:46:43.17 ID:M5X10P5x0
>>590
#import "Player.h"をしてないか、ヘッダーに- attackがない。
594名称未設定:2011/12/18(日) 17:02:55.47 ID:InK1vvfc0
>>592
その手の消失現象は大抵、スタック内の戻り番地を壊して
おかしなところにぶっ飛んで起きる。

手元で再現できないなら放置でも仕方ないね。
595名称未設定:2011/12/18(日) 18:59:22.94 ID:l1OmFYJv0
iphoneアプリはどのくらい稼げましたでしょうか
現在iphoneアプリは開発中で0です
androidとiアプリあわせて今年は以下のとうりです
android ダウンロード:60万 広告:7万 
ドコモ iアプリ ダウンロード:0.5万 広告:0.5万  
596名称未設定:2011/12/18(日) 19:16:51.97 ID:rarlZ+lC0
>>594
ありがとうございます。
きっかけにはなるので、コード見直してみます
597名称未設定:2011/12/18(日) 19:53:35.07 ID:BO9Qtitz0
とうり
598名称未設定:2011/12/18(日) 22:34:23.36 ID:52fKPuSy0
>>595
60万ダウンロードもされて広告収入7万円ってこと?
少なすぎるだろ。
599名称未設定:2011/12/19(月) 00:10:46.05 ID:kkf3RNcd0
>>598
設けってDL数の20%〜5%くらいみたいよ。
600名称未設定:2011/12/19(月) 00:36:49.82 ID:r+rQpibR0
>>599
広告収入は単純にダウンロード数から計算できないだろ。
毎日起動されるようなアプリなら伸びるし、一度起動しただけで捨てられるようなアプリなら伸びない。
601名称未設定:2011/12/19(月) 10:32:23.62 ID:AWjtaQXO0
フルスクリーン状態で回転させてた後に
以下のようにステータスバーを表示させるとずれが出てしまいます
これはどうしてでしょうか
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:YES];
602名称未設定:2011/12/19(月) 11:23:47.96 ID:mTFK0dh60
バーの分、bounds.size.heightが20px変わるから。
603名称未設定:2011/12/19(月) 12:46:45.64 ID:VSLWIRmB0
「iOS:App Store で購入したアプリケーションのトラブルシューティング」
ttp://support.apple.com/kb/TS1702?viewlocale=ja_JP
で,問題が報告されたら,開発者にもレポートみたいなのが送られてくるのかな?

ときおり、アプリのバグについてメールをもらうのだけど(バグは再現できたりできなかったり)
クラッシュレポートを見たことがないので,どんな手順になっているのかがわからないです。

バグについてメールは書いてあることがよくわからないこともあったり,(必ずしも文章力がある人ばかりでないので...)
それよりは,デバッグログ(クラッシュレポート?)を読んだ方が早い気がするのです。
604名称未設定:2011/12/19(月) 13:33:39.88 ID:fl28Rtmz0
>>603
iTunesConnnectでクラッシュレポート見れるぞ
605名称未設定:2011/12/19(月) 14:28:34.80 ID:D9F56pVxP
アプリ内でFlashみたいなアニメーションを作るのってどうやってやるんですかね?
606名称未設定:2011/12/19(月) 14:34:51.11 ID:mR8f/xxx0
>>605
質問が漠然としすぎ。時間軸に沿って描画を更新するとしか答えようがない。
607名称未設定:2011/12/19(月) 14:48:29.61 ID:HSAZJlpg0
どなたか教えてください。
「Resouces」にplistを作り、データを蓄積、参照、削除するアプリを作っています。
公開前に気になったのですが、「Resouces」内のデータはアプリをバージョンアップするごとに上書きされますか?
もし上書きされるのであれば、ローカルデータを複数ファイルに分けて管理し、バージョンアップでの上書禁止をするにははどうすれば良いでしょうか?
608名称未設定:2011/12/19(月) 14:58:35.91 ID:AWjtaQXO0
uiwebViewやuiTextViewでtouchesbeganに相当するイベントを
GestureRecognizerで取得することは可能でしょうか
609603:2011/12/19(月) 15:06:51.34 ID:VSLWIRmB0
>>604
あっ、もちろんiTunesConnectの該当欄は知ってます。
でも、一度も表示されたこと無い。No Crash Reportsばかりだし,Refreshしても無し。
落ちるというメールをもらったこともあるのだけどなぁ
610名称未設定:2011/12/19(月) 15:22:34.41 ID:fl28Rtmz0
>>609
レポートを送信するよう設定して一度クラッシュさせてみてください
とメールしてみれば?
611名称未設定:2011/12/19(月) 15:23:15.78 ID:fl28Rtmz0
>>607
そんな所に保存しちゃだめ。
612名称未設定:2011/12/19(月) 15:26:10.24 ID:HSAZJlpg0
>>611
ありがとうございます。
どこに保存したら良いのでしょう;;
613名称未設定:2011/12/19(月) 15:47:09.68 ID:EdBInc9P0
>>607
iOSの場合、アプリバンドルの中に
>Resouces
は存在しないよね??
(Xcodeのプロジェクト上は、整理用として存在するけど)

書類はNSDocumentDirectoryに保存するのが一般的
この辺参照
https://developer.apple.com/icloud/documentation/data-storage/
http://developer.apple.com/library/ios/#qa/qa1699/_index.html
614名称未設定:2011/12/19(月) 15:55:49.82 ID:HSAZJlpg0
>>613
超初心者なもんで、アプリから読み書きするデータはすべてResourcesに置くものと誤解していました!
実機テストしたら毎回クリアされるので、あれ、、と。
助かりました!やってみますね。
615名称未設定:2011/12/19(月) 16:04:32.53 ID:Hz9kscea0
CoreBluetooth.frameworkを使ってる椰子いる?
616名称未設定:2011/12/19(月) 17:01:31.48 ID:IEZ/w8uu0
まだ使ってないけど、情報少ないよね
617名称未設定:2011/12/19(月) 18:43:57.17 ID:y49mLbeQ0
>>615
使いたいけど全然情報がない
618名称未設定:2011/12/19(月) 18:59:21.48 ID:+cpTnazW0
Devforumにあるよ
619名称未設定:2011/12/19(月) 19:21:58.15 ID:sJrQ21+f0
CoreBluetoothでやりとり出来るのはBluetooth LEの機器だからね。
今はハードメーカーのエンジニアが試しに触ってみるぐらいじゃない?

もうすぐ発売されるらしいGSHOCKが出たら遊ぶ人も出てくるかもしれないけど
620名称未設定:2011/12/19(月) 19:26:15.24 ID:IEZ/w8uu0
おお、マジだ ありがとう
621名称未設定:2011/12/19(月) 23:54:12.93 ID:nbrD4a0i0
絵文字キーボードを固定で出したいんだけど、ドキュメントにありません。どうしたらいい?
622名称未設定:2011/12/20(火) 08:37:44.22 ID:g+dlxrss0
UUIDについてですが
これって初回起動時にコチラ側で生成して保存しておくって認識でおkなんですか?
ググると、いろいろな意見が・・・
623名称未設定:2011/12/20(火) 09:09:25.32 ID:JLM8ls7n0
内容のほとんどをHTML5のサイトに飛ばすようにしているのですが
この場合、普通のレンタルサーバでも負荷的に大丈夫なのでしょうか?
624名称未設定:2011/12/20(火) 10:19:01.78 ID:CJY0WoLd0
タッチイベントをフックするためにUIWindowを拡張したのですが
回転系のイベントはsendEventで取得できないのでしょうか
625名称未設定:2011/12/20(火) 10:23:35.16 ID:nTBINxP20
>>447さんとまったく同じ状態なのですが、>>447さんの質問が未解決なので同じ質問をさせてください。

MainWindow.xibがXcode4.2になったことでどういう扱いになったのかが判りません。
参考書に沿って簡単なアプリを作ることで技術を習得する参考書なのですが、そのせいで行き詰ってしまっています。
ちなみに題名は、「10日で覚えるiPhoneアプリ開発入門教室」です。
626名称未設定:2011/12/20(火) 10:29:33.63 ID:v7bLxZiz0
いろいろ触ってみりゃなんとかなる
xibはstoryboardに変わった。
俺も4.2から始めたがなんとかなってる
627名称未設定:2011/12/20(火) 11:48:55.27 ID:BKV9pLKv0
メソッドを1秒に30回で実行されるように指定し、メソッド内で変数から0.033333ずつ引いていき、それがゼロになったら○秒経過したことになりゲーム終了
という感じで時間を計測しているのですが、
NSDateの差分を求めるやり方で時間を計測してみると、かなり誤差が生じてしまいます。
たとえば、前者のやり方で15秒を指定しても、NSDateの差分を見ると21秒経過していたりします。

「○秒経過したらゲーム終了」のような実装はどのように実現するのが良いのでしょうか
よろしくお願いします。
628名称未設定:2011/12/20(火) 12:03:05.44 ID:jYSW3oMZ0
>>627
NSTimerじゃだめなの?
あとNSDateで差分とってるなら、差分が15秒を越えたら終了とか。
629名称未設定:2011/12/20(火) 12:06:09.71 ID:nTBINxP20
>>626
やっぱ初めのところでstoryboardにチェック入れないといけないのか。
チェック入れないままかなり進めちゃったんだけど、途中で変更できるのかな?
630名称未設定:2011/12/20(火) 12:08:53.55 ID:v7bLxZiz0
>>629
途中で入れて復帰させるのは結構大変w
慣れればなんてことないけど、仕組みがわかるまでは
何度もプロジェクト作りなおした方がいいと思う。

あと、インターフェースビルダーを使わないで開発をする初心者向けのサイトあるから
それなら全く同じように進められる。
そういうとこも併用するといいかも?
631名称未設定:2011/12/20(火) 12:40:14.05 ID:bax3wyo60
632名称未設定:2011/12/20(火) 12:51:29.15 ID:ljp4tOTi0
画面遷移前にグローバル変数(homedir)にNSHomeDirectory()で取れた文字列を入れたのですが
画面遷移後にNSLog(@"%@"),homedir);で確認すると文字がなくなったりエラーになってしまうのですが原因がわかる方教えていただきたいです。
NSHomeDirectory()ではなく@"abcde"などでは全く問題は起きませんでした。
633名称未設定:2011/12/20(火) 12:55:23.76 ID:bax3wyo60
>>632
autorelease されてるから。iOS のメモリ管理についてちゃんと勉強して。
あと、そもそも NSHomeDirectory() をグローバル変数に保存する必要はないと思う。
634名称未設定:2011/12/20(火) 13:08:22.48 ID:JLM8ls7n0
>>625
自分もその本読んでやってましたが詰まるところは特になかったです。
どこで詰まったんですか
635名称未設定:2011/12/20(火) 13:56:40.75 ID:ljp4tOTi0
>>633
解決しましたありがとうございます。
>NSHomeDirectory() をグローバル変数に保存する必要はない
こちらはNSHomeDirectory()+αでしたが簡略化のため省きました
636名称未設定:2011/12/20(火) 13:58:42.32 ID:yYQiQleV0
勝手に簡略して偉そうにすんなカス
って事ですか?
637名称未設定:2011/12/20(火) 14:03:38.29 ID:CJY0WoLd0
UiTextViewをフルスクリーン状態で回転させてた後に
テキストをロングタップし、メニュー項目を出すとき
UIMenuControllerがロングタップしたテキストを隠してしまう
場合がでできたのですがこれを直す方法はないでしょうか
638名称未設定:2011/12/20(火) 17:59:08.40 ID:GYOdVVvf0
UITabBarController使ってアプリを作りタブのひとつにUIImagePickerControllerを
組み込んだのですがImagePickerをviewControllersに入れる配列の最初にすると画面下の
タブは正常に表示されるのですが2番目以降にするとそのタブを開いた際にイメージピッカーが
画面全体に表示され下のタブ一覧が表示されなくなります。どういう理由でこうなってしまうのでしょうか?

639名称未設定:2011/12/20(火) 19:52:49.82 ID:sYg4Bi+I0
>>638
tab bar controllerには組み込めません。
640名称未設定:2011/12/21(水) 00:41:53.98 ID:UXLFiEYp0
iadをUINavigationControllerに組み込むいい方法ありませんか?
画面遷移するたびに追加するの面倒です。
641名称未設定:2011/12/21(水) 00:43:40.75 ID:/GnkUECO0
>>630
ぬおーやっぱりそうなのかー。
おとなしく初めからやるか・・・。まあ困難なのが判っただけよしとしよう。
そもそもまだMacOS触り始めたばっかだから、何ができて何ができないのかすらわからないわ。
ありがとう。

>>634
具体的には、p.146のA、タブバーに関連付けるってとこ。
ここで選択しているMainWindow.xibっていうのが今のバージョンだと廃止されているみたいなの。
642638:2011/12/21(水) 09:57:35.42 ID:5d9xmXkr0
言葉が足りなかったみたいなので追記します。

FirstViewController *vc1 = [[FirstViewController alloc] init];
SecondViewController *vc2 = [[SecondViewController alloc] init];

UITabBarController *tabcon = [[UITabBarController alloc] init];
NSArray *array = [[NSArray arrayWithObjects:vc1,vc2,nil];
tabcon.viewControllers = array;

といったことをしておりFirst,Secondともに親クラスはUIViewControllerで
FirstViewController内で[[UIImagePickerController alloc] init]をしています。
array に入れる配列で上のようにvc1が先だと画面下にタブバーは正常に表示され
vc2が先だとFirstViewController を受け持っているタブを開くと画面全体に
イメージピッカーが表示されて下のタブバーが見えなくなってしまうのです。


643名称未設定:2011/12/21(水) 10:46:17.53 ID:9+FFnckS0
初心者のスタートラインにも立ってない質問で恐縮ですが、

キーボード、マウス、モニターは一揃いあ状態で、安上がりでiOSアプリ開発を開始したい場合は、Mac mini がベターでしょうか?
Mac mini は iMac 等に比べてハード性能的にはどうなのでしょう?
Xcode4.2 がそこそこ快適に使える環境を求めています。
644名称未設定:2011/12/21(水) 11:06:15.42 ID:0t+EzkAt0
メモリ追加はするとして、どれでもいいよ
周辺そろってるならminiが安いよね。
mini使用中だけど、こたつでもやりたくて、Air検討中
645名称未設定:2011/12/21(水) 11:26:47.24 ID:35k/lfRV0
金かけたくないならAndroidアプリでも作ってればいい。
646名称未設定:2011/12/21(水) 11:37:15.75 ID:sogVToWb0
>>643
Mac mini で充分だと思う。拡張性には欠けるけど。
Mac は Windows 機と違って、CPU とかのスペックをケチってないからね。
647名称未設定:2011/12/21(水) 11:39:19.35 ID:sogVToWb0
>>644
去年の Air 13 インチをメインマシンにしてるけど、快適だよ。
さすがに 11 インチは画面が狭すぎると思う。
648名称未設定:2011/12/21(水) 11:48:49.03 ID:34hcw0Tb0
>>643
性能はMiniで十分
メモリもしばらく使ってみて自分が我慢できなければ増設考えればいい
(サードパーティーのが安いし)

個人的にはキーボードをアップル純正にしたい所
649名称未設定:2011/12/21(水) 12:58:48.28 ID:zmwtz3XN0
定期的に同じ質問する人いるよね
ググるくらいしたのか?
650名称未設定:2011/12/21(水) 13:47:15.84 ID:34hcw0Tb0
答えが知りたいんじゃなくて
話し相手が欲しいんだろう
何か始めるときにはありがちなこった
651名称未設定:2011/12/21(水) 15:31:31.62 ID:9+FFnckS0
>>644,646,648
レスありがとうございます。
Mac mini の購入を検討してみます。
652名称未設定:2011/12/21(水) 21:24:57.81 ID:IfnFbof+0
Exchangeサーバの予定表のデータをアプリで取得したいのですが、
どういうAPIがあるのでしょうか?
(ActiveSyncという別の方法は、使わない予定です)
653名称未設定:2011/12/21(水) 22:27:12.18 ID:VCiyD7dGi
>>652
ヒント Google
654652:2011/12/21(水) 22:44:12.81 ID:IfnFbof+0
>>653
GoogleAPIです? ありがとうございます。

調べてみているのですが、Exchangeサーバの予定表のデータを自作のアプリから
取得する方法が見つかりません。。。
655638:2011/12/22(木) 01:21:19.74 ID:tV8wxwTA0
自己解決しました。自分のミスで修正したソースが一部残っていてそれが悪さをしていただけでした。
656名称未設定:2011/12/22(木) 14:42:35.13 ID:BQp80pJX0
質問です。

CFStringの文字列が、@"東京"と同じか比較する場合、
どのように記述すれば良いのでしょうか?
657名称未設定:2011/12/22(木) 15:04:48.28 ID:TV2pKLSn0
型を統一して比較
658656:2011/12/22(木) 16:14:24.51 ID:BQp80pJX0
>>657
レスありがとうございます。

「型を統一して比較」する方法が分からなくて質問しています。
659名称未設定:2011/12/22(木) 16:20:31.33 ID:Gjkm1U/t0
>>658
そうですか。
660名称未設定:2011/12/22(木) 18:59:51.14 ID:bAm7H9VG0
leopard環境です
旧バージョンのSDK/xcodeをダウンロードしたところ、
iphone4sだと動いてくれないみたい

新しいmac買うか、2段アップデートしか手はないのかな?
SDK/xcode以外の手段があったら、教えてください!
661名称未設定:2011/12/22(木) 19:16:09.09 ID:KVuvlRT40
>>660
Snow Leopard でも Xcode 4.2 まではあるけど、
4.2.1 以降は出ないみたいだから、Lion にした方がいいだろうね。

OS X Lion USBメモリ版ってのもあるけど、一旦 Snow Leopard にしないと駄目らしい。
http://store.apple.com/jp/product/MD256Z/A
662名称未設定:2011/12/22(木) 19:24:08.20 ID:bAm7H9VG0
>>661
ありがとう
webならサーバーとテキストエディタとか、
既存のブログサービス利用とかできるけど、
iponeアプリは別物なのね

ipad購入考えてたけど、air買おうかな
663名称未設定:2011/12/22(木) 19:30:18.14 ID:TV2pKLSn0
>>658
それらのキーワードでググればすぐでると思うし、
何よりNSStringが宣言されたヘッダーくらい見たら?
xcodeからすぐに確認できるから
664名称未設定:2011/12/22(木) 19:38:50.97 ID:QqxkA60S0
>>656
CFStringRef と、NSStringは全く同じものです。(Toll-Free Bridging)

というところを抑えれば、あとはドキュメントのCFStringとNSStringのどっちでも好きな方の
項目を見れば、比較のやり方は書かれてあります。
665名称未設定:2011/12/22(木) 20:40:16.40 ID:pgZcZI2d0
29日までレビューは一切進まないの?
666名称未設定:2011/12/22(木) 20:40:39.41 ID:tf8LvMcN0
ファイルエクスプローラのように、フォルダ階層を掘ったり戻ったりできる画面をもったアプリケーションを作成したいのですが、
いいサンプルはあるでしょうか?
階層が1階層だけではなく、かつ、xibを使っていないものが見たいです

appleのサンプルコードを探したのですが見つからず…
667名称未設定:2011/12/22(木) 20:50:13.19 ID:KVuvlRT40
>>665
YES

>>666
最近そういうの作ったなぁ。UINavigationController と UITableViewController (のサブクラス) を組み合わせたら簡単にできるよ。
668i:2011/12/22(木) 21:57:22.96 ID:3w4VNMS50
シュミレーターではUISwitchの文字列はON、OFF表示なのですが
実機では○と|の表示になってしまうのですがなぜでしょうか
669名称未設定:2011/12/22(木) 22:06:04.52 ID:/HVwC8nv0
>>668
日本語のローカライズ
670名称未設定:2011/12/22(木) 23:30:01.99 ID:z2sMa3KY0
シミュレータ
671名称未設定:2011/12/22(木) 23:33:34.57 ID:F8C704xe0
>>667

それがちょっと詰まってまして…

UITableViewControllerのdidSelectRowAtIndexPathで、UITableViewをreloadDataして、テーブル内のセルの表示を変えるときに、
右にスライドするアニメーションを入れたいんですが、どうすればアニメーションが入るのかわかりません
ネットの海を数時間徘徊してしまいました
672名称未設定:2011/12/23(金) 11:16:18.93 ID:ZrRhsr+E0
sales and trendsのchangeって何ですか?
673名称未設定:2011/12/23(金) 11:57:21.16 ID:u2Z1jnzf0
>>671
reloadData しちゃ駄目。新しい view controller を作って navigationController に push。基本中の基本だよ。
674656:2011/12/23(金) 12:30:40.20 ID:PTzxNrjz0
>>664
レスありがとうございます。

675名称未設定:2011/12/23(金) 15:07:57.18 ID:ys4UQxoj0
>673

ありがとうございます!

かなりハマって、無駄な時間を過ごしていたので、助かりました
676名称未設定:2011/12/23(金) 16:44:36.03 ID:KymAkZ6m0
CGRect screen = [[UIScreen mainScreen] bounds];
return screen.size.width;
の横幅は,端末の現在の向きとは無関係に,決まってる?
横向きにしても320.0がいつも返ってくるのだけど。

それとも
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
の中で読んでるから,期待通りの値が戻ってこないだけ?
677名称未設定:2011/12/23(金) 17:39:59.13 ID:0U8xnZFl0
>>676
>の横幅は,端末の現在の向きとは無関係に,決まってる?

そうです。
678名称未設定:2011/12/23(金) 19:46:50.97 ID:YHHKE5Kk0
テーブルの2個目のセクションにボタンを追加したのですが、ボタン押下時の
メソッド(MyAction)がコールされません。何が悪いのでしょうか・・。
※1個目のセクション指定だと正常にメソッドがコールされます。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
:
:
if ([indexPath section] == 1) {// 2個目のセクション
UIButton *btn = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
[btn setFrame:CGRectMake(0.0, 5.0, 90.0, 35.0)];
[btn setTitle:@"タッチ!" forState:UIControlStateNormal];
[btn.titleLabel setFont:[UIFont fontWithName:@"Helvetica" size:18]];
[btn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
[btn setBackgroundColor:[UIColor clearColor]];
[btn addTarget:self action:@selector(MyAction:) forControlEvents:UIControlEventTouchDown];
[cell.contentView addSubview:btn];
[btn release];
}
679名称未設定:2011/12/23(金) 20:07:05.61 ID:0U8xnZFl0
多分、セルが正しく使い回されてないからじゃないかな。
680名称未設定:2011/12/23(金) 20:09:55.83 ID:g58Hdwq/0
Xcode4でのローカライズで質問です。
日本語版/英語版で切り替えたいのは画像1枚だけなので、コード中で画像をロードしてる部分は、
viewxx.image = [UIImage imageNamed:@"image.jpg"];
のまま、プロジェクトファイル一覧からimage.jpgのLocalizationを追加し、
image.jpg > image.jpg(English), image.jpg(Japanege)に分かれたこと、実フォルダでも
en.lproj, ja.lprojにそれぞれ格納されたことを確認しました。
Englishの画像を変更した後、シミュレータで動作を確認したところ、iPhoneの設定から
言語環境を切り替えても画像が変わりません。
そこでシミュレーターのメニューから「コンテンツと設定をリセット」を実行し、アプリを
再インストールしたところ正しい画像が表示されました。

これでいいのでしょうか?私の方でなにかやらなければならないことが抜けているのでしょうか?
681名称未設定:2011/12/23(金) 20:18:39.06 ID:0U8xnZFl0
(1)ローカライズ分ける前
 アプリケーションバンドル直下にimage.jpgが置かれる。

(2)ローカライズ分けた後
 アプリケーションバンドルにja.lproj en.lprojフォルダが作られ、そのなかに
 image.jpgがそれぞれ作られる

シミュレータの場合、上書き更新しただけだと(1)のimage.jpgが残ってるので、
ローカライズフォルダ内のimage.jpgに優先して読み込まれる >>680の状態。

実機の場合は問題ないと思う。
682名称未設定:2011/12/23(金) 20:25:19.95 ID:YHHKE5Kk0
>>679
といいますと??
683名称未設定:2011/12/23(金) 20:33:22.59 ID:g58Hdwq/0
>>681
ありがとうございます。納得しました。
684名称未設定:2011/12/23(金) 20:47:07.70 ID:0U8xnZFl0
>>682


dequeueReusableCellWithIdentifier
を使ってセルを使い回す場合、標準では全部で6個くらいしかセルは作成されず、
一度作成されたセルがぐるぐる使い回されるだけ。使い回す前に正しくセルをリセットしないと
ゴミが残ったりする。

その辺りがうまく行ってないんじゃない?
685名称未設定:2011/12/23(金) 21:06:17.93 ID:YHHKE5Kk0
>>684
なるほど。。。確認してみます。ありがとうございます。
686名称未設定:2011/12/23(金) 21:28:52.82 ID:YHHKE5Kk0
>>684
ためしにセルを使い回さないように別にallocし直しましたが
それでも駄目でした・・・。
687名称未設定:2011/12/23(金) 21:36:05.79 ID:heLjG1mq0
return cell;
688名称未設定:2011/12/23(金) 22:00:40.09 ID:gp6hDMTF0
>>686
試してみたけど普通に動くよ
少なくともコピペされたコードは間違ってないと思う(retain, releaseはなくてもいい)
689名称未設定:2011/12/23(金) 22:03:51.90 ID:YHHKE5Kk0
>>688
ありがとうございます。。。でも。。。なぜ私のは動作しないのでしょ・・・
690名称未設定:2011/12/23(金) 23:51:13.35 ID:xBgtLEa60
>>689
書いてないとこに問題があるとは考えられないのかね?
691名称未設定:2011/12/24(土) 00:39:46.35 ID:SN+D8QO/0
>>690
いやー。。たぶんそうなんでしょうけど、まったく見当がつきません。
そんな難しいことしてませんし。。。

おそらくしょーもないミスなんでしょうけど、そういうのに限って
発覚するまでに相当時間を費やします・・・。

もうちょっと考えます。すみません。。
692名称未設定:2011/12/24(土) 00:49:51.29 ID:lvEmBMuJ0
>>691
もう一個新規プロジェクト作って簡単なテストしてみたら?
以外と問題箇所がすぐ見つかるよ
693名称未設定:2011/12/24(土) 01:21:42.34 ID:SN+D8QO/0
>>684,688,690,692

解決しました。2個目のセクションだけheightForRowAtIndexPathでsizeが0に
なってました・・・。
単純ミスですみませんでした。
694名称未設定:2011/12/24(土) 06:01:59.35 ID:BkgGdNlM0
UIWebVewで、表示したページの文字が文字化けすることがあるのですが、解決策はあるでしょうか?
同じページをSafariで見た場合、文字化けは起こりません。
695i:2011/12/24(土) 10:40:27.61 ID:Oj42rdcT0
uiViewにloadHTMLでコンテンツを表示し
回転させるとフォントサイズが拡大してしまうので
回転が終わったところで以下のようにしてリロードしているのですが
この方法意外でスマートな方法はないでしょうか

NSString *innerHTML = [self stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"];
[self loadHTMLString:innerHTML baseURL:nil];
696名称未設定:2011/12/24(土) 12:58:38.86 ID:dL7JCrht0
>>694
文字化けするページのHTMLソースに問題は無い?
697名称未設定:2011/12/24(土) 13:10:05.44 ID:lvEmBMuJ0
>>694
UIWebView 文字化けでググったら
3番目くらいにやり方出てくるよ
698542:2011/12/24(土) 13:35:05.21 ID:db10YGiL0
>>544
再質問です。

NSMutableString *hensumei = {NSMutablestring slloc] init];
[hensumei setString:@"ほげ"];
〜CFSTR("hensumei")〜;
の「CFSTR("hensumei")」は、"ほげ"でなく、"hensumei"になります。
"ほげ"になるようにするには、どうすれば良いのでしょうか?
699名称未設定:2011/12/24(土) 14:09:27.01 ID:4jeG5D2p0
>>698
何をしたいのかさっぱり分からん。プログラミングの基礎からやり直し。ついでに日本語も。
700名称未設定:2011/12/24(土) 14:41:46.78 ID:Sp26aYj60
おもろいなあ
701名称未設定:2011/12/24(土) 14:48:36.46 ID:yfUUafyT0
>>698

NSMutableString *hensumei = [[NSMutablestring alloc] init];
[hensumei setString:@"ほげ"];

これでhensumeiの内容は「ほげ」になる。

CFSTR("hensumei")は「hensumei」という文字列定数。NSMutableString *hensumeiとは全く関係がない。
702名称未設定:2011/12/24(土) 15:03:40.30 ID:EQBjHF4W0
>>698
その認識なら$付けないとダメだろ。やり直し
703名称未設定:2011/12/24(土) 16:16:22.96 ID:H3OobbA30
 ∧_∧
( ´∀`)< にるぽ
704698:2011/12/24(土) 19:42:59.19 ID:db10YGiL0
>>701
レスありがとうございます。

hensumeiの内容を"ほげ"にするのが目的ではありません。
引数がCFSTR("たなか")の関数の引数指定を定数("たなか")ではなく、
変数にして実行時毎に異なる値をセットしたいのです。
705698:2011/12/24(土) 19:47:49.85 ID:db10YGiL0
CFSTR("hensumei")は、
>>544
CFSTR("NSMutableString変数名")で出来るという回答を頂いたのですが
それでは定数になるのでは?という意味で例示しました。
706名称未設定:2011/12/24(土) 19:59:11.87 ID:yfUUafyT0
>>704
CFSTR("たなか")はコンパイル時に定数のCFStringRefを生成する関数なので、
実行時に動的に変更することはできません。

何か大きな勘違いをしてるよ。

なんでCFSTRが引数なのか、わけわからん。
>>553
>使いたい関数の引数の形式がCFSTRになっている
引数はCFSTRではなくてCFStringRefなのでは?その関数は誰が作ったの?ここで晒せば?

>>544は、
>CFSTR("たなか")の「"たなか"」部分を"NSMutableString変数"にする場合は、どう記述すれば
の答えとしてCFSTR("NSMutableString変数")とシャレで答えたんでしょ。
707名称未設定:2011/12/24(土) 22:00:18.76 ID:Sp26aYj60
>>706
放っておきなさいよイヴの夜なんだから
708704:2011/12/25(日) 15:29:09.00 ID:x+ieHR3P0
>>706
レスありがとうございます。

関数はアドレス帳へ新しい項目を追加する関数です。
「姓」、「名」、「名の読み」は、
引数に「(CFStringRef *)NSMutableString変数名」を指定して正しくセットされるのですが、
「姓の読み」を「(CFStringRef *)NSMutableString変数名」で指定すると、
レコードそのものがアドレス帳に追加されません。CFSTR("たなか")で指定すると正しくセトされます。
この原因が分かりません。

//(1)NSMUtableStringのi_stringには姓がセットされている
success =ABRecordSetValue(new_rec, kABPersonLastNameProperty, (CFStringRef *)i_string, &error);
//(2)i_stringには名がセットされている
success =ABRecordSetValue(new_rec, kABPersonFirstNameProperty,(CFStringRef *)i_string, &error);
//(3-1)i_stringには姓の読みがセットされている
success =ABRecordSetValue(new_rec, kABPersonLastNamePhoneticProperty,(CFStringRef *)i_string, &error);
//(3-2)CFSTR("xxx")で姓の読みを指定
/ success =ABRecordSetValue(new_rec, kABPersonLastNamePhoneticProperty,CFSTR("たなか"), &error);
//(4)i_stringには名の読みがセットされている
success =ABRecordSetValue(new_rec, kABPersonFirstNamePhoneticProperty, (CFStringRef *)i_string, &error);
//アドレス帳へ登録
success =ABAddressBookAddRecord(ab, new_rec, &error);
//アドレス帳を保存
success = ABAddressBookSave(ab, &error);



709704:2011/12/25(日) 15:31:07.66 ID:x+ieHR3P0
↑追記です。
(3-1)だと正しく登録できません。(3-2)にすると正しく登録されます。
710名称未設定:2011/12/25(日) 17:04:47.53 ID:0u0LtAsA0
i_stringが空としか言えんわ、そんなの。
711名称未設定:2011/12/25(日) 17:05:29.25 ID:sxfpG5+X0
海外のランキングはどのようにしてみるのでしょうか
712名称未設定:2011/12/25(日) 18:00:41.88 ID:OvG58s5h0
>>708
>(CFStringRef *)i_string
じゃなくて
(CFStringRef)i_string
だろ
713名称未設定:2011/12/25(日) 18:48:13.05 ID:OvG58s5h0
>>708

下のように試したけど、ちゃんと登録できました。
(実際には、日本語文字列のところはNSLocalizedStringを使って日本語リソースをよみこませるようにしたけど)

今までの書き込みから察すると、基礎からきちんと勉強した方が近道だと思うよ。
この場所以外もグダグダなことが予想されるから。

ABRecordRef person = ABPersonCreate ();
CFErrorRef error = nil;
ABAddressBookRef addressBook = ABAddressBookCreate();

ABRecordSetValue(person, kABPersonLastNameProperty, @"山田", &error);
ABRecordSetValue(person, kABPersonFirstNameProperty, @"隆夫", &error);
ABRecordSetValue(person, kABPersonLastNamePhoneticProperty,@"やまだ", &error);
ABRecordSetValue(person, kABPersonFirstNamePhoneticProperty, @"たかお", &error);

ABAddressBookAddRecord(addressBook, person, &error);
ABAddressBookSave (addressBook, &error);

CFRelease(person);
CFRelease(addressBook);
714名称未設定:2011/12/25(日) 18:55:12.36 ID:OvG58s5h0
追伸。NSMutableStringにしても、当然問題なかったよ。
715名称未設定:2011/12/25(日) 19:25:04.41 ID:P/TOBQsJ0
うおおおおおおお、Connectの休みってそこまで休むのかああああ
716名称未設定:2011/12/25(日) 22:38:25.95 ID:YwqkJFEC0
SKDスレが一番元気なので、ここで質問させてください

html css phpしか書けない現状で、
美陣時計のような、一日一回待ち受け画像が変わるだけのアプリを作りたい場合、
最適な開発ツールなど存在するでしょうか?
それとも一からSDKで試行錯誤するのがベスト?
717名称未設定:2011/12/25(日) 23:57:58.75 ID:VwMuJDsk0
>>716
HTML5を使えば、そこそこのことはできるよ。
(初めはウィジェットだけだったし)
ただ、そもそもホーム画面をアプリから変更できたっけ?という方が問題かも

718名称未設定:2011/12/26(月) 07:48:42.08 ID:Q2OY4zPX0
>>717
ありがとう
そうか、アプリを立ち上げないと動作させられないもんね

なにか方法考えてられるような問題なのかな?
それともアイデア自体を変えるべき?
719名称未設定:2011/12/26(月) 08:06:01.95 ID:p9J+5m2G0
勝手にホーム画面いじるようなことに使えるAPIは公開されていない。
720名称未設定:2011/12/26(月) 08:43:45.97 ID:Q2OY4zPX0
そーかー
基本的アイデアから考え直すしかなさそうですね

残念だけど助かった!
ありがとうー
721名称未設定:2011/12/26(月) 09:23:31.18 ID:brbG0PNH0
Build&Runをすると次のメッセージが出て異常終了します。どうすれば良いのでしょうか?
Macの再起動、iPhoneアプリの削除をしても現象は変わりません。
(アプリは昨日まで正常にBuild&Runできていました)

Couldn't register com.yourcompany.Emails with the bootstrap server. Error: unknown error code.
This generally means that another instance of this process was already running or is hung in the debugger.
722名称未設定:2011/12/26(月) 10:19:03.39 ID:x5mOEqyXP
>>721
デバイスの再起動
723721:2011/12/26(月) 12:27:46.71 ID:brbG0PNH0
>>722
ありがとうございます。
724名称未設定:2011/12/26(月) 12:50:12.45 ID:WuJs8N800
- (void)webViewDidFinishLoad:(UIWebView *)loadedViewの中で
[loadedView stringByEvaluatingJavaScriptFromString:jScript];
みたいなかんじで,javascriptを実行できるのですが,
cssを適用するstringByEvaluatingCSSFromString的なことをしたいのですが、
方法はありますか?
既存のWebページを上書きしたいのです。

725名称未設定:2011/12/26(月) 13:40:56.87 ID:YsSb6J4S0
Javascript で CSS を操作すればいいのでは?
http://ash.jp/web/css/js_style.htm
726名称未設定:2011/12/27(火) 00:03:03.25 ID:FjdoTu1m0
"次にすること"のアプリのように、TableViewのCellをドラッグさせたいのですが、標準のクラスを使って実現できるのでしょうか?
それとも、Animation専用のナニかを使わないと実現できないのでしょうか?
727名称未設定:2011/12/27(火) 06:46:42.05 ID:yCXipmiNP
とりあえずADCのtable viewのドキュメントでも読んでみたらどうだろう。
728708:2011/12/27(火) 08:29:30.63 ID:Gnfx2RQ30
>>710,712-714
レスありがとうございます。
(CFStringRef)に変更して、再確認してみました。
i-stringに定数(@"やまだ")をセットしたら正しく登録できました。
i-stringに配列の要素をセットしたら登録できません。
i-stringをNSStringに変えて配列の要素をセットしたら登録できました。
もう少し調べてみます。
どうもありがとうございました。
729名称未設定:2011/12/27(火) 17:39:09.78 ID:fU2c17Oc0
setNeedsDisplayInRectについて質問させてください。
myCanvasというUIViewを作って、setNeedsDisplayInRectを使って、ボタンを押すたびに10×10の小さな四角を描いていくというコードを書いたのですが、
なぜかボタンを押すと、時々小さな四角ではなく、画面全体の大きさの四角が描かれてしまいます。小さな四角の座標とサイズを引数として渡しているのですが、
画面全体が指定した色で塗られてしまい、それまで描いていた小さな四角は全部消えてしまいます。
引数のrectを調べると、画面全体が塗られてしまうときは、rectのサイズがmyCanvasと同じサイズになっていました。
一番最初にボタンを押すときや、しばらく放置しておいた状態からボタンを再度押したときなどに、このようなことが起こります。

本やネットで調べた結果、再描画サイクルの時に、たまにsetNeedsDisplayが呼ばれて画面全体が再描画されてしまうのかなと勝手に想像したりしているのですが、実際には何が起こっているのでしょうか?
できれば、小さな四角のみが描かれるようにしたいのですが、どうしたらいいのでしょうか?ネットや本を調べても、setNeedsDisplayInRectはrectに囲まれた矩形だけを再描画するとさらっと書いているだけで、
誰もこんなことを問題にはしていないようで、何を調べていいのかも、よくわからなくなってきてしまいました。よろしくお願いします。
730名称未設定:2011/12/27(火) 17:44:10.86 ID:GDAV3c0v0
>>729

>setNeedsDisplayが呼ばれて画面全体が再描画されてしまう
正解。

四角を書きたいならCGContextStrokeRectとかだね。
731名称未設定:2011/12/27(火) 17:44:57.55 ID:U3Fceqk2P
>>729
実際の描画はmyCanvasのdrawRectで。
732名称未設定:2011/12/27(火) 17:56:59.38 ID:fU2c17Oc0
>>730 ありがとうございます。CGContextStrokeRectを今からさっそく調べてみます。

>>731 ありがとうございます。myCanvasでdrawRectを呼び出すこともやったつもりなのですが、うまく行きませんでした。
でも、後でもう一回トライしてみます。まずはCGContextStrokeRectを調べてみるつもりですが、わからないことがあったら、
また質問するかもしれないので、そのときは、よろしくお願いします。
733名称未設定:2011/12/27(火) 18:01:11.01 ID:yotpXE/c0
>>732
drawRect: は、自分で呼び出しちゃ駄目だよ。
setNeedsDisplay(InRect:) を呼ぶと、適当なタイミングで OS が
drawRect: を呼び出してくれるので、描画はそのときだけ行うこと。
734名称未設定:2011/12/27(火) 18:02:11.67 ID:u8/hSvj/0
>>729
setNeedsDisplayInRect:(CGRect)invalidRect
とは、「invalidRectで示す矩形範囲を再描画して下さい」とUIViewにメッセージを送る命令。
これを受け、UIViewのdrawRect:が呼ばれる。UIViewのサブクラスでは、drawRect:の引数で指定された
矩形範囲の中だけを再描画すればいい。
(つまりUIViewサブクラスでは、drawRect:の引数として何が来ても再描画できるように、10x10の四角を
どこに描くのかなどの準備しておかなければならない。効率を考えないなら、ビューのbounds全体を再描画する
コードを書けばいい。)
735名称未設定:2011/12/27(火) 20:59:12.99 ID:Dhgs1jE60
>>733
>>734
ありがとうございます。

実は今ドットアートを描くアプリを作っていて、最初はsetNeedsDisplayを使っていたのですが、
反応が遅いのでsetNeedsDisplayInRectを使いたいと思って変更したら、変になってしまい、簡単なコードを描いて試していたのです。
なので描画の効率を改善したくて、ビューの一部だけが描画できたらいいなと思っていました。
引数のrectとは別にmyRectという変数を用意して、drawRectのCGContextStrokeRectなどにmyRectを直接代入して描画しようと試したのですが
ちょっとうまくいきませんでした。

ただ、よく考えたら、ドットアートアプリの方では時々ビュー全体が再描画されても問題ないということに気がつきました。ドットアートのマスメを何色に塗るかという情報は配列に入れているので、
全体を再描画する命令になっても問題ないからです。問題はsetNeedsDisplayが呼び出されたときにdrawRectの内部では全体を描画するように指定できていない事だったようです。
画面全体が再描画されるときがわかれば、そのときだけ一部の矩形ではなく全体を描画するようにdrawRectの内部を場合分けすればいいのかなと思ったので、
setNeedsDisplayが呼び出されるタイミングを知る手だてがあるのかどうか再度質問させていただこうと思ったのですが、drawRectの引数のrectのサイズで場合分けすればいいことに気がついて、今試してみたら、問題なく動きました。
1ヶ月ほど悩んでいた事なのですが、setNeedsDisplayが呼び出されて全体が再描画されてしまうということ事実が確認できたので、問題が解決できました。
皆様のおかげです。本当にありがとうございました。
長々とすいません。
736名称未設定:2011/12/27(火) 22:05:45.58 ID:J32ZPrFd0
core dataでシフトjisのchar配列を保存したいと思うのですが
utf-8に変換してstringで保存するのと、BinaryDataで保存するのではどちらの方がいいと思いますか教えてください
737名称未設定:2011/12/27(火) 22:17:34.99 ID:zu8i15xJ0
検索するなら文字列。
738名称未設定:2011/12/27(火) 22:33:35.17 ID:J32ZPrFd0
>>737
ありがとうございました。検索は一切しませんのでバイナリで保存することにします
739名称未設定:2011/12/28(水) 00:58:29.76 ID:p7JakrlT0
質問です。
今、Xcode4.2上でresourceフォルダに入れた save.txt(中身は短い1行の数字の羅列) を読み込んでNSString *nameに入れたいのですが
name= [NSString stringWithContentsOfFile:@"save.txt" encoding:NSUTF8StringEncoding error:&error];

では間違いなのでしょうか?
740名称未設定:2011/12/28(水) 04:03:29.62 ID:14TYgY5T0
>>739
普通はこうかな。
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"save.txt"];
name = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];

.appパッケージの中を見て、どこにsave.txtがあるか確認してね。
741名称未設定:2011/12/28(水) 14:05:37.90 ID:ho3HQzIS0
storyboard に view controller をドラッグアンドドロップしたらいっぱいに広がっちゃうのを、
Popover の Use Explicit Size を使えば細長く popover 表示できます。

しかし split view な新規プロジェクトで始めるとここはチェックが入っていない上に
見た目も最初から細長くなっています。
こういうデフォルトで細長い view を持つ view controller を storyboard 上に展開するにはどうすればいいんでしょうか?
742名称未設定:2011/12/28(水) 14:50:26.19 ID:uZUNWtIH0
NSURLConnectionの非同期通信について質問させてください。
同期通信は、一応出来ました。

例えとしてYahooのトップページをダウンロードしてみる場合...

- (void) test
{

NSURL *url = [NSURL URLWithString:@"http://www.yahoo.co.jp/"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self]; //←この時点で、もう通信が始まっているのですよね?
}

//全てのデリゲートメソッドにNSLogを仕込みます。改行が長過ぎて書き込めなかったので詰め詰めです。

- (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response { NSLog(@"Nyan!"); }
- (void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data { NSLog(@"Nyan!"); }
- (void)connectionDidFinishLoading:(NSURLConnection*)connection { NSLog(@"Nya!"); }
- (void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error { NSLog(@"Nyan!"); }

どのNSlogも表示されないのです。
通信が始まっているのなら、どれかは表示されるのでは・・・?

ダウンロードが始まっていないのでしょうか・・・。
ものすごく初歩的なことのはずなのですが、どうしてもわかりません。
本を読んでもインターネットで調べても、自分にはこのどれかのNSLogが表示されるはずだとしか思えないのです。
NSLogが表示されてくれればあとは中身を作るのですが・・・なぜ表示されないのかが全くわかりません。
どうか、よろしくお願いします・・・。
743名称未設定:2011/12/28(水) 14:58:34.30 ID:ho3HQzIS0
>>742
-test が呼ばれてないってことはないですか?
ネットにつながっていないってことはさすがにないですよね。
744名称未設定:2011/12/28(水) 15:07:47.40 ID:2Y+Ug43D0
>>742
testメソッドから抜けた瞬間にconnectionがdeallocされて消滅しているとか。
745名称未設定:2011/12/28(水) 15:20:22.05 ID:uZUNWtIH0
>>743
今書き込んでいるのでネットには繋がっています・・・w

書くのを忘れてしまいましたが、testメソッドには同期通信とその確認のNSLogも実装してみて動作を確認しましたので、
testメソッドは確実に呼ばれています。

>>744
わかりやすくと思って少し変えましたが、connectionはインスタンス変数です。
あと、Auto Reference Countingは有効にしてあります。
746名称未設定:2011/12/28(水) 15:51:29.98 ID:uZUNWtIH0
連投すいません。無意味かもしれませんが、このクラスの全ソースを書きました。
なぜ非同期通信のデリゲートメソッドが実行されない(NSLogが表示されない)のか教えていただけたら非常に助かります。また来ます。

#import <Foundation/Foundation.h>
@interface connectTest : NSObject { NSURLConnection *connection; }
- (void)test;
@end

@implementation connectTest
- (void)test
{
NSURL *url = [NSURL URLWithString:@"http://www.yahoo.co.jp/"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

NSHTTPURLResponse *resp = nil;
NSError *error = nil;
NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&resp error:&error]; //同期通信
if (!error) { //同期通信が出来ているならNSLogを表示 (表示されました)
NSLog(@"Done ! ");
if (result) NSLog(@"Data is Downloaded.");
}

connection = [NSURLConnection connectionWithRequest:request delegate:self]; //非同期通信
}

//非同期通信のデリゲートメソッドにNSLogを配置 (表示されません)
- (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response { NSLog(@"Nyan!"); }
- (void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data { NSLog(@"Nyan!"); }
- (void)connectionDidFinishLoading:(NSURLConnection*)connection { NSLog(@"Nya!"); }
- (void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error { NSLog(@"Nyan!"); }
@end
747名称未設定:2011/12/28(水) 16:01:12.56 ID:JHXHKI3o0
>>746
これをどこからどうやって呼び出してるの?
もしかして run loop がないとか…。

>>744
connection とか timer とかは、動いてる間は OS が retain してるから、
それはない筈。
748名称未設定:2011/12/28(水) 16:03:22.81 ID:uZUNWtIH0
うわーん!
すいません事故解決しました。

ユニットテストから単にメソッドを呼び出していました。
ユニットテストは非同期通信の終わりを待たず、アプリを終了させますよね。
そりゃそうですよね、それが非同期通信ですよね。

ユニットテストではなく普通にコンパイルして、ボタンからメソッドを呼び出したら全て表示されました。
これだけで3日ほど悩んでいました。何も間違っていなかったのですね。

もっと詳細に環境を説明しなければダメでしたね。
今後気をつけます・・・。
ありがとうございました。
スレ汚しすいませんでした。
749名称未設定:2011/12/28(水) 16:04:17.12 ID:hg0dxvONP
sendSynchronousRequestだから。
750名称未設定:2011/12/28(水) 16:07:48.79 ID:5LMhF9k+0
>>746
一応気になったから言うとクラス名は大文字から始める慣習
インスタンス変数connectionとデリゲートメソッドのconnection
どっちか変数名変えとかないとしょうもないバグがでてくるよ
751名称未設定:2011/12/28(水) 19:35:31.52 ID:BTmkQAmF0
すみません、質問です。
今冬から勉強を始めたばかりなのですが、
cocos2dを導入するにあたってどうしても解らないところがあり
今日一日PCに張り付いてググりまくったのですがどうにも解らないので
罵倒して下さっても構いませんのでどなたか助けて下さい。

公式サイトからcocos2d-iphone-1.0.1をDLし、
手順に従ってテンプレートをインストールし、
新規プロジェクトでcocos2dを選択するところまではおkだったのですが、
そのまま何もコードを弄らずにビルドしようとすると
CCTexture2D.m というところにエラーが6つほど出てハローワールドができません。

エラー内容は
Use of undeclared identifier 'FontManager'
Assigning to 'CGSize'(aka 'struct CGSize')from incompatible type 'id'
等なのですが、なぜ何も触っていないのにエラーが出るのでしょう。
それとも、自分が無意識のうちに変な編集を施してしまったのでしょうか。
どうしても解らず、ここで詰まってしまいました。
本当に軽い一言ヒントだけでも、
なんならググるべきワードだけでもいいので教えて頂けませんか…。
752名称未設定:2011/12/28(水) 20:43:27.78 ID:A1/iAyd50
xcode4.2でAutomatic Reference Counterを使っているのですが、
releaseが書かれている外部ライブラリを読み込むとエラーになってしまいます。
これの解決策はあるのでしょうか?
753名称未設定:2011/12/28(水) 20:46:02.01 ID:NxA8QNhd0
>>751
インストールし直す

>>752
ARCを使わない
754名称未設定:2011/12/28(水) 20:48:01.69 ID:JHXHKI3o0
>>752
ファイル単位で ARC をオンオフできるよ。やり方はぐぐって。
755名称未設定:2011/12/28(水) 21:24:35.53 ID:QNDTMtSd0
iosの場合、一つのdevアカウントでリリースできるアプリは一つと聞いたのですが、ほんまっすか?

ヘボ質問で申し訳ないです、ググってもよく分からなくて、、。
756名称未設定:2011/12/28(水) 21:45:48.90 ID:4TcAk5si0
そんなわけねーだろ
757名称未設定:2011/12/28(水) 21:51:02.10 ID:QNDTMtSd0
>>756
で、ですよね、、。へへ。

ありがとう!
758名称未設定:2011/12/29(木) 09:03:15.29 ID:P5zBH9LbO
>>751です。
>>753
助言ありがとうございました!!
しかし早速インストールし直してみたらエラーが40個に増えていました…。
ターミナルでインストールするとエラーが出るので、
テンプレートファイルを直接ライブラリにコピーしているのですが
(調べたらこの方法でもおkと書いてあったので)
自分のインストールの仕方がマズいのでしょうか
自分でももう一度調べてみます。ありがとうございました。
759名称未設定:2011/12/29(木) 09:54:48.82 ID:Frmt8o0X0
>>758
cocos2dにはインストーラーがあるだろ。
推奨方法を使わないくせに「何もしないのにエラーが出た」と騒ぐなんてあり得んわ。
760名称未設定:2011/12/29(木) 10:14:26.04 ID:P5zBH9LbO
>>751です。
>>759
助言ありがとうございます。
その通りですね。
「この方法でもできた」という
ネット上の情報を鵜呑みにしてしまったのがいけませんでした。
ターミナルのエラー解決に尽力します。ありがとうございました!
761名称未設定:2011/12/29(木) 10:51:47.35 ID:d7BRShCP0
公式以外の情報は全部疑ってかかれ。
それくらいネットには嘘と間違いが蔓延してる。
楽をしようとせず、ちゃんと自分で調べて考えろ。
762名称未設定:2011/12/29(木) 11:22:44.99 ID:OFlLDU/I0
iPhoneアプリ開発にちょっと興味がでてきて、
言語勉強&暇つぶし程度に触ってみようと思っているのですが、
初期セットアップって下記のような感じであってます?

・MAC本体(型落ち中古のノート型あたりを探してみる予定)
・ライセンス費用1年分(1万円程度)

iPhoneとwinパソコンは持ってます。
763名称未設定:2011/12/29(木) 11:28:27.06 ID:3eJFO5SU0
OSバージョンに気をつけて
764名称未設定:2011/12/29(木) 12:24:39.40 ID:Xtg2/0sE0
PowerPCじゃ動かないんで
765名称未設定:2011/12/29(木) 12:30:01.42 ID:OFlLDU/I0
>>763>>764
ども。
とりあえず中古マックの前に、
最新型がどんなのかヨドバシ行って見てきてみます。
766名称未設定:2011/12/29(木) 12:51:25.89 ID:6j/c/VYF0
>>762
何度目だよこういう質問
767名称未設定:2011/12/29(木) 13:18:04.78 ID:ryaeQzjU0
同じ人じゃないから
いいんじゃね
768名称未設定:2011/12/29(木) 14:21:08.04 ID:MWo75TmF0
MACとかマックとか書かれるとムカつく。
全角なら尚更。
769名称未設定:2011/12/29(木) 15:40:45.37 ID:HAIA1WrF0
目が合ったからっていちいち絡むとか80年代のヤンキーかよ
770名称未設定:2011/12/29(木) 15:46:28.79 ID:6j/c/VYF0
>>769
前提が全く違う
771名称未設定:2011/12/29(木) 16:04:29.18 ID:C3CMGiGg0
同じ質問が気に障るなら嘘でも教えといていつもと違う刺激を味わったらいいのに
基本善人なやつが気持ちの負担になるんだよなこういうのは
772名称未設定:2011/12/29(木) 16:59:10.59 ID:HAIA1WrF0
>>770
オマエじゃねえよハゲ
773名称未設定:2011/12/29(木) 18:06:46.33 ID:6j/c/VYF0
>>772
勘違いしてるのはお前。
いちいち絡む80年代のヤンキーもお前。
774名称未設定:2011/12/29(木) 18:21:05.10 ID:P7qWM9sY0
そんなことで腹立てていたら、storeのレビューに耐えられないぞ。
775名称未設定:2011/12/29(木) 18:22:28.68 ID:HAIA1WrF0
>>773
じゃあナニが勘違いなのか教えてくれよ。
前提ってなんだよ。
776名称未設定:2011/12/29(木) 18:31:05.09 ID:6j/c/VYF0
>>775
少しは自分で考えろよ…。
777名称未設定:2011/12/29(木) 18:38:50.18 ID:HAIA1WrF0
まあいいや。

俺の発言の趣旨は、
>>768みたいに、気に入らない表記が目に入るたびに
いちいち絡んでたらキリないだろって事。
778名称未設定:2011/12/29(木) 18:42:05.67 ID:OFlLDU/I0
ということで明日あたりMAC買ってきますね(^ω^)ニコ
779名称未設定:2011/12/29(木) 18:59:40.67 ID:6j/c/VYF0
>>777
だから絡んでるのはお前だろ。
もういいから黙っとけ。
780名称未設定:2011/12/29(木) 20:17:03.54 ID:KEn0j9bM0
アプリ内で資格指導系動画を販売するものを作りたいと考えています。
一応調べてみたのですが、こうしたアプリの作り方のサイトもしくは書籍は見つかりませんでした。
ヒントやググるキーワードだけでも教えて頂けないでしょうか?
よろしくお願いします。
781名称未設定:2011/12/29(木) 20:47:17.85 ID:8PQPLOxA0
アプリ内課金の話ならドキュメントのIn-App purchase programming guideに載ってる
782名称未設定:2011/12/29(木) 21:16:49.06 ID:ta7SQpOK0
だれかテザリングの設定いじれますか?
783名称未設定:2011/12/29(木) 21:36:19.85 ID:ryaeQzjU0
いじれますん
784名称未設定:2011/12/29(木) 21:45:43.16 ID:P7qWM9sY0
>>780
適当な動画を再生するアプリの作り方なら、どこかにあるんじゃね?
あとはアプリ内課金の機能と組み合わせればいい。
785名称未設定:2011/12/29(木) 22:04:30.75 ID:Xtg2/0sE0
一応初心者スレだけどさ、
ガチのプログラミング初心者が来ていいようなスレではないよ。
786名称未設定:2011/12/29(木) 23:49:26.13 ID:eiZso0yA0
糞みたいな初心者向けアプリ開発指南の記事が乱発されてるせいで
下らない質問が増えてるよな最近。
787名称未設定:2011/12/29(木) 23:54:26.75 ID:3eJFO5SU0
アプリ開発にはturbo CとC#のどちらがいいですか?
788名称未設定:2011/12/30(金) 00:22:32.18 ID:VMwbzxVE0
>>786
アフィバンのことだなw
789名称未設定:2011/12/30(金) 02:36:44.36 ID:Vn52FGJo0
ARC便利なんだが
使いたいOpenなコードって
結構未対応なのが多いよね
皆さんどうしてんの?
790名称未設定:2011/12/30(金) 04:00:48.14 ID:tq9AW4e/0
昨日ぽっと出てきたような仕組みに飛びつく程馬鹿じゃない。
791名称未設定:2011/12/30(金) 04:37:21.10 ID:uKlNGPFF0
ファイル単位でARC有効にしたら?
792名称未設定:2011/12/30(金) 07:57:53.40 ID:KSmTOxRvP
>>780
ストリーミングなら楽勝なんだけど(HTTP live streamingが復号サポートしてる)、
内蔵ムービーの暗号化はとてもむずいよ。ムービー再生全部自前実装か、
サーバー内蔵させてローカルからストリーミング。
793名称未設定:2011/12/30(金) 08:40:54.46 ID:wtmMSljV0
>>789
メモリ管理に関するコード消すだけじゃん
そのくらいやれよ警告出てんだから猿でも出来るだろ
794名称未設定:2011/12/30(金) 08:46:02.73 ID:rGz7pbeW0
お笑いと同じで
いまはオリラジみたいな高学歴の者も
どこかしらの養成所に行かないとダメ
あとは有吉みたいな天下り糞野郎しか
いない
795名称未設定:2011/12/30(金) 10:22:57.42 ID:gjQb1wPA0
これで独立できる

売るものはスマートフォンアプリ WEBサイト運営
サーバーはクラウド VPS
電話はスマートフォンSkype
オフィスは地方にプレハブ型の格安高性能オフィスを建て(300万〜500万)
レンタル自習室&シェアオフィスで収入を得ながらそこで開発する
http://tinyurl. com/43xmk7m
http://tinyurl. com/3mopkfy
796名称未設定:2011/12/30(金) 15:11:38.59 ID:LnyA+oCS0
質問です。

UIViewのタップしたところの色を取得したいのですが
どのようにして取得できるでしょうか?

描画する時は
CGContextRef context = UIGraphicsGetCurrentContext();
でコンテキストに描画することはわかったのですが
これを使って指定した場所の情報等が取得できたりできればと思ったのですが
よくわかりませんでした。

よろしくお願い致します。
797名称未設定:2011/12/30(金) 15:20:00.95 ID:HW7tHhtd0
>>796
何のためにそんなことをしたいの?
スクリーンショットを撮りたいとかじゃないなら、基本的によくないやり方だよ。
798名称未設定:2011/12/30(金) 15:45:39.88 ID:zIx7dsxN0
できたりできれば
799名称未設定:2011/12/30(金) 17:37:36.17 ID:UzKsTZnD0
iPhone4Sに機種変更して、下記の操作でiphoneを登録したのですが
Xcode4.2で認識しません。他に何をする必要があるのでしょうか?

<登録操作>
→[iOS Provisioning Portal]→[Deveices]→[Add Devices]
→[Device Name]と[Device ID]を入力→[+]→[Submit]
800名称未設定:2011/12/30(金) 17:52:19.87 ID:yvmccs+00
>>799
Use for Delvelopment
801名称未設定:2011/12/30(金) 22:00:16.36 ID:VNgUKizZ0
>>796
自分で描画してるなら、どの領域がどの色で塗られてるかくらいは分かるだろう。
後はgesturerecognizerなりを使って座標と照らし合わせれば良い。
写真とかなら自分で画像を解析しろ。
802名称未設定:2011/12/30(金) 22:12:26.97 ID:LnyA+oCS0
>797,798,801
地図画像で、あるマークを判別するのに使いたかったものです。
自分で解析という方向になりそうですね。

ありがとうございます。
803名称未設定:2011/12/31(土) 08:57:13.23 ID:xQx4YcwOi
MKMapView の表示内容を解析とか? あんまり筋のいい方法とは思えないけど、やり方はここに書いてある。
http://developer.apple.com/library/ios/qa/qa1703/
804名称未設定:2011/12/31(土) 10:26:13.24 ID:bG3YTurM0
アプリの初回起動(ダウンロードして1回目の起動)
かどうかを見分ける場合はどのような
判定を入れればいいのでしょうか?
805名称未設定:2011/12/31(土) 10:29:00.07 ID:SNbMDFrh0
初回起動時にNSUserDefaults に何かフラグを書き込んでおけば、2回目以降はフラグの有無で判定できる。
806名称未設定:2011/12/31(土) 10:58:03.10 ID:OuAepHpe0
フラグも自分で考えられないような奴がアプリなんか作れるのか・・・
807名称未設定:2011/12/31(土) 12:01:04.58 ID:bG3YTurM0
805,806>>
やはりフラグしかないですか。。
フラグは候補として考えてはいましたが、
設定するメソッドが難しく。
初回起動時しか動作しない
メソッドなんかないですよね・・・。
初回起動時のtableviewで判定したいので
フラグをたてるとしてもtableview以降に
設定しないといけなく、なかなか難しく・・・。

よい案ないでしょうか。。

808名称未設定:2011/12/31(土) 12:05:57.87 ID:DooPWIXy0
まあ先は長そうだけど空っぽのほうが夢詰め込めるのは早いからね
809名称未設定:2011/12/31(土) 12:13:05.90 ID:SNbMDFrh0
>>807
if( ![[NSUserDefaults standardUserDefaults] boolForKey:@"flag"] )
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"flag"];
//初回起動メッソッドをここに書く


}
810名称未設定:2011/12/31(土) 12:14:06.22 ID:SNbMDFrh0
>>809
>メッソッド
→コードだったorz
811名称未設定:2011/12/31(土) 12:18:32.82 ID:EhQOlkH20
>>807
この程度で難しいとか言うレベルなら辞めた方がいい。
スキルが無いという話ではなく、お前にはプログラミングの適正が無い。
812名称未設定:2011/12/31(土) 12:30:43.59 ID:bG3YTurM0
>>809
あ、なるほどー。
ありがとうございます。理解しました。
813名称未設定:2011/12/31(土) 12:43:13.75 ID:bG3YTurM0
>>809
あれ・・・。
cellForRowAtIndexPathとdidSelectRowAtIndexPathでそれぞれで
初回かどうか判定したいんですが、
cellForRowAtIndexPathでフラグ立てると
didSelectRowAtIndexPathで判定できないし、
didSelectRowAtIndexPathでフラグを立てるとしても
セル選択(didSelectRowAtIndexPathがコール)されるか
どうかはユーザ次第となると
やはりフラグを立てる位置が難しく。。
814名称未設定:2011/12/31(土) 13:02:07.99 ID:iiZJtoazP
ここ初心者スレ。
815名称未設定:2011/12/31(土) 13:04:07.86 ID:SNbMDFrh0
>>813
初回起動状態をどこまで適用するか…(テーブルを一度表示させた後でフラグを立てるのか、
ホームボタンを押したらフラグを立てるのかetc)…はお前しか知らないんだから、お前が好きなときに
フラグを立てればいいだろ。
816名称未設定:2011/12/31(土) 14:10:45.67 ID:OuAepHpe0
>>813
馬鹿すぎて頭痛くなるな・・・
817名称未設定:2011/12/31(土) 14:15:29.41 ID:bG3YTurM0
>>815
初心者ですみません。。。
テーブルを一度表示させた後でフラグを立てるです。
テーブル表示完了時に呼ばれるメソッドってないですよね。
リストのカウンタを持って判定するしかないのでしょうか。。。
818名称未設定:2011/12/31(土) 14:21:26.09 ID:DooPWIXy0
>>813
お前ロジックまで面倒みられたら
ソースのcopyrightに2chて書かなきゃいけなくなるぞ
もうちょっと自分で考えろ
819名称未設定:2011/12/31(土) 14:22:51.10 ID:oXEeOEFv0
>>817
マジレスすると、プログラミングを書く前にどのタイミングまで表示させるのか真剣に考えるべき。
あと、テーブルの項目を増減させるには reloadData を呼ぶ必要がある。
それを呼ばずに勝手に表示内容を変えるとイベント処理やスクロールの時に混乱するよ。
820名称未設定:2011/12/31(土) 14:49:06.12 ID:89c7DOk90
自分は4です。
今まで、脱獄していて、ios5に上げようとしてもできません。
エラーの対処方はいろいろググりましたが、結果できませんでした。
いつも、復元のところで不明なエラーです。
どうしても直したいです。
ちなみにit safe modeになっていて、cydiaのアプリも消えて、
cydiaをダウンロードしなおそうとしても、ダウンロードできません。
ちなみに、他人のパソコンでやらせてもらってもできませんでした。
こんな情弱が脱獄して自業自得で、こうやって皆さんに迷惑をかけているのもわかっています。
なのでこれできっぱり脱獄はやめようとおもっています。
最後に皆さんの強い力を貸して、教えてください。
お願いします。
821名称未設定:2011/12/31(土) 15:03:14.60 ID:hrF8t6H70
無理
822名称未設定:2011/12/31(土) 16:16:41.41 ID:1NK/lwAt0
新しいiPhone買ってくれば良いよ
823名称未設定:2011/12/31(土) 16:23:24.29 ID:OuAepHpe0
>>817
おまえcellForRowAtIndexPathとdidSelectRowAtIndexPathがどんなメソッドなのかもうちょい知るとなんて馬鹿なことしてたんだってわかるよ
テーブルが表示されたときにフラグ立てる方法なんて他にいくらでもあるだろ
テーブルじゃなくテーブルを表示させるトリガーにフラグ立てさせろよ
824名称未設定:2011/12/31(土) 16:24:22.09 ID:RyQ1mN7V0
あー。糞開発者がどんどん増えてアプリ審査チームの手間が増えて
レビューが遅くなっていくのを実感するなあ・・・。
825名称未設定:2011/12/31(土) 16:26:20.11 ID:KfNn4Prj0
一ドルが
360円に
なれば家が建つ
みなさま よいおとしを
来年もよろしくお願いします
826名称未設定:2011/12/31(土) 17:01:35.51 ID:bG3YTurM0
>>819,823
ありがとうございます。。もうちょっと考えます。。
827名称未設定:2011/12/31(土) 17:05:32.32 ID:EhQOlkH20
>>824
どうせ完成しないだろうから無問題じゃね?
828名称未設定:2011/12/31(土) 17:28:00.08 ID:zrgqyd9b0
>>824
君も別の誰かにそう見られてる。
829ビートたけし:2011/12/31(土) 17:35:02.63 ID:hvFOec2M0
>>824
あなたのアプリ見せてください
830名称未設定:2011/12/31(土) 17:39:45.10 ID:9mHpVpHQ0
有料アプリに広告出すのっていいんですか。
たまに見たりします。たいあたりのゲームとかで。
831名称未設定:2011/12/31(土) 17:40:54.73 ID:RyQ1mN7V0
私はあいぽんアプリで月100〜150万を安定して稼いでるので
国内では上位1割ぐらいには入る優良開発者だと自負してますよ。
カテゴリの新着とか見てると初心者がなんとなく作ってみましたー的なアプリがモリモリあって嫌になってくるよ。。
まあただの愚痴だからスルーしてよ。
832名称未設定:2011/12/31(土) 17:47:15.33 ID:RyQ1mN7V0
>>830
問題ないよ。
ただしレビューでボロクソに言われるよ。
特に日本のストアでは覚悟しといたほうがいい。
833名称未設定:2011/12/31(土) 17:50:36.75 ID:f2AaiYx80
>>831
嫌なら作りなはんな。
834名称未設定:2011/12/31(土) 17:53:12.93 ID:RyQ1mN7V0
>>833
何でそうなるのかな。意味が分からない。
月100万のお小遣い稼ぎをやめられるわけないじゃんw
835名称未設定:2011/12/31(土) 17:59:03.07 ID:EhQOlkH20
>>833
お前頭悪いだろ
836名称未設定:2011/12/31(土) 18:00:32.70 ID:+Ge1L76n0
こんなところで構って貰わないと他に相手もいないのか年末なのに寒すぎるだろww
837名称未設定:2011/12/31(土) 18:02:41.33 ID:f2AaiYx80
>>834
アプリ名は?
838名称未設定:2011/12/31(土) 18:08:24.00 ID:RyQ1mN7V0
>>837
こんなところで晒せるわけがないことを分かった上で聞いているよね。
言えないと言ったら嘘認定するんでそ。
839名称未設定:2011/12/31(土) 18:09:53.67 ID:oR/Ea1hy0
iPhoneアプリ開発デビューしようと考えてるものです。
ノート、Mac Proの13インチ、15インチかディスプレイ一体型の21インチのどれかを買おうかなと迷っています。
どれがお勧めですか?
ちなみにwin95から使っていますがMacは初めてです。(Linuxも使えますが)
840名称未設定:2011/12/31(土) 18:11:47.55 ID:RyQ1mN7V0
>>839
どれでもいいよ。
MBA11インチは画面が小さくてチトきついけど
それ以外なら本当にどれでもいい。

なのでmac板の購入相談スレへ行きましょう。
841名称未設定:2011/12/31(土) 18:17:08.91 ID:f2AaiYx80
>>838
優良アプリなら晒しても誰も叩かないと思うが。晒せないのは所詮そのレベルのアプリなんでしょ。
842名称未設定:2011/12/31(土) 18:22:27.25 ID:RyQ1mN7V0
>>841
叩かれるのが嫌で晒さないわけじゃないですよ。
>>824みたいな発言をしちゃったのに、自分が作ってるアプリなんて言えないでしょう。普通に考えて。
843名称未設定:2011/12/31(土) 18:30:55.84 ID:DooPWIXy0
>>831
あいぽんアプリで月100〜150万を安定して稼いでるけどなにか質問ある?
スレを立ててきてくれ。
844名称未設定:2011/12/31(土) 18:33:41.56 ID:RyQ1mN7V0
やだよ。
まとめブログに掲載されてますます>>824になるじゃん。
845名称未設定:2011/12/31(土) 18:36:18.06 ID:f2AaiYx80
>>841
おぉ。もうわかったから初心者スレで初心者いじめるな
846名称未設定:2011/12/31(土) 18:48:37.56 ID:DooPWIXy0
>>844
>>824みたいな発言しといてそれはないわ…
おくちチャックできない子ならせめて釣りだして宣言でもして去っとけ
847名称未設定:2011/12/31(土) 18:54:15.45 ID:RyQ1mN7V0
>>824みたいな発言しといてそれはないわ…
んー。この部分がよく理解できないなあ……。
なぜ>>824のような発言をしたらVIPにスレを立てるのを断るべきでないのか?
848名称未設定:2011/12/31(土) 18:57:29.10 ID:DooPWIXy0
>>847
>>824じゃなかった>>831だったわスマソ
849名称未設定:2011/12/31(土) 19:00:42.38 ID:RyQ1mN7V0
なるほどね。
確かにでしゃばり過ぎましたわ。スマソ
850名称未設定:2011/12/31(土) 21:04:16.21 ID:EhQOlkH20
このスレに賢い奴は一人もいない。
851名称未設定:2011/12/31(土) 23:13:28.23 ID:dx/bq+ST0
アップルの公式日本語ドキュメントに目を通せばサンプルコード付きで説明してあることを質問してる人多いなぁ。初回起動のチェックをしたいなら、その為に記述するべき場所もガイドラインに記載されてるし、自動生成されるソースにもコメントされてるよ。
852ビートたけし:2012/01/01(日) 00:05:32.19 ID:r1Kzkcrm0
>>851
MSDN並に読みづらいよ

今年もよろしくです
853名称未設定:2012/01/01(日) 00:10:50.13 ID:rMaoIRZK0
頻繁にURL変えやがって
854名称未設定:2012/01/01(日) 00:47:14.32 ID:ePtT62Iv0
>>830
そんなにボロカスに叩かれてないんだけど。
855名称未設定:2012/01/01(日) 01:14:39.33 ID:l6ZNmquP0
じゃあ勝手に出せばいいんじゃない。
856名称未設定:2012/01/01(日) 01:18:34.15 ID:9lw+GNAJ0
>>852
いやそこまでではない
857名称未設定:2012/01/01(日) 12:09:08.62 ID:8869uEGK0
WebViewを含むTableViewの高さを変更する方法が分かりません
(BB2Cのレス表示画面のようなTableViewのイメージです)

TableViewCellの中にWebViewを入れてloadHTMLStringで値を設定すると、
heightForRowAtIndexPathのタイミングではまだWebViewが描画されていないため
contentSizeの値が取得できずTableViewの高さを算出できません

LabelやTextViewならsizeWithFontで算出できるのですが、
WebViewだと行間やマージンをスタイルシートなどで
LabelやTextViewと同じ値に設定しないと誤差が出ます
でもLabelやTextViewの行間やマージンの値が分かりません

TableViewCellにWebViewを入れたとき、どのように行の高さを設定するのが
一般的なのでしょうか?
858名称未設定:2012/01/01(日) 12:45:29.10 ID:foBJKdXC0
今年の営業は1月4日からです。

〜iPhoneアプリ開発初心者質問箱〜
859名称未設定:2012/01/01(日) 12:56:47.39 ID:rMaoIRZK0
そんなアホな設計にまずしない
860名称未設定:2012/01/01(日) 12:59:46.99 ID:xv1Wa0N20
>>857
>TableViewCellにWebViewを入れたとき、

そもそもこれが一般的ではないと思う。

あとドキュメントにはこう書いてあった
Important: You should not embed UIWebView or UITableView objects in UIScrollView objects.
If you do so, unexpected behavior can result because touch events for the two objects can
be mixed up and wrongly handled.

重要:UIWebViewやUITableViewをUIScrollViewに入れるべきではない。もしも入れた場合、
タッチイベントが混乱して予期しない動作をすることがある。
861名称未設定:2012/01/01(日) 13:25:50.15 ID:8869uEGK0
>>860
ありがとうございます
質問を変更させてください

TableViewCellの中でリッチテキストを表示したいとき、
どのように実装するのが一般的でしょうか?
862名称未設定:2012/01/01(日) 14:19:24.83 ID:xv1Wa0N20
>>861
iOSにはリッチテキストは存在しない。
Core Text等を使って描画クラスを自作するか、他人の書いたクラスを流用するか。
863名称未設定:2012/01/01(日) 14:42:33.36 ID:47PpMiKh0
あけましておめでとうございます。
正月早々、教えて下さい。

描画処理で時間が掛かる処理があるので、 drawRect を2回実行したいと思います。
1回目は軽いだいたいの形を描画して、2回目に詳細を描画しようと考えました。

で、以下のようなソースを描いてみたのですが、2回目が呼ばれるときと呼ばれないときがあります。
こういった場合の定石のようなロジックがあるのでしょうか。
それとも何か間違ってるのでしょうか。

- (void)drawRect:(CGRect)rect {

[super drawRect: rect];

static NSInteger drawStatus = 0;
if (drawStatus == 0) {
[self 軽いだいたいの形を描画];
drawStatus = 1;
[self setNeedsDisplayInRect: rect];
}

if (drawStatus >= 1) {
[self 詳細を描画];
drawStatus = 0;
}
}
864863:2012/01/01(日) 14:45:07.21 ID:47PpMiKh0
すんません、上のソース間違えました。
インデント、消えちゃうんですね。

- (void)drawRect:(CGRect)rect {

  [super drawRect: rect];

  static NSInteger drawStatus = 0;
  if (drawStatus == 0) {
    [self 軽いだいたいの形を描画];
    drawStatus = 1;
    [self setNeedsDisplayInRect: rect];
    return;
  }

  if (drawStatus == 1) {
    [self 詳細を描画];
    drawStatus = 0;
  }
}
865名称未設定:2012/01/01(日) 14:51:41.97 ID:8869uEGK0
>>862
ありがとうございます

2chの専ブラを作成しようと思っているので、
WebViewならタグをそのまま表示できて便利かと考えていました

今のところCore Textは敷居が高いので、
このままWebViewを使って実装しようと思います
866名称未設定:2012/01/01(日) 15:13:14.71 ID:T9zDc8590
tableviewにcell.imageViewで画像設定したのち、セル更新で
別画像表示すると前の画像がバックに残ってしまって
重なっているように見えてしまいます。
初期化でnill設定してもバックの画像が消えないのですが
一度表示した画像をtable更新で別画像にする場合は
どのような手順を踏めばいいのでしょうか?
867名称未設定:2012/01/01(日) 15:33:11.90 ID:xv1Wa0N20
>>863
[self setNeedsDisplayInRect: rect];のかわりに
[self performSelector:@selector(setNeedsDisplay) withObject:nil afterDelay:0];
とするとか。
868863:2012/01/01(日) 15:39:43.84 ID:47PpMiKh0
>>867

ありがとう御座います。
自分でも、上の投稿をした後に、

NSValue *valueRect = [NSValue valueWithCGRect: rect];
[self performSelector: @selector(drawRectAfter:) withObject: valueRect afterDelay: 0.0f];

- (void)drawRectAfter: (NSValue *)valueRect {

CGRect rect = [valueRect CGRectValue];
[self setNeedsDisplayInRect: rect];
}

とかやってみたのですが、結果は同じでした。
setNeedsDisplay だと全体を更新してしまうので、ちょっとマズいんですよ・・・。
869名称未設定:2012/01/01(日) 17:05:34.10 ID:BTouarWDi
static 変数を使うとか、if の中で return するとか、いろいろ嫌なソースだな。
870名称未設定:2012/01/01(日) 18:10:51.14 ID:YMXQkbEk0
質問です。

最近Objective-Cを始めたのですが、NSColorクラスを使おうと

#import <Cocoa/Cocoa.h>

とインポートしてみたのですが、そんなのありませんと怒られます。
error: Cocoa/Cocoa.h: No such file or directory
このようなエラーが出てしまうのですが、インポートをする時に何か必要な作業とかあるのでしょうか?
ある程度書籍やネット上をみてみた所ではそのまま書き換えるだけで大丈夫とあったのですが、わからなくなってしまいました。
宜しければご教授お願いします。
871名称未設定:2012/01/01(日) 18:37:08.47 ID:xv1Wa0N20
NSColorはOSX用。
iOSではNSColorの代わりにUIColorを使う。
872名称未設定:2012/01/01(日) 19:08:52.03 ID:YMXQkbEk0
>>871
そうでしたか・・
だと、Cocoaフレームワーク自体がOSXのものという事でしょうか。
本当にありがとうございました。
873名称未設定:2012/01/01(日) 20:42:29.84 ID:ftT906VL0
CAlayerのアニメーションについて、教えて下さい。
現在、CALayerのサブクラスを作りdrawLayer:inContextをオーバーライドして描画を行なっているのですが、
描画内容が画面に反映されるときにアニメーションされてしまいます。
例えば何も描かれていないところに、四角を描いたとすると、描いた四角がじわっと表示されてきます。
このデフォルトのアニメーションを止めることは出来ますでしょうか?
CALayer::removeAllAnimationsは試してみましたが効果ありませんでした。
CALayer::animationKeysにもそれらしいキーは登録されていません。
レイヤの代わりにビューを使うのは最終手段にしようと思っています。
また、ディレイドレンダリングを使用しない方法は採らないつもりです。
ご存じの方いらっしゃいましたらよろしくおねがいします。
874名称未設定:2012/01/01(日) 22:47:46.82 ID:T9zDc8590
>>866
誰か助言いただけないでしょうか
875名称未設定:2012/01/01(日) 23:33:48.33 ID:ftT906VL0
>873
自己レスです。
1点訂正。drawLayer:inContextはデリゲートで、継承したのだからdrawInContextを使うのが適切でした。
(結果的には同じだと思いますが)

問題のアニメーションについては、とりあえずCAMediaTimingプロトコルのspeedプロパティを
大きくしてごまかすことにしました。
876名称未設定:2012/01/02(月) 00:09:44.36 ID:SEq7q4xji
>>874
正直何を言ってるのか分からないけど、cellが再利用されてるってのは理解してる?
877名称未設定:2012/01/02(月) 00:51:39.52 ID:dl1cKIZx0
>>876
詳しくは知りません。。
cellの再利用をふせぐには、どうすればいいのでしょうか。

tableviewがコールされるたびに毎回cellをallocするのは
非効率ですし。。
878名称未設定:2012/01/02(月) 00:59:14.53 ID:9pMo76vx0
>>877
非効率だからcellの再利用をする機構がついてるわけで…
どっかで正しいtableviewの使い方見ろ
879名称未設定:2012/01/02(月) 09:41:15.97 ID:bz7o52sH0
cell再利用は必須と考えるべき
880名称未設定:2012/01/02(月) 10:11:06.59 ID:IFL4ndUv0
ほんと初心者スレはカオスだな〜
こんな読んでもマイナスにしかならないスレにいる非初心者の気が知れないよ
881名称未設定:2012/01/02(月) 11:49:31.14 ID:bymIr5Xl0
こうして糞アプリが量産されていくわけですね。わかります。
882名称未設定:2012/01/02(月) 13:11:05.63 ID:TTkyW1UE0
>>880
お前は何なの?
883名称未設定:2012/01/02(月) 13:58:00.16 ID:NPLnf3kH0
coreDataを使ってるのですが、以前のxcodeだと「設計」→「データモデル」→「現在のバージョンを設定」
としてDBファイルを切り替えられたのですが、xcode4.2だとメニューに「Add Model Version」しか見当たらないのですが、
どこから設定できるでしょうか。
884名称未設定:2012/01/02(月) 14:05:54.27 ID:AUYfXVxo0
interface builderでNavigationControllerを作成して表示する方法を教えてください
以下の手順で作成してみましたが、ツールバーが表示されません

(1)Empty Applicationを作成

(2)UIViewControllerクラスを作成
Viewにはラベルのみ配置
クラス名はMyViewController

(3)User InterfaceのEmptyでxibファイルを作成
UINavigationControllerを配置
Shows Toolbarをオンに変更
ファイル名はMyNavigationController.xib

(4)AppDelegate.mの以下を修正
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
  
  UINavigationController *myNavigationController = [[[UINavigationController alloc] initWithNibName:@"MyNavigationController" bundle:nil] autorelease]; //ここ?
  MyViewController *myViewController = [[[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil] autorelease];
  [myNavigationController pushViewController:myViewController animated:YES];
  self.window.rootViewController = myNavigationController;
  
  [self.window makeKeyAndVisible];
  return YES;
}

ラベルやナビゲーションバーは表示されます
多分(3)とソースのコメントの部分が根本的に間違っているとは思うのですが……
よろしくお願いします
885名称未設定:2012/01/02(月) 14:19:18.13 ID:d0ApVnWA0
>>884
コメントしずらいほどxibの使い方を根本的に間違ってる。
MyNavigationController.xib のFile's ownerは何のクラスになってる?

  UINavigationController *myNavigationController = [[[UINavigationController alloc] initWithNibName:@"MyNavigationController" bundle:nil] autorelease]; //ここ?


でやっていることは、UINavigationControllerをxibから再現する、という意味。
MyNavigationController.xibには(3)によってUINavigationController(3-a)が追加されているけど
UINavigationControllerクラスにはUINavigationControlle(3-a)へのアウトレットは当然存在しないから
UINavigationControlle(3-a)はどこにもつながってなくて宙ぶらりんになっている。

要はmyNavigationControllerは(3)でShows Toolbarをオンに変更したUINavigationController(3-a)
とは別物。
886名称未設定:2012/01/02(月) 15:38:27.00 ID:f/Ug2Rq40
>>885
元とは別人なんですが
俺も似た現象で疑問があったん
も少し詳しくお願いします
俺は結局NSBundleでnib読み込んで
NSArrayの先頭を使ったんだけど
なんだか腑に落ちてない感じ
887名称未設定:2012/01/02(月) 15:47:40.49 ID:AUYfXVxo0
>>885
ありがとうございます
無事に表示できました

>>MyNavigationController.xib のFile's ownerは何のクラスになってる?
NSObjectになっていました
以下のように修正し、ツールバーが表示されるようになりました

(1)File's ownerをNSObjectからAppDelegateに変更

(2)AppDelegateにMyNavigationControllerのOutletを作成
名前はmyNavigationController

(3)AppDelegate.mの以下を修正
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
  
  MyViewController *myViewController = [[[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil] autorelease];
  // (a)MyVavigationControllerを生成?
  [[NSBundle mainBundle] loadNibNamed:@"MyNavigationController" owner:self options:nil];
  // (b)MyVavigationControllerを初期化?
  self.myNavigationController = [self.myNavigationController initWithRootViewController:myViewController];
  self.window.rootViewController = self.myNavigationController;

  [self.window makeKeyAndVisible];
  return YES;
}

多くのサイトのサンプルソースはinterface builderを使用しないで
コードからNavigationControllerを生成していますが、
NavigationControllerをinterface builderで作成することは一般的ではないのでしょうか?
888名称未設定:2012/01/02(月) 15:51:27.75 ID:bz7o52sH0
NaviControllerはUI上では滅多に作らんなぁ
nibでやるのはViewControllerのUI設計だけ。
889名称未設定:2012/01/02(月) 15:59:38.39 ID:d0ApVnWA0
>>886
xib (nib)は、プログラム的にオブジェクトを作成してつなげる代わりに、GUIで出来るようにしたもの

Step1 独自クラス(MyObject)のファイル(.h/.m)を作成する
Step2 xibのFile's OwnerをMyObjectに設定する
Step3 MyObjectにつなげたい「UI部品」をxibファイルに追加する
Step4 アウトレットやアクションをつなげる

これによって、MyObjectからnibを読み込むと、オブジェクトが自動的に復元されて、
アウトレットが自動的につながる。


>>887
>NavigationControllerをinterface builderで作成することは一般的ではないのでしょうか?
プログラム的に作った方が簡単だから。
その例だと、
  self.myNavigationController = [self.myNavigationController initWithRootViewController:myViewController];
  self.window.rootViewController = self.myNavigationController;


UINavigationController* navigationController =
  [[[UINavigationController alloc] initWithRootViewController: myViewController] autorelease];
navigationController. toolbarHidden = NO;
self.window.rootViewController = navigationController;

にすれば余計なxibファイルとアウトレットが要らなくなる。特にUINavigationControllerは、
それ単体ではInterfeca BuilderでUIを追加する必要がほとんどないので、IBを使う必要性がない。
890名称未設定:2012/01/02(月) 16:02:16.17 ID:8A+feXxm0
@interface tableViewController : UITableViewController
{
NSArray *a;
}
@property(nonatomic,retain)NSArray *a;
@end

@synthesize a;
- (void)viewDidLoad
{
[super viewDidLoad];
a=[[NSArray alloc]initWithObjects:@"aaa",@"aaa",@"aaa",@"aaa", nil];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text=[a objectAtIndex:indexPath.row];
return cell;
}
え〜とエンプティでゼロから書いて最初の描画は大丈夫なんですけどスクロールとかしてセルの再描画するとフリーズします
この中に変なところはありますか?
891名称未設定:2012/01/02(月) 16:17:20.53 ID:bz7o52sH0
objectAtIndex:の引数は本当に存在するインデックスかどうか
892名称未設定:2012/01/02(月) 16:20:13.86 ID:6xOBpN150
>>890
突っ込みどころはいくつかあるけど、フリーズするような問題は見当たらない。
numberOfSectionsInTableView: と tableView:numberOfRowsInSection: はどうなってる?

>@interface tableViewController : UITableViewController
クラス名の先頭は大文字にすべき。

>NSArray *a;
>@property(nonatomic,retain)NSArray *a;
インスタンス変数やプロパティの名前に a って…。
あと、外からアクセスする必要がなければプロパティにする必要はない。

>a=[[NSArray alloc]initWithObjects:@"aaa",@"aaa",@"aaa",@"aaa", nil];
a の中身は @"aaa", @"bbb", @"ccc", @"ddd" とかにした方がデバッグ時に分かりやすい。

>cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
ARC 有効ならいいけど、そうでなければ autorelease すべき。
893名称未設定:2012/01/02(月) 16:23:36.66 ID:AUYfXVxo0
>>889
まだまだ勉強中でよく理解していないのですが、
これからはModel View Controllerの概念で取り組んだほうがいいと聞いたので
Interface Builderでの作成方法を知りたかったのです

ちなみにNavigation ControllerはToolbarを追加して使用することもあると思うのですが、
その場合でもInterface Builderを利用せずコードでToolbarにボタン等を追加していくのでしょうか?
それともNavigation controllerのToolbarは使用せず、Viewに直接配置?
この辺りはまだ勉強していないので、また疑問があれば質問させてください

いろいろとありがとうございました
本当に助かりました
894名称未設定:2012/01/02(月) 16:26:32.63 ID:bz7o52sH0
ViewControllerだけxib使って作れば良い。

NaviControllerはUI的に触る必要があるのはNaviItemくらいでxibで設計する意味がほとんどない。
895名称未設定:2012/01/02(月) 16:30:20.45 ID:8A+feXxm0
>>892
>umberOfSectionsInTableView: と tableView:numberOfRowsInSection: はどうなってる?
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{return 1;}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{return [a count];}
こんなです。
>>cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
>ARC 有効ならいいけど、そうでなければ autorelease すべき。
ここら辺は初心者でよくわからないですね、、autoreleaseはまだ使いどころあるんですかね?

>>891
やっぱ配列の作り方ですか
896名称未設定:2012/01/02(月) 17:05:15.15 ID:cXhQLjp50
で、titaniumってどうなの?さわったことある人いる?
897名称未設定:2012/01/02(月) 17:15:13.80 ID:sZ2PiUl10
みんな健康でいいね。
898名称未設定:2012/01/02(月) 17:22:35.94 ID:E5yJJ6pc0
>>896
ネイティブで作った方が早い(速い)。
Androidと同時開発なら使うかも。
それも簡単なアプリ限定。
899名称未設定:2012/01/02(月) 17:31:45.08 ID:bz7o52sH0
titanium程度でやってられるなら苦労しないわな
900863:2012/01/02(月) 17:32:11.20 ID:cMYwxxuR0
あれから少しいじってみました。
バックグラウンドで描画処理させてあげることで、全てのタイルに描画することが出来ました。
が、このViewをスクロールさせると(UIScrollView の上に乗ってます)、スクロールが終わった頃に
やっと drawRect が呼ばれるようで、なかなか描画処理が終わったらすぐに表示ってわけには行かなそうです。
そもそも drawRect 自体が、OSが適当な時期に呼び出すことになってるってことで、
こんなタイミングなんだと思うのですが、もうちょっとレスポンスよく表示したいです。
drawRect 以外で、任意のタイミングで表示出来るような方法は無いでしょうか?

- (void)drawRect:(CGRect)rect {

[super drawRect: rect];
NSMutableDictionary *dictionary = [self dictionaryWithRect: rect];
NSInteger drawStatus = [dictionary objectForKey: @"status"];

if (drawStatus == 0) {
[dictionary setObject: [NSNumber numberWithInt: 1] forKey: @"status"];
[self performSelectorInBackground: @selector(drawRectBack:) withObject: dictionary];
}

UIImage *image = [dictionary objectForKey: @"image"];
if (image != nil) {
CGPoint point = CGPointMake( CGRectGetMinX(rect), CGRectGetMinY(rect));
[image drawAtPoint: point];
}
  
if (drawStatus == 2) {
[dictionary removeObjectForKey: @"image"];
}
}
901863:2012/01/02(月) 17:32:44.37 ID:cMYwxxuR0
行数が多いと怒られたので続きです。

- (void) drawRectBack: (NSMutableDictionary *) dictionary {

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

[self 軽いだいたいの形を描画];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
[dictionary setObject: image forKey: @"image"];
[self setNeedsDisplayInRect: rect];

[self 詳細を描画];
[dictionary setObject: [NSNumber numberWithInt: 1] forKey: @"status"];
image = UIGraphicsGetImageFromCurrentImageContext();
[dictionary setObject: image forKey: @"image"];
[self setNeedsDisplayInRect: rect];

[pool release];
}
902名称未設定:2012/01/02(月) 17:51:33.73 ID:8A+feXxm0
IDts
903名称未設定:2012/01/02(月) 17:56:36.40 ID:6ztCrKQw0
>>874
セルやcell.imageViewのsetNeedsDisplayを呼んでみるとか、どうしてもダメだったら、
自前でUIImageView貼るとかカスタムセル作っちゃうとか。

>>875
せめて、Apple公式のドキュメントを読んで見ろよ。
暗黙のアニメーションを抑制する方法は書いてあったはずだ。
904名称未設定:2012/01/02(月) 17:56:44.40 ID:68QVU6Ia0
今ってメーラー作ってもリジェクトされないの?
905名称未設定:2012/01/02(月) 18:24:33.37 ID:dl1cKIZx0
CellIdentifier = @"Cell"などの任意の名前にして
セルの再利用するのが一般的らしいですが、
再利用の為に、セルに設定した画像がだぶって表示されるので
セルの種類によってID変えようと思います。

しかしその場合処理が毎回セルを作成するので
処理が遅くなるとありますが、
どれぐらい遅くなるのでしょうか?

毎回セル作成はアプリでは致命的なのでしょうか?
906名称未設定:2012/01/02(月) 18:56:52.57 ID:MWNxtAzZ0
>>889
ふむむ。ありがと

>>887
俺はnavcontrollerを作らないで
NSBundle読んだら帰るArrayの先頭の
navcontrollerをrootViewControllerに
入れたらいけた

なんか自分的にinitWithNibの
理解が足らない感じなんで
もうちょい色々読んでみます
907名称未設定:2012/01/02(月) 19:05:18.32 ID:d0ApVnWA0
>>905
>再利用の為に、セルに設定した画像がだぶって表示されるので

再利用する場合でも、これはあり得ない。何かがおかしいはず。
908890:2012/01/02(月) 19:12:43.38 ID:8A+feXxm0
何かarcとやらの調子が悪いみたいなんでxcode再インストールします
ぶっちゃけ今まで簡単に出来てたはずなのになぁ、、
909名称未設定:2012/01/02(月) 19:19:02.31 ID:ZU6XnMOY0
storyboardの使い方がいまいち分かっていないのですが、
UIWindowのサブクラスを利用するにはどのようにしたらよいのでしょうか?
stackoverflowのこの項目だと思うのですが、今ひとつ理解できません。
ttp://stackoverflow.com/questions/7883886/where-can-i-change-the-window-my-app-uses-from-uiwindow-to-my-own-subclass-mywi
ご存じの方いらっしゃったら教えて下さい。
910名称未設定:2012/01/02(月) 19:33:26.58 ID:6xOBpN150
>>909
書いてあるとおりにすればいいと思うけど、何が分からないの?
ってか、そもそも NSWindow のサブクラス作って何したいの?
普通はそんなもの作る必要ないと思うんだけど…。
911名称未設定:2012/01/02(月) 20:19:50.27 ID:8A+feXxm0
ついにcell.textLabel.text=@"aa";すら出来なくなった、、
912名称未設定:2012/01/02(月) 20:23:12.52 ID:6xOBpN150
再インストールが必要なのはXcodeじゃなくて、iPhone開発の基礎知識だと思う。
913名称未設定:2012/01/02(月) 20:33:57.12 ID:8A+feXxm0
>>912
ならば上記の間違いを指摘してみてくれないか?情報が足りないなら書き足す
というかさすがにこのくらいは今まで出来てた
914名称未設定:2012/01/02(月) 20:56:45.02 ID:d0ApVnWA0
>>913
>フリーズする
>ARCの調子が悪いみたい
>cell.textLabel.text=@"aa";すら出来ない

この辺を具体的に書かないとしょうがないのでは?

フリーズしたときに一時停止して、どこで止まってるか調べてみれば?
915名称未設定:2012/01/02(月) 21:07:10.14 ID:8A+feXxm0
>>914
セル再描画時セレクタが見つからないとか言われましたね、、自分の知識の範囲外でよく分かりませんが、、

再インストール後にまた出直してみます
916名称未設定:2012/01/02(月) 21:40:42.42 ID:5o9eeKB60
QuarzCoreのシャドウ使ったUIViewの上にiOS5のテキストフィールド付きアラートビュー乗せると、
シャドウと重なったカーソル部分がバグる。
5.0.1iPhone4でしか確認してないけど新年早々ヽ(`Д´)ノ
917名称未設定:2012/01/02(月) 21:43:30.21 ID:uWwyML+V0
今年こそ開発サイトが日本語化されると嬉しいな。
918909:2012/01/02(月) 22:11:31.28 ID:ZU6XnMOY0
>>910
回答ありです。
分からなかった理由は主に英語力不足なんですが、
思いっきり勘違いしていたことに気付き、なんとか解決しました。
要はAppDeligate.m内で
- (UIWindow*) window{
return [[MyWindow alloc] initWithFrame:[[UIScreen mainScreen]bounds]];
}
すればよいということですね。

こんなことをしたかった理由は、UIWebViewのタッチイベントを取得するためには、
UIWindowからフックする必要があるという記事を見たためです。
ttp://blog.syuhari.jp/archives/2141
919名称未設定:2012/01/02(月) 22:26:12.96 ID:ouK/b8y00
スペースと改行って同じ使い方でよいのですか?
920名称未設定:2012/01/02(月) 23:06:14.90 ID:PQs1aG3b0
一文字ずつの配列(A,B,C,~のような)を作るときって、
いちいち[NSArray arrayWithObjects:@"A",@"B",@"C",〜,nil];というふうに作らないとダメなんでしょうか?
921名称未設定:2012/01/02(月) 23:09:07.40 ID:ZrPTV0040
UILabelやUITextViewによる、横幅を上回る長さの文字列に対する
自動改行処理によって文字列が改行されたとき、「どこでくぎられたか」って
NSRangeでも何でもいいのですが取得する方法ありますか?
「n行目の文字列」でもいいのですが...。
componentsSeparatedByStringによる分割では\nとかこちらで入力した改行しか対応できず
困っております。
922名称未設定:2012/01/02(月) 23:20:04.19 ID:ZrPTV0040
>>920
NSStringのcomponentsSeparatedByStringを使うと
指定した文字で文字列を区切ったArrayを生成できますが
効率的かどうかは私にはわかりません
区切りに指定した文字は配列に入らず消えます

array = [@"A,B,C,D,E,F,G" componentsSeparatedByString:@","];
923名称未設定:2012/01/02(月) 23:39:50.38 ID:PQs1aG3b0
>>922
ありがとうございます、これ、望んでいたものにかなり近いです。
助かりましたー。
924名称未設定:2012/01/03(火) 00:42:34.71 ID:BpFitBpO0
>>923
そうなのかw
925名称未設定:2012/01/03(火) 00:53:32.36 ID:NvdnLYQS0
>903
コメントありがとうございます。>875です。
公式ドキュメントは必要部分の拾い読みしかしてないんですけど、
多分プロパティ変更時のアニメーション抑制しか書かれていなかったと思います。
問題なのは、明示的なsetNeedsDisplayによる描画で、実際の描画はおそらくアイドルタイムに
フレームワーク内で行われていると思いますので、CATransactionで挟むようなことはできないんです。
試しに、
[CATransaction begin];
[CATransaction setDisableActions:YES];
[layer setNeedsDisplay];
[layer displayIfNeeded];
[CATransaction commit];
とやってみましたが、描画さえされなくなってしまいました。
926名称未設定:2012/01/03(火) 00:57:26.43 ID:Zfv7KhMA0
>>832
今更だがありがとう。
だがその有料アプリは広告出してもそんなに叩かれてないけど。
927名称未設定:2012/01/03(火) 01:09:44.19 ID:AkE1neEm0
レビューが荒れるかどうかはそのアプリを使ってる層にも寄るんぢゃね?
928名称未設定:2012/01/03(火) 01:36:02.39 ID:ldHFwK1b0
>>860
UIScrollView in UIScrollView やっちゃうとタッチイベントがどっちやねんになってまずいんだよね。
Twitterクライアントなんかでよくある、
UITableView のセルにクリッカブルな URL やハッシュタグを含むテキストを入れているやつって
UIWebView じゃなくて Core Text でしこしこ書いてるのかな。
929名称未設定:2012/01/03(火) 06:43:18.99 ID:2HU8OMmp0
>>922
はエスパー
930名称未設定:2012/01/03(火) 08:35:20.80 ID:2HU8OMmp0
>>925
layer.actions = [[[NSDictionary alloc] initWithObjectsAndKeys:
[NSNull null], @"contents", nil] autorelease];
931名称未設定:2012/01/03(火) 10:30:04.76 ID:NvdnLYQS0
>>930
ありがとうございます。
うまくいきました+勉強になりました。
932名称未設定:2012/01/03(火) 12:55:14.41 ID:qiiq7C/+P
> 多分プロパティ変更時のアニメーション抑制しか書かれていなかったと思います。
933名称未設定:2012/01/03(火) 14:16:48.35 ID:N6IQHgNi0
NSCalendarで日付の文字列からNSDateを作り出す場合
NSDateComponentで指定した文字のとおりに文字が並んでないとnilになってしまいますよね。
なんとか柔軟性を持たせる方法はないものか・・・。
934名称未設定:2012/01/03(火) 14:36:46.08 ID:2HU8OMmp0
NSCalendarには日付の文字列からNSDateを作り出す機能はないよね??
935名称未設定:2012/01/03(火) 14:41:17.94 ID:N6IQHgNi0
>>934
すいません間違えました。
NSDateFomatterです。
936名称未設定:2012/01/03(火) 14:49:13.38 ID:2HU8OMmp0
フォーマット指定してもダメなの?
なにがしたいの?
937名称未設定:2012/01/03(火) 14:57:17.50 ID:N6IQHgNi0
日付と時間の間に不定の文字列があるとnilになってしまいますよね。
たとえばこの2ちゃんねるの書き込み時間みたいな日付を一括変換したい場合
日本語で漢字の曜日はEEEとしても変換できないじゃないですか。
setLocaleでja_JPとしてもダメでしたし。
やり方が間違ってるんでしょうか。

二つ作って足すのもなんかダサいですし。
938名称未設定:2012/01/03(火) 14:59:27.14 ID:v1U79c6i0
>>937
正規表現でも使ってなんとかしろ。
939名称未設定:2012/01/03(火) 15:31:56.57 ID:2HU8OMmp0
>>937
不定文字列をフォーマットに含まる事は出来ないんじゃなかろうか。

2ちゃんの書き込み時間みたいに特定フォーマットなら
普通に変換可能。
940sage:2012/01/03(火) 22:54:41.85 ID:xd/nG9100
file://のURLでのiOS4系とiOS5系でのCookieの吐かれ方が違うので、質問させてください。

下記のようなiPhone内部にもたせているtest.htmlに遷移させているのですが、
iOS4系では、Cookieの値がアラートで表示されず、iOS5系では表示されます。

===test.html===
<html><head><script>
 document.cookie = "KEY=VALUE";
 alert(document.cookie);
</script></head>
<body>THIS IS TEST</body></html>
===test.html===

===
NSString* basePath = [[NSBundle mainBundle] bundlePath];

// 下記URLは、”file://localhost/****/SAMPLE_APP.app/www/test.html”のようなURLになります。
NSString* urlPath = [NSString stringWithFormat:@"%@/www/test.html", basePath];
NSURL* url = [NSURL fileURLWithPath:urlPath];

// ↓では、USE COOKIEが表示されます。
([[NSURLRequest requestWithURL:url] HTTPShouldHandleCookies]) ? NSLog(@"USE COOKIE") : NSLog(@"DO NOT USE COOKIE");
[webView loadRequest:[NSURLRequest requestWithURL:url]];
===

file://のURLをWebサーバに配置して、http://のURLでアクセスした場合は、Cookieが表示されます。
file://のURLでCookieを表示させたいのですが、可能でしょうか?
941名称未設定:2012/01/03(火) 23:35:06.23 ID:LAAi9U640
In App Purchase用のテストアカウントで、
一度購入した情報を削除するにはどうすれば良いでしょうか?
942名称未設定:2012/01/04(水) 00:19:36.59 ID:cd9H6nyt0
>>941
購入情報、削除できないよね…。

テストアカウントは架空のメールアドレスでも大丈夫だったから、作っては消し、作っては消し…でやった。
943名称未設定:2012/01/04(水) 00:26:25.47 ID:MCkME3ze0
>>942
レスありがとうございます。
作っては消し〜で対応するしか無いのですね。ちょっと面倒ですねorz
リストア周りでバグが出てしまって難儀してました。
944名称未設定:2012/01/04(水) 04:23:40.75 ID:34CbvVidP
>>942
テストアカウント、数ヶ月前から架空メールダメになったんだが、もとに戻ったの?
945名称未設定:2012/01/04(水) 10:43:56.56 ID:yYM4Ub7p0
自鯖あるとメールアカウントいくらでも発行できるぞ
ドメインがDDNSのやつのままで使ってるが
946名称未設定:2012/01/04(水) 15:02:35.06 ID:bznC4g7p0
NSDateFormatterのsetDateFormat:で、桁揃えに0ではなくスペースを
埋めることはできる?
例えば整数でいうと%02dではなくて%2dを使うときみたいに、
平成05年ではなくて、平成 5年としたいのです。
947名称未設定:2012/01/04(水) 15:18:11.66 ID:cd9H6nyt0
>>944
あ知らない。俺が試したのは去年の10月くらい。そのときは行けた。
948名称未設定:2012/01/04(水) 15:26:07.30 ID:AkYVOInR0
>>946
yyyyっていう方法と
%yって方法があってだね。
ドキュメント見てみ、たしか出来るよ 確かめてないけど
949名称未設定:2012/01/04(水) 17:51:52.20 ID:bznC4g7p0
>>948
ためしてみましたが、
NSDateFormatterは%を使用できないみたいです。
[dateFormatter setDateFormat:@"G%y年"]; //-> 平成%5年
[dateFormatter setDateFormat:@"Gy年"]; //-> 平成5年
[dateFormatter setDateFormat:@"Gyy年"]; //-> 平成05年
[dateFormatter setDateFormat:@"Gyyy年"]; //-> 平成005年
となり、桁揃えにスペースを埋め込んでくれません。
(strftimeもダメみたいです)
950名称未設定:2012/01/04(水) 18:10:45.89 ID:AkYVOInR0
あ、ごめん勘違いしてた・・・
許して
951名称未設定:2012/01/04(水) 18:12:15.64 ID:yYM4Ub7p0
>>949
いや、みたいです、じゃなくてドキュメントはどうしたんだよw
数字個別に取得してフォーマットすればいいだろう。
952890:2012/01/04(水) 19:06:03.16 ID:PBFrVe/60
890だけど再インストールしたけどダメでarc切ったらどうにかなりました、、、
xcodeというかmac壊れたかな、、
953名称未設定:2012/01/04(水) 19:16:22.14 ID:HlvDDm1o0
お前の頭が壊れてるとしか思えない
954名称未設定:2012/01/04(水) 19:21:21.85 ID:n1zbK1K50
>>890
ARCまだ使ってないから見当違いのこと言ってるかもだが、ARC有効ならretainじゃなくてstrongじゃなかったっけ?
955名称未設定:2012/01/04(水) 19:33:11.95 ID:bJlkT3iR0
>>952
ソースは >>890 に書いたものだけじゃないだろ?いろいろ隠してるだろ?
>>890のデータソースだけじゃセルの数が少なすぎて、スクロール可能数にも達しないじゃん。

>>915
セレクタが見つからない、ってのは、存在すべきものがdeallocされているんだよ。
何のセレクタが見つからないって出るんだ?

俺語で愚痴を書いても解決しないぞ。
956名称未設定:2012/01/04(水) 20:29:48.38 ID:LhRiZ1n2i
UILabelに上辺だけボーダーを付けたいのですが、上辺だけボーダーを付ける設定は出来ないのでしょうか?
quartzcoreはインポート済みです。
957名称未設定:2012/01/04(水) 20:30:17.76 ID:PBFrVe/60
返信してくれた人すまん、、俺も良くわかっていないからどうしても俺語になってしまうんだが
さっきまでやっていたことをそのまま書くとosとxcodeを再インストールしてデフォの設定のまま(arcオン)で
エンプティからUITableViewControllerのサブクラス作ってAppDelegate.mに

tableViewController *tvc=[[tableViewController alloc]init];
[self.window addSubView:tvc.view];

んで>>890だけ書いた。本当にあれだけ。後は確認のため全部消した。
あ、あとスクロールっていうのは例えばテーブルを上に大きく引っ張ると一瞬一行目が見えなくなってリバウンドして戻ってくる時のこと
一瞬見えなくなって戻ってくるとき凍る
958名称未設定:2012/01/04(水) 20:37:58.15 ID:LkFi4gax0
>>957
>[self.window addSubView:tvc.view];
これが間違い。これじゃ tvc がどこからも参照されないので、
ARC 有効だと release される。

iOS 4 以降では、
self.window.rootViewController = tvc;
が正しい。
959名称未設定:2012/01/04(水) 20:38:35.14 ID:bJlkT3iR0
tvc.viewの参照は保持されるが、tvcはだれにも参照されてなくてdeallocされるからだろ。
tvcはtvc.viewを保持するが、tvc.viewはtvcを保持しないから。

self.window.rootViewController = tvc; とすべき。
960名称未設定:2012/01/04(水) 20:44:28.96 ID:bJlkT3iR0
やはり初心者はARCに手を出さない方がいいなw
961名称未設定:2012/01/04(水) 20:54:44.07 ID:PBFrVe/60
うおーありがとうございます!できた!tvcのviewを見たっていうのはtvcの総体までは見ないってことで、、
答えてくれた人達日をまたいでありがとうございます
962名称未設定:2012/01/04(水) 21:07:18.92 ID:LkFi4gax0
>>960
いや、本来初心者こそ ARC を使うべきだと思うよ。
いまだに rootVC の view を addSubview: するコードを書いてる入門書を殲滅すべき。
963名称未設定:2012/01/04(水) 21:13:43.61 ID:HlvDDm1o0
ちなみに>>890のコードもARC非対応だからな
964名称未設定:2012/01/04(水) 21:16:35.44 ID:4p6K2i3K0
なんで自分のプログラムの不具合が
arcが壊れたとか再インストールとかに
つながるのかが訳わからん
根本的な姿勢が悪いぞ
965名称未設定:2012/01/04(水) 21:38:59.12 ID:JZewVv4G0
arcって小文字で書いてるからアークって読んでた。
ARCって書かないとw
966名称未設定:2012/01/04(水) 21:53:21.45 ID:sM+XAMpK0
アクロ
967名称未設定:2012/01/04(水) 22:37:44.75 ID:PBFrVe/60
>>964
言い訳だけど以前簡単に成功したのが急に出来なくなったから焦った
968名称未設定:2012/01/04(水) 23:36:52.30 ID:sM+XAMpK0
言い訳ですね
969名称未設定:2012/01/04(水) 23:44:01.38 ID:PBFrVe/60
ですねぇ
970名称未設定:2012/01/04(水) 23:45:29.13 ID:2WJLTY9O0
ですねぇ
971名称未設定:2012/01/04(水) 23:46:08.01 ID:4p6K2i3K0
必要なオブジェクトはstrongに入れとくだけだしな
iPhoneにもgcがあればと思ってたけど
ARCはいいな
コードがかなりスッキリするよね
972名称未設定:2012/01/05(木) 11:15:19.39 ID:oyMSTif80
Mac用アプリやJavaではガベージコレクション使ってるのにARC馬鹿にする人はなんなの?
973名称未設定:2012/01/05(木) 11:16:24.15 ID:Whpu9OT50
>>972
日本語でおk
974名称未設定:2012/01/05(木) 11:24:08.69 ID:Srj3zqPY0
iphoneアプリの申請でプライマリーランゲージをEnglishにして、ローカルでJapaneseを登録。その後plist の localizations をjapaneseでarchive
して、organizer でValidateすると The value for the info.plist key CfBundleLocalizations is not of the required type of that key のエラーがでるんですが
plistにjapaneseではないのですか? jpも試したのですがダメなようです。どなたか知ってらっしゃる方いませんか。それともこのやり方ではJapaneseは指定出来ないのでしょうか?
975名称未設定:2012/01/05(木) 11:33:36.05 ID:3PH7pzkm0
>>972
ARC を馬鹿にしてるんじゃなくて、入門書で ARC 前提で書かれたものが少ないから混乱を招くってことでしょ。

>>974
型が合わないって言われてるのに、値をいじってどうする?
CFBundleLocalizations の型は文字列じゃなくて、文字列の配列だよ。
(そもそも .lproj があれば CFBundleLocalizations は不要だし…)
976名称未設定:2012/01/05(木) 12:54:23.31 ID:z4FvS339P
「写真」みたいに一定時間入力無い場合に
ツールバー表示ってどうすればいいのでしょうか?
977名称未設定:2012/01/05(木) 13:15:28.65 ID:Srj3zqPY0
>>975

ユーティリティー画面でLocalizationを追加すると、Ja.projのフォルダ、その中にinfoPlistが出来るんだけど
そこにCFBundleDisplayName ”ほげほげ”と入れてシュミレーションで試しても反映されない。
しかし、最初に出来てる、en.projフォルダのinfoPlistの内容を”ほげほげ”とすると反映される
シュミレーションはjaとは判断されないんでしょうか?
infoPlistを触ると変更が反映される。
978名称未設定:2012/01/05(木) 13:15:44.33 ID:Srj3zqPY0
>>975

ユーティリティー画面でLocalizationを追加すると、Ja.projのフォルダ、その中にinfoPlistが出来るんだけど
そこにCFBundleDisplayName ”ほげほげ”と入れてシュミレーションで試しても反映されない。
しかし、最初に出来てる、en.projフォルダのinfoPlistの内容を”ほげほげ”とすると反映される
シュミレーションはjaとは判断されないんでしょうか?
infoPlistを触ると変更が反映される。
979名称未設定:2012/01/05(木) 13:26:31.30 ID:oyMSTif80
>>976
performSelector:withObject:afterDelay:
980名称未設定:2012/01/05(木) 13:49:45.48 ID:3PH7pzkm0
>>978
そもそも何をしたいのかよく分からないんだけど…。
あと、シミュレータの言語の設定は、シミュレータ内の設定アプリでできるよ。
981名称未設定:2012/01/05(木) 14:40:45.54 ID:Srj3zqPY0
>>980
プライマリーランゲージをEnglishにして、日本限定で公開したかったのですが、localizationの仕組みを読んでいて
そういう事ではないのだな気づきました。日本限定公開なんて事は出来るんでしょうか?
982名称未設定:2012/01/05(木) 14:51:54.57 ID:TA/lzg/H0
itunesconnectで公開する国を設定できる。
それとローカライズとは全くの別問題。
アプリを日本語対応にする場合は、基本は英語とし、日本語リソースを追加するようにする。
>>980の言うように、シミュレーターの言語設定が日本語でなければ、日本語リソースは表示されない。当然だけど。

それから、リソースをローカライズした後は、クリーン&シミュレーターからアプリを削除して再インストールした方が
よいかも。
983名称未設定:2012/01/05(木) 15:17:17.40 ID:Srj3zqPY0
>>980 982

ありがとうございました。
itunesConnectのRights and Pricingで販売する国設定が出来のですね。
localizationはもう少し試してみます。

984名称未設定:2012/01/05(木) 17:38:41.68 ID:GvzjcRHv0
ニッポンとそれ以外で値段を変えることは可能でしょうか?
旧財閥、旧華族の大富豪の皆さんにはいいお値段で献上したいのですが。。。
985名称未設定:2012/01/05(木) 17:58:48.77 ID:oyMSTif80
無理です

無料で献上することはできますよ
986名称未設定:2012/01/05(木) 18:12:10.14 ID:TCeVMa0c0
MacOS 10.7.2
Xcode4.2
iOS5.0SDK

pngを読み込むためにlibpng1.5.7のソースを落として来ました。
何も考えずに./confiure->makeするとx86用のライブラリが出来たのですが、
実機用にarmv6/v7のライブラリを作るにはどうすれば良いんでしょうか・・・
987名称未設定:2012/01/05(木) 18:18:25.72 ID:3PH7pzkm0
>>986
png なら iOS ではもともとサポートされてるけど、それを使わずに libpng を使う理由は?
988名称未設定:2012/01/05(木) 18:31:33.46 ID:P2riKaOy0
ImageIOやCoreGraphicsで代替できるならそっち使った方が楽かもよ

libpngはソース丸ごとプロジェクトに組み込んでビルドできないかね
989名称未設定:2012/01/05(木) 18:54:18.34 ID:351iRMVk0
>>987
現在iOS側はUIImage経由/Android側はlibpngをndkコードから使ってまして、
共有コード部分を増やしたくて慣れないビルドに手出したら頭の中真っ白状態ですorz

>>988
丸ごと組み込んでビルド!思いつきませんでした!試してみます!
990名称未設定:2012/01/05(木) 19:34:34.67 ID:OrxhrdQh0
アプリって消費税かかるの?
991名称未設定:2012/01/05(木) 19:52:27.97 ID:cktpk0Fei
fmdbでsqlite3を扱っているのですが、
fmdbからカラムの型を取得する方法はありませんか?
992名称未設定:2012/01/05(木) 20:19:31.50 ID:3PH7pzkm0
>>991
pragma table_info とか? でも、カラムの型が分からない方がおかしいと思う。
993名称未設定:2012/01/05(木) 20:25:57.80 ID:3PH7pzkm0
994名称未設定:2012/01/05(木) 20:58:40.80 ID:DxBzgdmb0
>>990
もう少し社会勉強しなさい
995名称未設定:2012/01/06(金) 15:15:30.95 ID:HpMlsDqy0
こっちは埋めるか。

次スレの2も適当に更新しといたけど、他に最近出た(出る)本でいいやつあるかな?
・iOSプログラミング 第2版(ピアソン桐原 2011/12)Aaron Hillegass, Joe Conway
・Objective-C超入門――ゼロからしっかり学べるiPhoneプログラミング【Xcode4.2対応】(ラトルズ 2012/1)大川内隆朗
あたりはどうなんだろ? あと、Unityの本がいっぱい出ててもういいやって感じ。
996名称未設定:2012/01/06(金) 16:45:12.45 ID:yh2KmITJ0
出版日が今年になってるやつはだいたいいい感じだったよ
ちょろっと見た感じ分かりやすそうだった
でも深いとこまで書いてある本はなさそうだったな
997名称未設定:2012/01/06(金) 20:36:46.79 ID:phNK9R000
997だったら、今年のAppStore Rewindに俺のアプリが選ばれる。
998名称未設定:2012/01/06(金) 20:38:13.14 ID:phNK9R000
998だったら、アプリ長者になる。
999途中で送信しちゃった:2012/01/06(金) 20:38:43.00 ID:RUdYglhc0
>>997
君のアプリってどれ?
1000名称未設定:2012/01/06(金) 20:38:50.80 ID:phNK9R000
999だったら、アプリをバイアウトして億万長者になれる。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。