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

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

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

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

関連スレ等は>>2以降


334 :名称未設定:2010/12/15(水) 17:05:57 ID:nKXNycVk0
調べてみたのですが私の様な環境で開発をしている様な方が見当たりませんでした。
大変申し訳ないのですが質問させてください。

UIkit詳細リファレンスという本を見ながら開発を行っております。
UITabBarControllerの下にバナーを表示する為に表示の範囲を弄っています。
項目が増えTabBar「その他」→「編集」をタッチしてしまうと「完了」が画面外に隠れてしまいます。
これを改善する為に2つの方法が思いついたのですがどちらも上手くいきません・・・。

1つ目 
「編集」の項目を消す。
→使い方が悪いみたいで「編集」の項目が残ってしまっております。

2つ目
「完了」のナビゲーションバーの位置を直す。
→どのようにすれば良いかがわからない。

NSArray* controllers = [NSArray arrayWithObjects:tab6, tab1, tab2, tab3, tab4, tab5, nil];
[(UITabBarController*)rootController setViewControllers:controllers animated:NO];
rootController.view.frame = CGRectMake( 0, 20, 320, 400 );
rootController.tabBarController.customizableViewControllers = nil; // [edit]できなくする

無知、長文すみません。

335 :ぱたぽん:2010/12/15(水) 17:25:53 ID:k1nBXq0k0
いきなりなんだけどひろいものipaを脱獄なしでどうにか同期したのだけれど。。助けてーー
HELP 目

336 :名称未設定:2010/12/15(水) 17:38:19 ID:xw8ex28W0
>>335
iPhoneを2日ほど水に浸けるだけでOK

337 :名称未設定:2010/12/15(水) 17:41:19 ID:VdYC25qD0
>>333
お返事ありがとうございます。

UIPopoverControllerDelegateを設定して
mファイルに以下のように記述しましたが呼ばれていないようです。

- (void)cancelSheetView{
NSLog(@"cancelSheetView");
}

なにか間違っていますでしょうか・・・?

338 :名称未設定:2010/12/15(水) 17:42:25 ID:dJHoFEpT0
>>335
持ち主がMobileMeに入ってたらお前速攻特定されるよ?
素直に交番に届けたほうがいいとおもうが

339 :ぱたぽん:2010/12/15(水) 17:43:28 ID:k1nBXq0k0
>>336
あーやってみますどうも。でも水に濡れたらiPhone永眠しちゃうな。。。

本当に入れたいんだよな。。ググっても脱獄ネタしかないしな。普通のあいぽんに脱獄あぷり入れるのあったけどMACだしな。。。やばいな

340 :ぱたぽん:2010/12/15(水) 17:46:03 ID:k1nBXq0k0
338
ipaの拡張子の話でパクられたりすんの?

341 :名称未設定:2010/12/15(水) 17:56:10 ID:dJHoFEpT0
ipaかw
iPadと素で読み間違えたw

342 :ぱたぽん:2010/12/15(水) 17:57:57 ID:k1nBXq0k0
あー拾いたいなアイパッド・・・netshare入れたいんだよね iPhoneさんに

343 :名称未設定:2010/12/15(水) 19:21:24 ID:cSqR+WfE0
>>337
UIPopoverView は UIPopoverController のプライベート変数ですよ

344 :名称未設定:2010/12/15(水) 19:27:41 ID:KVYI5w1Y0
>>342
スレ違い。いいかげん消えろ。

345 :名称未設定:2010/12/15(水) 19:29:23 ID:VdYC25qD0
>>343
ということは参照できないってことですか・・・?
消えるついでに別のメソッドを実行みたいなことはできないということですか?

346 :名称未設定:2010/12/15(水) 20:00:00 ID:cSqR+WfE0
>>345
それは普通にパブリックのAPIでできるよ…。
消えた瞬間に呼ばれるメソッドが知りたいって言うからそれを調べたわけで。

347 :名称未設定:2010/12/15(水) 20:12:28 ID:VdYC25qD0
>>346
あ、すみません。質問の仕方が悪かったのですね・・・。

消える瞬間メソッド実行させるには
cancelSheetViewを使うわけではないんですね。

348 :名称未設定:2010/12/15(水) 20:14:01 ID:VdYC25qD0
>>346
連続ですみません。
そのパブリックのAPIについて詳しくお教えいただけませんでしょうか?

349 :名称未設定:2010/12/15(水) 21:23:12 ID:mJWgUWSNP
インフィニティジーンのミュージックステージのように、音楽ファイルを選択→音楽ファイルの情報を取得、ってのをやりたいんですが、選択したファイルのID3タグなどを取得できるAPIってあります?

350 :名称未設定:2010/12/15(水) 21:54:05 ID:R2hcs3Gq0
セルトレ何時頃更新なの?

351 :名称未設定:2010/12/15(水) 22:32:25 ID:QdUflEUx0
今表示されている UITableView があって、一番上のセルが見えている状態です。
ここで更にもう一つ上にセルを追加するためには [tableView insertRowsAtIndexPaths:〜] を呼ぶと思いますが。
そうすると追加したセルが一番上に表示されて、最初に表示されていたセルが追加したセルの分下がって表示されます。

これを最初に表示されていたセルの位置を変えずにセルを追加したい、つまり画面外にはみ出した形で追加したいのですが、
なかなかうまくいきません。

[tableView beginUpdates];
NSMutableArray *indexPaths = [NSArray arrayWithObject: [NSIndexPath indexPathForRow: 0 inSection: 0]];
[tableView insertRowsAtIndexPaths: indexPaths withRowAnimation: UITableViewRowAnimationNone];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow: 1 inSection: 0];
[tableView scrollToRowAtIndexPath: indexPath atScrollPosition: UITableViewScrollPositionTop animated: NO];
[tableView endUpdates];

こんな感じでやってみたのですが、一瞬追加したセルが見えてその後で画面外に見えなくなります。
[tableView scrollToRowAtIndexPath:〜]を[tableView endUpdates]の後ろに持って行ったりしてみたのですが、結果は変わりませんでした。
この一瞬を無くしたいのですが、何か良い方法は無いでしょうか。

352 :名称未設定:2010/12/15(水) 23:33:58 ID:huVfzZDp0
オーガナイザからApplication DataをDLして、バックアップを取りました。
そして、その中のDocumentsフォルダをドラッグアンドドロップして放りこんでみたら
そのDocumentsの中身(jpg)が一つ上のフォルダに入ってしまいました・・
/Documents/…jpg
   tmp/空
  …jpg ←放りこんだ方
何がいけなかったのでしょうか?(入れることができないなら、バックアップの意味って…)
また、Documentsフォルダに入っている画像や、放りこんでしまった画像を削除するのにはどうしたらいいでしょうか?
よろしくお願いします。



353 :名称未設定:2010/12/16(木) 00:15:09 ID:n+f8KXhN0
iOS3からiOS4になって、カーソル移動で困っています。
今まで、selectedRangeを用い、ボタンでカーソルを動かすようにしていたのですが、+の左にカーソルを移動できなくなってしまいました。
いろいろ試してみて、次のようなことが判りました。
どこでも良いですから(例えば spotlightで)、abc+defと入れ、指でカーソルを動かしてみると、cと+の間にカーソルを持ってくることができません。
どうもc+を1つの文字のように扱っています。
iOS3ではこのようにはなりません。
iOS4で何か仕様が変わったのでしょうか?


354 :名称未設定:2010/12/16(木) 07:23:22 ID:vI+IQMei0
>>353
自分もiOSの3と4で試して再現したよ。
Unicodeでの半角カナ+濁点みたいに合成されちゃってるのかな。

しかしおかげで自分のアプリのカーソルだと合成文字の左に飛べないバグを見つけたよ。
1文字移動後にまだ同じ位置なら2文字移動でなんとかなった。
不自然に見えるけどMacでもそうだし仕方ないね。

355 :名称未設定:2010/12/16(木) 15:05:02 ID:X2bHcQUP0
IBでUIScrollViewとUIImageViewを作って、コードからUIGraphicsBeginImageContextを使って
320*460より大きい画像を作成し、設定しているのですが、iPhoneの画面外まで画像があるのは分かる
のですがスクロールできません。
お分かりになる方!お知恵を貸してください。

356 :名称未設定:2010/12/16(木) 15:25:49 ID:8x4Lymjn0
スクロールの最大最小範囲を設定したかい

357 :名称未設定:2010/12/16(木) 15:29:19 ID:5uTLkHLO0
ボタンをタップして完全別ページいくのってUINavigationControllerで出来ますかね?

358 :名称未設定:2010/12/16(木) 15:38:40 ID:HSXSRPYq0
>>357
質問するっていうレベルじゃねぇぞ

359 :名称未設定:2010/12/16(木) 15:58:13 ID:VO2QovMg0
>>357
初心者以下。
出直してこい。

360 :名称未設定:2010/12/16(木) 16:32:20 ID:VpNdCfUL0
>>357
人を怒らせる天才だな

361 :名称未設定:2010/12/16(木) 16:38:01 ID:pz2fDEJX0
>>357
別ページに切り替える方法を勉強すればいいんだけど…
それより前に、ボタンやUINavigationControllerとかの理解を深めることをすすめる。

362 :名称未設定:2010/12/16(木) 18:29:55 ID:GaGLvEyP0
TouchDragExitとTouchDragOutsidの違いがよく分かりません。

それぞれの設定をしたボタンを配置して、シミュレーター上で試しても
動作の違いが解らんです。
やりたいことは、ボタン上の指がボタンの外に出た瞬間に別のメソッドを
呼んでほしいんですが、どっちともボタンから指が50ピクセルくらい離れ
るまで、メソッド呼んでくれない…

363 :362:2010/12/16(木) 18:41:41 ID:GaGLvEyP0
座標で管理すればいいんでしょうが、複雑な画面になりそうなので画面のレイアウトとか変わるたびに
変更がめんどくさそうなんで…。すいません

364 :名称未設定:2010/12/16(木) 19:43:12 ID:iqz3IWRa0
popoverViewをドラッグして移動させたいのですが、
可能でしょうか?

 addGestureRecognizer

でpopoverViewにタッチイベントを
追加しようとしたら怒られました。
オリジナルのビューを作るしかないでしょうか?

365 :名称未設定:2010/12/16(木) 21:39:41 ID:i+R6XWqr0
iWorkのNumbersで図形を描画するときに使う四角形で端の9点が○になってて
その○をドラッグしながら図形の形状を縦長とか横長に出来るあのインター
フェイス、他には画像編集アプリでcropとかにも使うあれは何かのクラスで
作成出来るのでしょうか?それとも独自に作るしかないのでしょうか?

366 :名称未設定:2010/12/16(木) 22:29:20 ID:Xb83/lYR0
独自で作る

367 :名称未設定:2010/12/16(木) 23:03:55 ID:i+R6XWqr0
>>366
やはりそうでしたか。なんとなくそうかなとは思ってたけど
もし楽にできるクラスがあったら使おうと思ってたので残念。

368 :355:2010/12/16(木) 23:21:33 ID:X2bHcQUP0
>>356
ありがとうございます!
scrollView.contentSizeには画像の大きさを渡してますが、違う話ですか?
logに出力して確認してますが、scrollViewのx、y共に反映されています。

369 :名称未設定:2010/12/16(木) 23:48:48 ID:AMVkxSCp0
友達からもらったプロジェクトがビルド出来ません。

エラーメッセージの内容は
Code Sign error: The identity 'iPhone Developer: 〜〜〜〜
というメッセージが出ています。

プロジェクトの情報からビルド時の署名は自分のを指定したのですが、
友達の情報がそのまま残っているように見えます。

友達も開発を始めたばかりでお手上げだといっていますが、
何かいい方法があったら教えてください。

370 :名称未設定:2010/12/16(木) 23:58:53 ID:Xb83/lYR0
プロジェクトじゃなくてターゲットの方も確認するべし

371 :名称未設定:2010/12/17(金) 01:48:30 ID:a5V57TPX0
>>367
Twitterにポストした?

372 :名称未設定:2010/12/17(金) 02:36:55 ID:ooteLLv50
最新バージョンのXcodeでOpenGL ES 1.1での開発をするにはどうすればいいでしょうか?shaderとかいう余計なものがあるため、どうすればいいかわかりません。


373 :名称未設定:2010/12/17(金) 02:40:48 ID:hKulUqL+P
>>372
OpenGLのバージョン判定してる部分を見て、
関係ないところをコメントアウトする。

俺もてこずった。


374 :名称未設定:2010/12/17(金) 10:39:47 ID:z9cO5N3A0
iOS developerからdeveloper_identity.cerをダウンロードして
ダブルクリックすると「システムルートキーチェーンは変更できません」
ってエラーが出てしまいます。どうすれば解決できるでしょうか?

375 :名称未設定:2010/12/17(金) 10:47:35 ID:z9cO5N3A0
あっ、うまくいった。事故解決

376 :名称未設定:2010/12/17(金) 11:18:28 ID:EuVPWGyG0
>>369
とりあえずプロジェクトのクリーンアップは基本。

377 :名称未設定:2010/12/17(金) 11:29:43 ID:z9cO5N3A0
アプリを実機でdebugする際にInstall&Runボタンを押した後以下のエラーが出てしまいました。
これはどうすれば解決できるのでしょうか?

The executable was signed with invalid entitlements.

The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.

378 :名称未設定:2010/12/17(金) 12:11:41 ID:sfafTvkw0
>>377
書いてあるとおり。

379 :名称未設定:2010/12/17(金) 12:19:24 ID:z9cO5N3A0
provisioning profileと何がマッチしてないのかよくわからないのです。
正しいはずなのに。

380 :名称未設定:2010/12/17(金) 12:58:23 ID:WtrqWVzu0
>>379
原因は一概にこれ!とは言えないと思う。そこら辺はハマると面倒くさいね。
実機に古いプロビジョニングファイルが残っている場合とかも考えられるし、
プロビジョニングの手順を丁寧に見直すしかないと思う。

381 :名称未設定:2010/12/17(金) 14:01:08 ID:z9cO5N3A0
問題解決!結局info.plistファイルが問題だったらしい。
おっしゃ!!ついに俺のアプリが実機で動いたぜ!!
なんか感動するw

382 :名称未設定:2010/12/17(金) 15:48:36 ID:tQOLW+e60
しっかしこの辺りのぐちゃぐちゃはホント消耗するよ。
消耗度で言うと、アプリのロジック考えるのより、
プロビジョニングなんたらのああだこうだのほうが上だわ。

383 :名称未設定:2010/12/17(金) 15:55:10 ID:jBTQMNYK0
俺は一発で通ったけどな。
マニュアル読まずに適当にやるからおかしくなるんだろ。

384 :名称未設定:2010/12/17(金) 16:03:14 ID:r/l3JG6R0
アシスタントでされるがままにやってたら出来上がってたけど?
みんなアシスタント使わないの?

385 :名称未設定:2010/12/17(金) 16:11:34 ID:EuVPWGyG0
複数母艦で開発してたり、複数証明書を使い始めるとはまるな。
たいていプロジェクトのクリーンナップでなんとかなるけど、
一度キーチェーン作り直したことある。
現在母艦3つ、dev登録してあるapple-idも3つだ。

386 :名称未設定:2010/12/17(金) 17:00:26 ID:DPcvNmo70
秘密鍵使い回さんの?

387 :名称未設定:2010/12/17(金) 18:46:01 ID:Fr4uSwNK0
とっても基本的なことっぽいんですけど
どなたかお助けください。

 [UIScreen mainScreen].bounds.size.width → 768
 [UIScreen mainScreen].bounds.size.height → 1024

っていうふうに画面の幅と高さを参照したのですが、
デバイスを回転させたときにも(デバイスがどんな向きのときも)
以上の値が返ってきます。

ランドスケープ表示中は
 幅=1024
 高=768
というふうに返ってきてほしいのですが、
なにか方法ありますでしょうか?
よろしくお願いいたします。


388 :名称未設定:2010/12/17(金) 19:38:28 ID:ooteLLv50
2Dゲーム(ブロック崩し)を作りたいのですが、テンプレのopenGL ESアプリケーションは、敷居が高いと思い、ググっていた所、
cocos2dというものを発見しました。
つかった事ある人どんな感じか教えてください。

389 :名称未設定:2010/12/17(金) 20:44:25 ID:jBTQMNYK0
>>388
クセが強いけどかなり楽。
日本語の入門書は無いと思うけど、ググればそこそこ資料も見つかる。

390 :名称未設定:2010/12/17(金) 21:51:06 ID:z9cO5N3A0
>>382
すごく消耗したぜ、なんかデバッグやらせれてる気分だった。

391 :名称未設定:2010/12/17(金) 23:54:54 ID:Wr8cDCEp0
質問です〜。
Viewをちょこっと移動させたいとき(例えば下に10px)
今は以下のようにコードを書いているのですが
ground.center = CGPointMake(ground.center.x,ground.center.y+10);
もっと簡単な書き方はないでしょうか?(数値を代入するだけですむような形)



392 :名称未設定:2010/12/18(土) 00:32:17 ID:dYUeaYrT0
>>391
十分簡単。実際の処理は、スムーズにアニメーションするために
y→y+10へ時系列で変化させている。

それでも簡略化したいなら#defineでマクロを書く。

393 :名称未設定:2010/12/18(土) 00:57:35 ID:QXp7mAVu0
transformプロパティを使えば自分の座標はいらなくなるけど、簡単ではないと思う。

394 :名称未設定:2010/12/18(土) 16:36:26 ID:XAjo4hfq0
OpenGLプロジェクトのデフォルトの状態で
iOSシミュレータ4.1ではきちんと動くのですが、
シミュレータ4.2にすると動かなくなります。

OpenGLプロジェクトはES1RendererとES2Rendererに分かれている時のものです

どうすれば動かすことができるのでしょうか。

395 :名称未設定:2010/12/18(土) 16:53:38 ID:XAjo4hfq0
すいません、事故解決しました

396 :名称未設定:2010/12/18(土) 16:53:54 ID:Rr/6sfYK0
フリー素材を使いたいんですが、
そこの利用規約に商用利用不可とかいてあるのですが無料でApp Storeに載せるのは商用利用ですか?

397 :名称未設定:2010/12/18(土) 17:00:07 ID:nQfVv4bQ0
そんなのは著作者に聞かないと・・

398 :名称未設定:2010/12/18(土) 17:24:22 ID:k+MTPGnSP
>>382
PKI知ってりゃ簡単だけどね。

秘密鍵(CSR)+証明書(.cer) => キーチェーン
DeviceID+AppID(=BundleID) => Provisioning Profile

399 :名称未設定:2010/12/18(土) 20:47:21 ID:iH90qHAW0
>>396
売価が無料でも、企業名で出せば(宣伝目的の)商行為と見なすという考え方もあるし、
個人名で出しても、大規模な配布は商行為と見なすという考え方もある。
もちろん、その逆で無料なら一切商行為とは見なさないという考え方もある。
また、ひとくちにフリー素材と言っても、プログラムの素材に使うのは不可とか、有料と
かの場合もある(これはたいてい利用規約に書いてあると思うが)。

どう考えるかは、その著作権所有者の自由なので、利用規約をみてわからない場合は
個別案件として問い合わせるしかない。


400 :名称未設定:2010/12/19(日) 01:45:46 ID:H6yyl9sp0
App Storeはマーケット。無料アプリは無料で配布ではなくて無料で販売。
おのずと答えは見えてくる。

401 :名称未設定:2010/12/19(日) 09:25:34 ID:wbR2Aqfx0
addsubViewやinsertSubview等で追加したサブビューのatIndexを取得する方法はありませんでしょうか?
いつもはセットするときにtag情報を付与しているのでサブビューの管理は出来るのですが、
階層の何番目にあるのか知りたいなと思って質問させていただきました。
どなtかわかる方よろしくお願いします。

402 :名称未設定:2010/12/19(日) 09:28:58 ID:wbR2Aqfx0
>>391
int idou = 10;
ground.center = CGPointMake(ground.center.x,ground.center.y+ idou);

じゃダメなん?

403 :名称未設定:2010/12/19(日) 10:55:02 ID:ofiVjni/0
>>401
自分で追加したんだから何番目か分かるだろ?

404 :名称未設定:2010/12/19(日) 11:01:34 ID:wbR2Aqfx0
>>403
追加した時点のatIndexはわかるのですが途中でbringSubviewToFrontで最上面にしたり、
ViewをremoveしたりするとsubviewのatIndexが入れ替わってわけわからなくなるので
ViewからatIndex情報が知りたいと思ってます。

ちなみatIndexってビューの表示順番って認識で大丈夫ですよね?
atIndexの0が最下層で数字が増えるごとに上層になるってイメージを持ってます。

405 :名称未設定:2010/12/19(日) 11:07:40 ID:wbR2Aqfx0
>>403
あと、subviewはボタンを押すたびにどんどん増えていくので自分では管理できない数になるという前提でお願いします。
今は管理はsubview追加時にtagの値をかえてるので参照する時はtag値で参照できるのですが
今回レイヤーの何番目の層にいるか?っということを知りたくなりましたの
質問させていただきました。

406 :名称未設定:2010/12/19(日) 11:13:27 ID:ofiVjni/0
>>404
一発で取得する方法は無いみたいね。需要が無いという事じゃないか?
カスタムクラスなら、こんな感じのメソッドで取得できると思うが。

- (int)index {
NSArray *subviews = [self.superview subviews];
for (int i = 0; i<[subviews count]; i++) {
if ([subviews objectAtIndex:i]==self) return i;
}
return -1;
}

407 :名称未設定:2010/12/19(日) 11:32:48 ID:wbR2Aqfx0
>>406
一発で取得できるプロパティはないんですね。了解です。
なるほど、配列にスーパービューのビュー配列自体を持ってきて
そこから探るというわけですね。

わざわざカスタムクラスまで調べていただきありがとうございます。


408 :名称未設定:2010/12/19(日) 12:57:16 ID:TniXQTOg0
どーでもいいことかも知れないけど、

if ([subviews objectAtIndex:i]==self) return i;

条件判定がTrueのみの場合って、みんな↑のように書くの?
俺は↓のように書いてるけど。

if ([subviews objectAtIndex:i]==self) {
 return i;
}

409 :名称未設定:2010/12/19(日) 13:21:30 ID:wbR2Aqfx0
>>408
自分は
if ([subviews objectAtIndex:i]==self)
{
 return i;
}
まぁ書き方は人それぞれじゃない?if分で実行したいのが1行だけなら上の書き方だと
1行だけで済んですっきりするって考え方の人もいると思うし。

410 :名称未設定:2010/12/19(日) 13:50:56 ID:NMMNSYZ1P
>>408
returnの前に一行追加しよう!というときに
ハマるので後者推奨。


411 :名称未設定:2010/12/19(日) 20:44:26 ID:hhDTUKSX0
起動した瞬間に落ちてしまう原因として考えられる事教えてください。
実行環境はiPhoneシミュレータです。

412 :名称未設定:2010/12/19(日) 20:55:19 ID:sJHDiCxP0
>>411
存在しないオブジェクトにアクセスとか。
デバッガ見ろよ。

413 :名称未設定:2010/12/19(日) 21:11:43 ID:ofiVjni/0
>>411
やる気が無い、かな

414 :名称未設定:2010/12/19(日) 21:51:14 ID:iKgq0k3D0
どうでもいいことかもしれませんが
メソッドのコメントは.h側に入れますか?.m側に入れますか?

415 :名称未設定:2010/12/19(日) 21:56:46 ID:4UU/hmWd0
>>414
両方。

416 :名称未設定:2010/12/19(日) 22:52:43 ID:sJHDiCxP0
>>414
メソッド名は見てわかる名前にしてあるから、ヘッダにコメントが必要にならない。

417 :名称未設定:2010/12/20(月) 14:45:36 ID:5s4PNDGA0
これからHelloWorldから始めようかってところですが

将来作ろうと思ってるアプリは外部DBを使うつもりなんだけど
例えばPostgreSQLやMySQLを使うとして
実機はともかく開発環境はどうすればいいんでしょ
MacにPostgreSQLとかインストールして
それを使えばいいんでしょうか
それともシミュレータでも他のサーバと通信できたりするんでしょうか

418 :名称未設定:2010/12/20(月) 14:51:09 ID:XnkOTMWB0
>>417
HelloWorldが出来るようになってから考えましょう。
上ばかり見て歩いていると、小石にもつまずくよ。

419 :名称未設定:2010/12/20(月) 14:53:02 ID:5s4PNDGA0
内部仕様は大体できてるんだもの
書き方わかればすぐ手を付けたいじゃない

420 :名称未設定:2010/12/20(月) 14:54:59 ID:5s4PNDGA0
内部仕様を要件に訂正しよう

421 :名称未設定:2010/12/20(月) 15:01:28 ID:XnkOTMWB0
典型的な途中で挫折するタイプだな。

422 :名称未設定:2010/12/20(月) 15:03:45 ID:oma8FKIM0
>>420
目指すものが具体的なのはいい事だ。
でも、情報収集まったくしてないだろw

423 :名称未設定:2010/12/20(月) 15:12:57 ID:5s4PNDGA0
情報収集はまだまだですね
いわゆるP言語しか触ったことないから
処理の流れとかはともかく
書き方は全然知らないところからスタートだし

ちょっと調べてMacにPostgreSQLをインストールできるってのはわかったけど
既存のDB使えたら楽だなって

424 :名称未設定:2010/12/20(月) 15:28:55 ID:oma8FKIM0
iOS SDKはSQL使えるはずだよ。
あとはNSMutableArrayかNSDictionaryかCの配列ってとこじゃないかな?
なんのデータベースかにもよるけど。

425 :名称未設定:2010/12/20(月) 15:41:24 ID:KpGv3w/uP
sqligt3は持ってる。ネットで使えるかは知らん。

426 :名称未設定:2010/12/20(月) 15:50:15 ID:5s4PNDGA0
じゃあやっぱり全部開発用マシン内でって感じなんですかね
その方向で進めてみます

427 : [―{}@{}@{}-] 名称未設定:2010/12/20(月) 16:25:03 ID:1lCiC92jP
別にマシン用意してlinuxでも入れてサーバー立ててもいいんじゃないかな

428 :名称未設定:2010/12/20(月) 17:56:41 ID:oma8FKIM0
サーバー側はなんでもいいよね。
iPhoneシミュレータが外部と通信できるかって事か。
できるんじゃない? 俺やったこと無いけどw

429 :名称未設定:2010/12/20(月) 18:31:39 ID:nGaKF/yD0
カメラの画像をAVCaptureSessionで取得してテクスチャとして使いたいのですが、
四角形のポリゴン一枚に貼っただけで処理落ちします。
カメラの画像はBGRAフォーマットでしか取得できず、テクスチャがRGBAでしか設定できないので
フォーマットの変換をfor文まわして行っています。
ARアプリを作る場合はOPENGLを使うのはあきらめるしかないんでしょうか?
OPENGL ESは1.1を使用しています。

430 :名称未設定:2010/12/21(火) 01:12:44 ID:AeBjtMtE0
iPhoneデベロッパー(iPhone Developer)のtwitterリスト
http://masorira.doorblog.jp/

431 :名称未設定:2010/12/21(火) 09:30:59 ID:bqsuNzPP0
>>429
shader使えば?

432 :名称未設定:2010/12/21(火) 11:14:49 ID:8govazna0
>>431
ありがとうございます。
OPENGL ES 2.0 を使用した方が良いと言うことでしょうか?

433 :391:2010/12/21(火) 17:39:14 ID:DHarLCyd0
レスくれた方ありがとうです。
なんか、メソッドを使わずに
ground.center = CGPointMake(ground.center.x,ground.center.y+10);

ground.x += 10;
みたいにできるのかな〜。う〜ん。できないな〜。やり方があるのかな〜。
とか思って質問してみました。
素直に前者のやり方でやっていきたいと思います<(_ _)>

434 :名称未設定:2010/12/21(火) 22:58:57 ID:peCPrOEw0
X-Codeで実機でデバッグする時に実機のDocumentsフォルダの中身を参照して編集することって出来ない?
なんかデバッグ中にいろいろゴミがたまってるので削除したいんだけど。

435 :名称未設定:2010/12/21(火) 23:12:53 ID:peCPrOEw0
自己解決。オーガナイザからダウンロードできるね。

436 :名称未設定:2010/12/22(水) 00:22:06 ID:XXLKygUH0
iPhoneアプリ用にレンタルサーバー使いたいんですが、お勧めとかありませんか?


437 :名称未設定:2010/12/22(水) 02:53:17 ID:klPQhiDE0
UIScrollViewにUIGraphicsBeginImageContextで200種類ぐらいの画像を合成して
(並べただけ)UIImageを作成してUIScrollViewにセットしているのですが、
画像を表示するまでに10秒近くかかります。

標準カメラアプリのCamera Rollのように高速でサムネル表示する方法はないでしょうか。

438 :名称未設定:2010/12/22(水) 02:57:20 ID:QxjFBSbm0
カメラロールは実際の画像とサムネ画像が使われている

439 :名称未設定:2010/12/22(水) 12:44:36 ID:IU2YyQXn0
あるボタンを押すとロード中のインジケータを表示して回転させて
ロードが終わったらインジケータを非表示にしたいのですが
インジケータが表示されません。


-(IBAction)load
{
indicator.hidden=NO;

画像ビューの表示

indicator.hidden=YES;
}

indicatorはIBOutletしてます。
indicator.hidden=YES;を消せばindicatorは表示されますが、画像ビューの表示が完了したときに表示されてしまいます。
画像ビューの読み込み開始とともに割り込んで表示させることは出来ないのでしょうか?

440 :名称未設定:2010/12/22(水) 13:04:51 ID:IU2YyQXn0
要は画像のロード中にnowloading的な意味でUIActibityIndicatorを使おうと思ってるのですが
なぜかうまくいかないんです。どうしたらうまくいきますでしょうか?

441 :名称未設定:2010/12/22(水) 13:16:12 ID:pVTS62Ka0
>>439
別スレッドで読み込む

442 :名称未設定:2010/12/22(水) 13:22:20 ID:IU2YyQXn0
>>441
ありがとうございます。とりあえず、別スレッドを作る方法がわからないので
調べてみます。

443 :名称未設定:2010/12/22(水) 13:35:51 ID:IU2YyQXn0
>>441
おおっうまくいったよ、ありがとう!!
ついでにマルチスレッドの使い方を覚える機会も与えてくれてありがとう!

444 :名称未設定:2010/12/22(水) 13:41:01 ID:iu+lhM/u0
>>439
画像ビューがどんなものかわからんけど、
画像ビューの読み込み終了のタイミングでindicatorを非表示にしないと。

445 :名称未設定:2010/12/22(水) 13:41:48 ID:iu+lhM/u0
すまん、解決済だったね。

446 :名称未設定:2010/12/22(水) 14:08:29 ID:C1hjOPGKP
UIScrollViewのドキュメントのzoomScaleプロパティのとこに
Available in iOS 3.0 and later.
って書いてあったんだけど、2.xのときは写真のズームできなかったんでしょうか???

447 :名称未設定:2010/12/22(水) 14:44:45 ID:IU2YyQXn0
-(UIImage *)getScreenShot
{
CGRect screenRect = [[UIScreen mainScreen] bounds];
UIGraphicsBeginImageContext(screenRect.size);

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

[self.view.layer renderInContext:ctx];

UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return img;
}
このプログラムで画面のスクリーンショットを撮っているのですが、
どうも画面内に多くの画像を持ったサブビューがいくつもある場合と
まったくない場合でキャプチャーにかかる時間が違うようです。
たぶん画像内の各要素を取り出して重ね合わせて一つの絵にしてる
ような気がするのですがこれをVRAM上の今表示してるデータから
持ってくるスクリーンキャプチャーのプログラムがありましたら
教えてください。

448 :名称未設定:2010/12/22(水) 15:43:34 ID:IU2YyQXn0
使い方がよくわからないけどUIGetScreenImage()でいけそう。

449 :名称未設定:2010/12/22(水) 16:15:11 ID:n8rNC/FJP
プライベートだよ

450 :名称未設定:2010/12/22(水) 16:43:14 ID:IU2YyQXn0
UIGetScreenImage()は過去に問題があって今は使えないらしい、残念。
他に本体のキャプチャみたいに高速で出来る方法内のかな。

451 :名称未設定:2010/12/22(水) 19:54:39 ID:Lsstj2KN0
ビデオ撮影と同じやり方をすればリジェクトされないよ。

452 :名称未設定:2010/12/23(木) 11:06:31 ID:gwKH/P310
メインのビューコントローラにあるconstで定義した定数を他のクラスでも使いたいのですが、
その為にはどうすればいいのでしょうか?今は定数をコピーして貼付けてそのままだと
エラーが出るので少し名前を変えてやってます。

453 :名称未設定:2010/12/23(木) 11:29:32 ID:94fz4/F+0
>>452
定数をヘッダに定義して必要なクラスにimportする

454 :名称未設定:2010/12/23(木) 11:49:04 ID:gwKH/P310
>>453
それで出来るんですね。ありがとうございます。

455 :名称未設定:2010/12/23(木) 13:16:52 ID:gwKH/P310
>>453
うまくいきました!ありがとうございます。

456 :名称未設定:2010/12/23(木) 17:07:49 ID:JMZYKAKh0
C++で書いたライブラリを使っているので、
プロジェクトのビルド設定で「コンパイルでのソースの解釈」を
Objective-C++にしています。

この状態でAdMobのSDKを組み込んでビルドすると、
CJSONDataSerializer.mで
Invalid conversion from 'const void*' to 'void*'
というエラーが出ます。

どう対処すればよいのでしょうか。

457 :名称未設定:2010/12/23(木) 17:22:58 ID:k51784ss0
const_cast<void *>

458 :名称未設定:2010/12/23(木) 18:08:44 ID:gwKH/P310
ページめくりアニメーションを以下コードで実行していますがこれを逆再生させる方法はないでしょうか?
CATransition *animation = [CATransition animation];
[animation setType:@"pageCurl"];
[animation setSubtype:@"fromRight"];
[animation setDuration:0.7f];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[animation setDelegate:self];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[[self.view layer] addAnimation:animation forKey: @"transitionViewAnimation"];
[CATransaction commit];

[animation setSubtype:@"fromRight"];をfromLeftにすれば左からめくるようになるのですが、この場合、めくる支点が画面の右側になってしまい
見栄えが良くないのです。なのでfromRightを逆再生ができればいいと思ってますがそんな方法ご存知でしたら教えてください。

459 :名称未設定:2010/12/24(金) 00:54:24 ID:W/nK7Z4d0
UIWebViewのエンコーディングがダメダメで困ってます。
HTMLのヘッダーでエンコーディングの指定をしていないページだと
ほぼ文字化けしてしまいます。

- (BOOL)webView: shouldStartLoadWithRequest: navigationType:
メソッドで無理矢理エンコーディングを指定して再読込みしてやることで
いくらかましになりましたが、FRAMEタグを使用しているページだと
親HTMLにエンコーディングを指定してやっても、FRAME内部は文字化け
したままで上手くいきません。解決策か別案をよろしくお願いします。

460 :名称未設定:2010/12/24(金) 07:35:12 ID:67RfCimY0
>>459
自分でブラウザを作る

461 :名称未設定:2010/12/24(金) 08:03:26 ID:/7w6P10bP
>>459
間違ったページを撲滅する。

462 :名称未設定:2010/12/24(金) 09:19:59 ID:ARLpc6vF0
David Arno からメールが来たらもうダメってことでFA?

463 :名称未設定:2010/12/24(金) 12:34:01 ID:avpvqSaN0
>>459
そのページへのアクセスを遮断する。

464 :名称未設定:2010/12/24(金) 12:38:45 ID:qGrfKy3X0
>>462
苦い思いでしか無い

465 :459:2010/12/24(金) 15:41:09 ID:W/nK7Z4d0
>>460
>>461
>>463

ありがとうございます。
「エンコーディングが不明です」等のメッセージ表示してごまかそうかなぁ・・

466 :名称未設定:2010/12/24(金) 16:09:44 ID:sosfWeyLP
大きな画像をタイルにして表示するアップルのサンプルあるけど、あのソースめっちゃ読みにくくない?
ほとんどプロパティでアクセスしてないし、変数名の付け方も反直感的でわかりにくい。理解するのに3日費やしたぞ。
というチラ裏失礼。

467 :名称未設定:2010/12/24(金) 16:19:04 ID:016b2c8S0
昔はプロパティがなかったから、とk

468 :名称未設定:2010/12/24(金) 16:36:28 ID:ARLpc6vF0
>>464
そうか、そうだよなあ。

David Arno 担当で 16.1 違反なんて言ってきやがった。
理由はそれ以上なし。
何をどうしたらいいか全然わからん。

一旦取り下げたら何とかなるのだろうか。

469 :名称未設定:2010/12/24(金) 16:45:11 ID:67RfCimY0
>>468
16.1って何だっけ?

470 :名称未設定:2010/12/24(金) 17:38:44 ID:6mDap4As0
16. 不快なコンテンツ

16.1: 過度に不快だったり下品なコンテンツはリジェクト。
16.2: ユーザーを不快にしたり怒らせることを主目的としてアプリはリジェクト

471 :名称未設定:2010/12/24(金) 17:52:00 ID:ARLpc6vF0
類似のアプリは今までいくつも通ってるんで、
いきなり 16.1 っていうのが信じられないんだよ。

David Arno が何らかのストレスを抱えていて、
その八つ当たりなんじゃないかと思えてくる。


472 :名称未設定:2010/12/24(金) 17:57:31 ID:lXbQ+Smi0
クリスマスが近いからじゃないのか

473 :名称未設定:2010/12/24(金) 17:58:50 ID:6mDap4As0
>>471
これ以上おならの音が出るピアノは要らないって言ってたが、それじゃないの?

474 :名称未設定:2010/12/24(金) 19:53:26 ID:qGrfKy3X0
>>471
うちはDavidにいちゃもんつけられた後、うちよりバリバリ当該項目を違反してるアプリが通ってるのを見てムカついた。
公に言えないリジェクト理由がある場合、別の部分で言いがかり付けてきたり。

475 :名称未設定:2010/12/24(金) 20:46:04 ID:guxLbqJF0
>>474
>公に言えないリジェクト理由

ぜひ詳しく教えて欲しい

476 :名称未設定:2010/12/24(金) 21:02:23 ID:6mDap4As0
リジェクトって、やっぱエロ系に集中してんのかな。

477 :名称未設定:2010/12/24(金) 21:24:07 ID:016b2c8S0
Appleが出しているハードウェアやソフトウェアや規格と競合するようなもの、だな。

478 :名称未設定:2010/12/24(金) 22:13:28 ID:yzk2DO7h0
なんて粉かってきたの???
ホットケーキ?_??


479 :名称未設定:2010/12/25(土) 00:26:20 ID:dFSoJp4U0
NSArrayから、それに入っているオブジェクトの、あるプロパティ(NSString *)が@"hoge"と等しいオブジェクトだけをNSArrayとして取得したいのですが何かスマートな方法はありますか?

480 :名称未設定:2010/12/25(土) 00:36:01 ID:Wr/r2bBI0
>>479
工夫の余地はあるだろうけど、
forループで回すのが結果的に一番スマートだと思う。

481 :名称未設定:2010/12/25(土) 00:55:16 ID:vFCuZLAe0
他の実装はあるけど内部処理はループだろうから、なやむひつようはないよ。
Sql使っているなら別だけど

482 :名称未設定:2010/12/25(土) 01:17:48 ID:uXyiR3RJP
ナビゲーションコントローラー使用時に
self.navigationController.toolbar.hidden = NO;
でツールバーの表示ができると思うのですが、表示されません。

何か考えられる原因があれば教えて下さい。





483 :482:2010/12/25(土) 01:37:59 ID:uXyiR3RJP
解決しました。
self.navigationController.toolbarHidden = NO;
ですね。お恥ずかしい...。


484 :名称未設定:2010/12/25(土) 04:38:53 ID:zOHj/HmM0
>>479 NSPredicate

485 :名称未設定:2010/12/25(土) 04:40:29 ID:BUptFmMB0
In App Purchaseのsandbox環境で
「支払リクエストはStore KitのdidReceiveResponse メソッド経由で有効を返された製品のみに限定されます。」
と出るエラーで困ってます。

解決策ご存知の方、教えてください。

486 :名称未設定:2010/12/25(土) 07:16:07 ID:YMjGclE50
>>479
ブロック構文あたり使うとスマート、というか今っぽいのでは?
今のiOS上では却って遅くなう。

487 :名称未設定:2010/12/25(土) 11:23:07 ID:WVVK/wuy0
>>479
NSPredicateを使って
filterdArrayUsingPredicate:

488 :479:2010/12/25(土) 11:24:39 ID:dFSoJp4U0
>>480
>>481
>>484
>>486
NSPredicate&block構文,使ったことないので調べてみます。
単純ループのほうが良さそうだったら,そっちでやってみます。

ありがとうございました。

489 :479:2010/12/25(土) 11:25:37 ID:dFSoJp4U0
>>487

すみません更新忘れてて気づきませんでした。
まさにそれがやりたいことみたいです。どうもありがとうございました!

490 :471:2010/12/25(土) 12:29:05 ID:2U1q0sTY0
アプリ申請を一旦取り下げて、新しいAppID作って提出し直した。
これで通る、もしくは 16.1 以外の理由が来たら、
David Arno は完全に主観のみで審査してるってことだ。



491 :名称未設定:2010/12/25(土) 12:42:12 ID:Sa6kCv6g0
>>490
通った場合はアプリ名を教えて頂けるとありがたい。

492 :名称未設定:2010/12/25(土) 13:25:26 ID:28M3qaso0
報告楽しみにしてる。
期限付きの仕事だとそういう試みができないからね。

493 :名称未設定:2010/12/25(土) 14:03:19 ID:THhlLNO10
iPhoneにプリインストールされているiPodアプリで、再生画面でシャッフルをONにすると
現在再生中の楽曲がシャッフルされたプレイリストの1曲目になりますが、これはどうやれば実現できるでしょうか?

現状の手元のプログラムじゃ、「player.shuffleMode = MPMusicShuffleModeSongs;」としたら、
再生中の楽曲を含めて完全ランダムにシャッフルされて、再生中の楽曲がシャッフルされたリストの最後だった場合、
(リピートがオフなら)それを終えると停止してしまいます。

494 :名称未設定:2010/12/25(土) 16:16:52 ID:jteuHsKbP
>>476
半分以上クラッシュバグと機能不全らしいぞ。
App Storeの説明の通り動かない。

>>485
直前にProductRequestが必要。

495 :名称未設定:2010/12/25(土) 17:31:53 ID:CKdwDVwm0
少人数のグループで開発をしています。

メンバーが持っている実機のOS(4.2.1)よりも古い環境での動作確認を
したい場合、皆様でしたら、どのような手段をとられますか?

手持ちの実機(4.2.1)での動作確認がされていれば、あとはシミュレーター
のOS設定(4.0.2)での基本動作確認(起動と基本操作)で検証内容は十分でしょうか?

496 :名称未設定:2010/12/25(土) 19:01:59 ID:jteuHsKbP
クレーム対処出来ないから、4.2.1以降にすれば?

497 :名称未設定:2010/12/25(土) 19:21:31 ID:pRjJAPlcP
「旧バージョン、みんなで切り捨てれば怖くない。」

来年の標語な。

498 :名称未設定:2010/12/25(土) 19:34:39 ID:ZBZTLquD0
Cocos2dというテンプレートでブロック崩しを作っています。
ロードするたびにランダムにいろんな色のブロックが配置されるようにしたいのですが、
CCSprite *Block[8];
Block[0] = [[CCSprite alloc] initWithFile:@"Blue2.gif"];
Block[1] = [[CCSprite alloc] initWithFile:@"Orange2.gif"];
Block[2] = [[CCSprite alloc] initWithFile:@"Cyan2.gif"];
Block[3] = [[CCSprite alloc] initWithFile:@"Green2.gif"];
Block[4] = [[CCSprite alloc] initWithFile:@"Magenta2.gif"];
Block[5] = [[CCSprite alloc] initWithFile:@"Purple2.gif"];
Block[6] = [[CCSprite alloc] initWithFile:@"Red2.gif"];
Block[7] = [[CCSprite alloc] initWithFile:@"Yellow2.gif"];
int k = 0;
int partern[16][8];
for (int i = 0; i < 16; i++) {
for (int j = 0; j < 8; j++) {
partern[i][j] = (int)random() % 10;
if (partern[i][j] == 1) {
k = (int)random() % 8;
[self addChild:Block[k]];
Block[k].position = ccp(10 * i ,10 * j);
}

}
}
のようにすると、コンパイルは通るのですが、アプリを起動した瞬間に(シミュレータ)落ちてしまいます。使い方はよくわからないのですが、ビルドとデバッグをしてみたところ、XCodeウィンドウの左下にこんなメッセージが書いてありました。
GDB:プログラムはシグナルを受信しました:"SIGABRT"。
プログラムのロジックはあっていると思うのですが、原因は何でしょう。
そしてこのメッセージは何を意味しているのでしょうか。
開発経験がないため、どのように解決していいかわかりません。デバッガの使い方もよくわかりません。objective-cはネットでちょっと勉強したくらいです。どなたか教えてください。


499 :名称未設定:2010/12/25(土) 20:36:35 ID:28M3qaso0
>>497
ちょっとゴロが悪いな

500 :名称未設定:2010/12/25(土) 21:59:21 ID:zOHj/HmM0
>>498
ttp://oshiete.goo.ne.jp/qa/3772731.html

コード全部さらさんとダメだな。

501 :名称未設定:2010/12/25(土) 22:08:26 ID:8WATDGeU0
>>494
有難うございます、やってみます。

502 :名称未設定:2010/12/25(土) 23:07:48 ID:Sa6kCv6g0
>>498
ビルドするときにwarningは出てないかい?
SIGABRTだけでは原因は特定しにくいよ。
まあ、良くないアドレスを呼びだそうとしたとか…そんな感じ。

どこか書き方を間違えていると思う。
例えばselfとself.viewの違いとか…俺もよくやらかす。

503 :495:2010/12/26(日) 01:42:30 ID:YDlL/10g0
>>496
ありがとうございました。
対応はしたいので、とりあえず、ヤフオクで旧OSの出品物を探そうと思います。

504 :名称未設定:2010/12/26(日) 13:12:29 ID:A2i82+sw0
>>503
ダウングレードできる方法もあるようですが、どうでしょう?

505 :名称未設定:2010/12/26(日) 15:43:10 ID:YDlL/10g0
>>504
なるほど。ありがとうございます。

ただ、失敗したときが怖そうなのでダウングレードするにしても
もう1個もってた方がいいかな、と思っています。

しかし、ヤフオクの出品者に質問してみると、4.2.1アップグレード済みの
人がほとんどですね。

iOS各バージョンの普及率とかAppleが発表してくれれば最新だけで
いいかどうかを判断できるんですが。

506 :名称未設定:2010/12/26(日) 15:49:47 ID:rxFrCFaP0
>>505
OSシェアは広告会社が発表してるよ。

507 :498:2010/12/26(日) 16:30:36 ID:8IzPEG+u0
>>500 ここにコード全部張ってしまっていいんでしょうか?相当な量になりますが。
>>502 warningは出ていませんでした。

ちなみに、iを16回まわしていますが(ブロックの大きさが20*20なので。)、
これを4回まわすようにしたところ、落ちませんでした。
でもfor (int i = 0; i<5; i++) {}
とiを5回まわすと落ちます。
4回以下は落ちずに、5回以上まわすと落ちます。
これはいったいどういうことなんでしょうか。
4回が、シミュレータが耐えられるぎりぎりの計算量ってことなんでしょうか?
こういうような実験結果からみなさんはどのような推測をしますか?


508 :名称未設定:2010/12/26(日) 16:38:35 ID:sAFs81WL0
>>507
>ぎりぎりの計算量
んなこたあない。

509 :名称未設定:2010/12/26(日) 17:07:14 ID:R5Oc5OVX0
>>507
Cocos2dはちょっとわからんのだけど、
何がしたいコードなのかもようわからん。
ブロックを8個しか生成してないのにそれ以上出そうとしてないか?

510 :498:2010/12/26(日) 17:30:37 ID:8IzPEG+u0
>>508
計算量でいえば2重ループだからO(n^2)ですよね。これに耐えうる性能はあるのですか?
iphoneは。

>>509
やりたいことは、ランダムにカラフルなブロックを配置したいのです。
ブロックは8種類(8色)ですが,当然それ以上ブロックを出そうと思っています。
20*20のブロックなんで、画面にフルで敷き詰めるとしたら、384個ブロックが生成されると思います。でもそれじゃあ面白くないので、random()って関数つかって乱数を生成し、
それを10で割ったあまり(0~9)のなかで1が出たら(つまり確率1/10)そのでたところに配置するって感じです。
positionのところはとりあえず画面にブロックが配置されればいいので適当にしたんであんまり気にしないでください。


511 :名称未設定:2010/12/26(日) 17:41:54 ID:R5Oc5OVX0
>>510
だったらブロックを384個生成しないと駄目なんじゃないの?

512 :498:2010/12/26(日) 18:17:11 ID:8IzPEG+u0
>>511
C#&Silverlightで同じアプリ作ったときはこんな感じのコードでよかったんですが、
Objective-Cでは事情が違うのでしょうか。
ブロックの生成は、[self addChild:Block[k]];ではだめなんですか?
最大,16*8個(ループ回数)のブロックが生成されると思うのですが(画面全体に敷き詰める訳ではない)。

513 :名称未設定:2010/12/26(日) 18:18:27 ID:vZtRgRlA0
>>498
同じBlock[k]を複数回addChildしてるのが駄目なんじゃないの?
コピーっていうかインスタンス作って渡さないと一つしかObjectがないから
このコードだとうまく動いても8個しかブロック出ないよ?

514 :名称未設定:2010/12/26(日) 18:21:37 ID:gT3zU7Sp0
質問です。
画像を3列×複数行で一覧表示させたいのですが、
一般的にはどのコントロールを使用して行うのが良いのでしょうか?

ZOZOTOWNのアプリの商品を選ぶ部分のようなイメージです。
画像一覧からクリックされたらさらに詳細画面に入るようにしたいです。

よろしくお願いします。

515 :498:2010/12/26(日) 18:25:14 ID:8IzPEG+u0
>>513

上書きされてしまうということでしょうか?
ちょっとよくわかりません。コピーつくって渡すためにはどうすればいいのでしょうか?
また、8個しかブロックができない理由もわかりません。


516 :名称未設定:2010/12/26(日) 18:32:00 ID:vZtRgRlA0
Block[k].position = ccp(10 * i ,10 * j);
この時点で古いBlock[k]の位置が上書きされてる
i<4で落ちないのはたまたま上書きされてない(addChildが一回目だけ)から
srandはしてる?
k=8じゃなくてBlock[384]にしてそのたびインスタンス生成

517 :498:2010/12/26(日) 18:46:13 ID:8IzPEG+u0
>>516

srandとはなんですか? していません。
なんとなくわかってきました
じゃあif ()の中をこんなかんじにすればいいのですか?
CCSprite *tmpBlock = Block[k]の情報;
[self addChild:tmpBlock];
tmpBlock.position = ccp(10 * i, 10 * j);
tmpBlockの情報を破棄

でもBlock[k]の情報をtmpBlockにコピーする方法がわかりません(上では代入っぽくしていますが)。




518 :名称未設定:2010/12/26(日) 21:10:17 ID:+oqa1sDa0
>>516
いきなり、自分の身の丈にあっていない規模のゲームつくるより、
もっと小さな題材を作って、経験を積んでから、やりたいゲームつくってみては?
ゲームを作るならもっと基礎部分を固めてから挑戦したほうがいいと思うよ。

srandとかなんですか?なんて調べればすぐに分かる、C言語の基礎ちゃんと覚えないとだめだよ。
Cocos2dは、質問しないでも自力で調べる人向けの簡易グラフィックライブラリーだと思う。
ブロックとインスタンスが〜なんて悩んでるなら、OpenglESを直にさわったほうが、
すっきりするんじゃないかなぁ?
2Dテクスチャーを並べるだけなら、そんなに難しくないよ。


519 :名称未設定:2010/12/26(日) 21:11:54 ID:+oqa1sDa0
516ごめん、>>498でした。

520 :名称未設定:2010/12/26(日) 21:17:38 ID:R5Oc5OVX0
>>517
コピーなんかしても駄目。
インスタンスが8個しかないから8個のブロックしか出なくて、エラーになってると思う。
表示する分のブロックをallocしろ。

521 :名称未設定:2010/12/26(日) 21:36:58 ID:+oqa1sDa0
こんなんでいいんじゃね?
GLuint BlockTex[8]; // 初期時、テクスチャーを読み込んであるものとする
int blockPtn[8][16];// 0..空とする 1〜..ブロック(色は自動生成)
void blockInit(){
srand((unsigned) time(NULL));
for(int y=0;y<8;y++)for(int x=0;x<16;x++){if((int)(random()%10)==1) partern[y][x]=random()%8;}
}
// x,yにブロック用2dテクスチャーを表示する関数,width,height,u.v.u2,v2はブロックの仕様にあわせる(自分でつくってね)
void drawTexBlock(int x,int y,GLuint tex);
// ブロックをまとめて描画する
void blockDraw(){for(int y=0;y<8;y++)for(int x=0;x<16;x++){drawTexBlock(x*10,y*10,blockPtn[y][x]);}}


522 :名称未設定:2010/12/26(日) 21:51:51 ID:JSpyNEKZ0
君たち親切だな〜。暇なのか。

523 :名称未設定:2010/12/26(日) 22:35:23 ID:zaT2zn/Q0
>>517
[self addChild:[[Block[k] copy] autorelease]];
コピーはずばりcopyだ。動くかは知らない。

524 :ブロック崩しマン:2010/12/27(月) 00:25:10 ID:W7cbmHUh0
ちょっと分からないことが多すぎるので
翻訳されたiOSのドキュメントを熟読して出直してきます。すみませんでした。

525 :名称未設定:2010/12/27(月) 00:54:57 ID:h2tPanPs0
ブロック崩しマンって

526 :ブロック崩しマン:2010/12/27(月) 02:47:38 ID:W7cbmHUh0
iOSのドキュメント読むのめんどくさかったんで、やっぱり考えました。
CCSprite *BlockNew[128];
srand(time(NULL));
int m = 0;
for (int i = 0; i < 16; i++) {
for (int j = 0; j < 8; j++) {
int k = rand() % 10;
if (k == 1) {
int l = rand() % 8;
BlockNew[m] = [CCSprite spriteWithTexture:[Block[l] texture]];
[self addChild:BlockNew[m]];
BlockNew[m].position = ccp(j * 20, i * 20);
}
m++;
}
}
のようにしたら成功しました。ありがとうございました。

527 :名称未設定:2010/12/27(月) 04:15:38 ID:BQv56GjAP
リアル厨房の(゚∀゚)ヨカーン

528 :名称未設定:2010/12/27(月) 11:30:04 ID:OejZvE2V0
会社で依頼されたアプリは何度も出してるんだが、
自分で作りたくて作ったアプリはいざ提出しようとすると、
「あ、これもこうしたほうがいいな」「ここもこうしたいな」とか出てきて、
ちっとも提出できない罠。クリスマス休暇開けが目標だったのに。

529 :名称未設定:2010/12/27(月) 12:17:18 ID:Xa3B5EKU0
つ チラシの裏

530 :名称未設定:2010/12/27(月) 17:25:15 ID:Z082Nip70
いいじゃない、2chだもの

531 :名称未設定:2010/12/27(月) 17:43:03 ID:7KNYf9Hz0
>>528
それくらい仕事も頑張ればいいのに…。

532 :名称未設定:2010/12/27(月) 18:04:16 ID:Z082Nip70
仕事だと創意工夫してより良いものを作りたくても上やお客さんに意見が通らなかったりしてはがゆいよね

533 :ブロック崩しマン:2010/12/27(月) 20:18:45 ID:W7cbmHUh0
たびたびすみません。
ブロックの配置等初期化等は終わったのですが(initの中にかいた)、
実際の処理はどこに書けばいいのでしょう。
また、プログラムをトレースしてみてもこのinitがどこから呼ばれているのかわかりません。
(このinitはNSObject→CCNode→CCLayer→BlockKuzushiLayer (→:継承関係)のBlockKuzushiLayerのメソッド)
そういうのを知る手段というのはあるのでしょうか?
cocos2dではmainの中に
int retVal = UIApplicationMain(argc, argv, nil, @"BlockKuzushiAppDelegate");
とあって、これがおそらくBlockKuzushiAppDelegateをよんでるんだと思います。
んで、BlockKuzushiAppDelegate.mの中をみてみると、
- (void) applicationDidFinishLaunching:(UIApplication*)application
とあって、たぶんこれがアプリが起動したときに最初に呼ばれるものだと思います。
その中の最後の方に、
[[CCDirector sharedDirector] runWithScene: [BlockKuzushiLayer scene]];
とあってこれが、runって言葉があるくらいだし、動かすためのメソッドだと思うんです。
そんで引数のBlockKuzushiLayerクラスにいってみると、
暮らすメソッドのscene
インスタンスメソッドのinit
インスタンスメソッドdealloc
とあります。
この前質問したコードはこのinitの中に書きました。そんで実際画面に
ブロックが配置されている訳ですが配置されているということはどっかからinitが呼ばれているはずなんですが、どこから呼ばれているかわかりません。
また、ブロックと衝突して、消して・・・などといった処理はどこに書けばいいのでしょうか?
どなたか教えてください。



534 :名称未設定:2010/12/27(月) 20:47:02 ID:GnbK+XAO0
ちゃんと勉強した方がいいよ

535 :名称未設定:2010/12/27(月) 21:56:22 ID:OejZvE2V0
>どっかからinitが呼ばれているはずなんですが、どこから呼ばれているかわかりません。
そーいう時はそこにブレークポイント設定して、デバッグ実行。

536 :名称未設定:2010/12/27(月) 21:58:39 ID:OejZvE2V0
>>532
意見が通らないことはないと思うけど、結局仕様書ありき、だから、
そこからの創意工夫と納期を天秤にかけて採用しないことが多いというか。
UIの見た目でも工数少ないけど効果見込めるのは実装するけど、細かいところまでは仕事だとなかなか。

537 :名称未設定:2010/12/27(月) 23:04:04 ID:7KNYf9Hz0
>>533
iPhoneのゲーム系のプログラミングの本読めば、ブロック崩しを完成させるくらいのことは書いてあるんだし、
まず基礎を勉強したほうがいいよ。
ピンポイントな質問なら答えてあげられるけど、今の状態では答えようがない。

538 :ブロック崩しマン:2010/12/27(月) 23:44:15 ID:W7cbmHUh0
>>535

デバッガというのを使ったことがありませんでした。
目で追わなくてもトレースできるんですね。知りませんでした。
これは便利ですね!

>>534 >>537
よろしければ、iPhoneのゲーム系のプログラミングの本でおすすめ教えていただけませんか?

539 :名称未設定:2010/12/27(月) 23:55:12 ID:Z082Nip70
読破するまでここで質問しないという条件付きで教えてあげてもいいが

540 :名称未設定:2010/12/27(月) 23:56:28 ID:h2tPanPs0
テンプレくらい読めって話だけどな。

541 :ブロック崩しマン:2010/12/27(月) 23:57:11 ID:W7cbmHUh0
ほんの内容で意味不明なことがあっても質問だめですか?

542 :名称未設定:2010/12/28(火) 00:26:02 ID:ivHUMZvk0
駄目かどうか自分で考えてみろよ。

543 :名称未設定:2010/12/28(火) 02:10:14 ID:bcRHJfw10
勉強の仕方、ってのを勉強し直す必要があるのかもね


544 :名称未設定:2010/12/28(火) 04:58:09 ID:SdpTkJVYP
リアル消防の(゚∀゚)ヨカーン

545 :名称未設定:2010/12/28(火) 10:29:38 ID:QtlV3ZmsP
塩の味を知らない人に、塩の味を説明する事は出来ないんだ。
君もコンパイラとデバッガと本と格闘して苦い目に合えば、
塩の味がわかるよ。

546 :名称未設定:2010/12/28(火) 10:57:02 ID:PH7lzIXW0
うーん、コンパイラとデバッガをしっかり理解するにはobjective-cは返って遠回りな気がする。
最低限のライブラリを使ったc,c++が分かりやすいんじゃないかな?
そもそも、メモリの開放に自動があったり、至れり尽くせりのクラスがあったらコンパイラの基礎は学ばなくてもなんとかなりそう。
c,c++からプログラムに入る人も入れば、basicから入る人も居るわけで、壁にぶつかったら0から学ぶは時代遅れ感があるなぁ。
で、
>>533
この文章は読みたくねーなww

547 :名称未設定:2010/12/28(火) 11:10:56 ID:iqz9wSr90
盛り上がってるところすみません

.pspxの中のテキストを抜き出したいのですが
.pspxってどうやったら中身見れるのですか?
ググっても出てきません
どなたかご教授いただけないでしょうか?

548 :名称未設定:2010/12/28(火) 11:30:02 ID:ivHUMZvk0
pspxって何だよ

549 :名称未設定:2010/12/28(火) 11:57:07 ID:iqz9wSr90
俺もわかんないんすけど
何回確認しても
pspxって拡張子なんですよ
ググっても出てこないし…・゚・(ノД`;)

550 :名称未設定:2010/12/28(火) 12:25:11 ID:ivHUMZvk0
>>549
だからそのファイルは何なんだよ?
どうせ違法ダウンロードしたゲームのバイナリあたりだろ。

551 :名称未設定:2010/12/28(火) 12:42:28 ID:iqz9wSr90
違いますよ!

ちゃんと
iTunes でお金払ってDLした
アプリですよ

中身のテキストデータを抽出したいだけなんです


552 :名称未設定:2010/12/28(火) 12:47:40 ID:0Dp8QYrs0
>>551
ブツが違法じゃなくて、やろうとしてることが違法かもしれないだけか。

553 :名称未設定:2010/12/28(火) 12:49:20 ID:iqz9wSr90
自分で買ったもを自分で消化するだけなんで
違法ではないと思いますけど

規約には違反してるかも…ですね

どうか教えてください!

554 :名称未設定:2010/12/28(火) 13:11:10 ID:lbSzS8xw0
コンピュータというものは0と1で表現される
中身を0と1で表示するものを使えばOK
あとはわかるな

555 :名称未設定:2010/12/28(火) 13:14:23 ID:ivHUMZvk0
>>553
そこまで自分が正しいと言い切るならメーカーに解析方法を問い合わせてみろよ。

ブロック崩し野郎といい、冬休みに入って年齢層が急激に下がったな。

556 :名称未設定:2010/12/28(火) 13:34:47 ID:bcRHJfw10
「リバースエンジニアリング禁止」という常識もないようだし

557 :名称未設定:2010/12/28(火) 13:37:34 ID:bcRHJfw10
あ、どっちにも取れるな、まずい
「リバースエンジニアリング禁止」という常識を、ID:iqz9wSr90は持ってないようだと言う事。

良い子の諸君、リバースエンジニアリングは禁止だぞ。

558 :名称未設定:2010/12/28(火) 15:34:40 ID:bBvdlNPO0
>>553
違反「かも」じゃないから。
ttp://www.apple.com/legal/itunes/jp/terms.html
お客様は、理由を問わず、利用ルールに関連するセキュリティ技術のいかなる部分についても、
侵害、回避、リバースエンジニアリング、逆コンパイル、逆アセンブルその他の改ざんを
行わないことに同意するものとし、
【さらに、第三者がこれらを行うことを教唆または幇助しないことに同意するものとします。】

という訳で、人に聞いても教えてもらえないと思った方がいい。

559 :名称未設定:2010/12/28(火) 15:41:32 ID:q2GltMBD0
テキストデータの抽出が改ざんになるかは微妙なところだがな。

560 :名称未設定:2010/12/28(火) 15:53:53 ID:bBvdlNPO0
>>559
ええーっ・・・
斜め読み過ぎだろ・・・

561 :名称未設定:2010/12/28(火) 16:00:27 ID:lhaU1az70
>>559
誰も「改ざん」について話題にしてないだろ。

562 :名称未設定:2010/12/28(火) 17:48:19 ID:GBTY6X1f0
>>553
お前が買ったのはソフトの通常目的での使用権のみ。

563 :名称未設定:2010/12/28(火) 18:08:37 ID:0Dp8QYrs0
まあ、メーカーが万一教えたり許可したら違法じゃないんで「かも」としたわけだが。

564 :名称未設定:2010/12/28(火) 20:03:27 ID:Chu3g2Qu0
ID:iqz9wSr90ってパクリアプリばかり作って世間を騒がしてるチャンコロじゃね?

565 :名称未設定:2010/12/29(水) 10:15:27 ID:atkdrfoe0
同じバイナリのまま自分でサインして提出すればいいんじゃね?

566 :名称未設定:2010/12/29(水) 14:42:20 ID:F15zNPa/0
アフィン変換がうまくいきいません。

UIImage* player = [UIImage imageNamed:@"player.png"];
UIImageview* playerimage = [[UIImageview alloc] initWith1Image:player];
[self.view addSubview:playerimage];
playerimage.frame = CGRectMake(100, 100);

...

CGAffineTransform move = CGAffineTransformMakeTranslation(20, 20);
playerimage.transform = move;

としたのですが最後の行で強制終了してしまいます。
どうすればうまくいきますか。

567 :名称未設定:2010/12/29(水) 15:00:30 ID:A2s3Urr40
>>566
最後の行を削除すれば落ちないんじゃね?

568 :名称未設定:2010/12/29(水) 15:09:51 ID:TW4aAg0/0
サファリの機能で、「ホーム画面に追加」というのが有りますが、Webページ上に同等のボタンを配置することは可能でしょうか?


昔流行った「お気に入りに追加」ボタンのように。





569 :名称未設定:2010/12/29(水) 15:14:55 ID:LHEHsGY10
>>566
ちゃんとsetTransform:というメソッドを使わないと・・

[playerimage setTransform:move];

570 :566:2010/12/29(水) 16:02:58 ID:F15zNPa/0
できたといえばできたのですが...
画像を表示する部分と、アフィン変換を行う部分が
違うメソッドだと落ちるみたいです。
同じメソッド内で行うと正常に動いたので。
初心者の自分にはよくわかりません。

571 :名称未設定:2010/12/29(水) 16:30:05 ID:LHEHsGY10
>>570
詳しい状況はわからんけど、メソッド外で落ちる場合はautoreleaseというものが関係している可能性がある。
os側で勝手にreleaseされちゃう。
allocとかretainとかに詳しくなると色々できるようになるけどね。

572 :566:2010/12/29(水) 16:47:54 ID:F15zNPa/0
autoreleaseですか。
外で定義してグローバル変数的に扱えば、
そんなことにはならないと思っていたのですが...
もっとよく勉強して試行錯誤してみます。
ありがとうございます。

573 :名称未設定:2010/12/29(水) 18:29:53 ID:CDPQ6la60
>>566
まさかとは思うけど initWith1Image なんてメソッド呼び出してないよな?転記ミスだよな?そうだと言ってくれ・・・

574 :名称未設定:2010/12/29(水) 19:01:05 ID:IeLg5thH0
UINavigationContollerに追加したUITableViewController内で,
self.navigationController.toolbar.barStyle = UIBarStyleBlack;
とすると,toolbarが表示されなくなってしまうのですが,
どなたか解決策ご存じないでしょうか?
iOS SDK 4.2です。

575 :名称未設定:2010/12/29(水) 19:57:02 ID:higLarF80
オライリーのiPhone/iPadゲーム開発ガイド使ったひといる??

試してみたんだけど、参考書には欠片みたいなソースしかないし、ディスクもついてない。
公式サイトでサンプルソースを落としてみたら解説文とまるきり違うときたもんだ。。。
しかもサンプルコードは起動せず、あるいはクラッシュ・・・。
なんなんだいったい

576 :名称未設定:2010/12/29(水) 20:04:31 ID:TT+4vj6h0
>>575
図書館で借りたがまだ読んでないや。
みてみよ。

577 :名称未設定:2010/12/29(水) 20:06:44 ID:higLarF80
>>576
(・∀・)人('A~)ナカーマ
ちなみに、サンプルソースはchapter3からまともに動かない。
そっからようやくゲームのフレームワーク構築っていう肝の段階なのに・・・




578 :名称未設定:2010/12/29(水) 20:33:52 ID:TT+4vj6h0
>>577
ほほう。明日から読んでみよ。
ちなみにサイトに誤記訂正情報とかなかった?

579 :名称未設定:2010/12/29(水) 20:45:21 ID:higLarF80
>>578
正誤情報 : 今のところありません

(#^ω^)・・・

参考書どおりにやると、66ページまでうまくいくから気をつけてね^^
そっから先はソースの部分解説しかないよー

580 :名称未設定:2010/12/29(水) 23:39:10 ID:aF95LaWb0
あの本はあの人が書いてるから・・・

581 :名称未設定:2010/12/30(木) 01:23:39 ID:/ZrEVI3g0
メモリ管理に関して質問です。現在IBなしで簡単なスクロールビューのテストプログラムを作成しており、コントローラー定義ファイルのloadViewメソッドが下記コードです。コントローラーのinitやdeallocはデフォルトのままです。
このメソッドの最後でself.viewのretainCountを見てみると5になっているようです。
このコードに関してメモリ管理の不備等があれば、ご指摘いただけると幸いです。よろしくお願いします。
- (void)loadView {
self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];

lblEvent = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 310, 90)];
〜lblEventの設定省略〜

viewStatus = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)];
viewStatus.backgroundColor = [UIColor colorWithRed:0.5f green:0.5f blue:0.5f alpha:1.0f];
[viewStatus addSubview:lblEvent];
[lblEvent release];

Btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
〜Btn1の設定省略〜

ScObjV1 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 960)];
ScObjV1.backgroundColor = [UIColor colorWithRed:0.25f green:0.25f blue:0.25f alpha:1.0f];
[ScObjV1 addSubview:Btn1];

SV1 = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 100, 320, 360)];
〜SV1の設定省略〜
[SV1 addSubview:ScObjV1];
[ScObjV1 release];

[self.view addSubview:viewStatus];
[self.view addSubview:SV1];
[viewStatus release];
[SV1 release];
}

582 :名称未設定:2010/12/30(木) 03:22:05 ID:fQCz75PN0
>>581
素直に、IBつかったら?使わないと行けないシビアなことでもするの?

583 :名称未設定:2010/12/30(木) 04:10:56 ID:zE0O43uU0
UIImageViewで表示した画像の優先度というか、上下関係を決めることはできますか?
何もしなければ新しい順に上層だと思うのですが、自分で制御する方法はないでしょうか。

584 :名称未設定:2010/12/30(木) 09:37:59 ID:bNtPD0q90
>>583
ある。

585 :名称未設定:2010/12/30(木) 10:45:00 ID:WXLd/2a10
[self.customWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.co.jp"]]];
このURLWithString:@"http://www.google.co.jpの部分にsqliteのデータベースに保存されたurlを投入してサイトの表示をしたいのですが、可能でしょうか?

586 :名称未設定:2010/12/30(木) 10:55:22 ID:BnsPoD4xP
アレな質問が急に増えたのは冬休みってやつか。

587 :名称未設定:2010/12/30(木) 13:12:56 ID:IpnBb7kRP
>>581
alloc〜initXXXの組を使って初期化する場合、後でreleaseせずに、初期化した段階で
autoreleaseを呼んで自動解放するようにした方がいいと思う。

後、retainカウントはあくまで目安なんで、Instrumentsで使用状況をモニターした方がいいと思う。


588 :名称未設定:2010/12/30(木) 14:11:03 ID:ijqCkLZ90
29日以降ready for saleになった人いる?

589 :名称未設定:2010/12/30(木) 14:11:22 ID:cmaFVDrM0
ざっと見間違ってないよ。ただやっぱりその場でautoreleaseしちゃうのがラクかと。
self.view自体の参照カウンタはaddsubviewしただけでも増えるし、
アニメーションのために裏からもretainされるのでそんなもんだと思う。

590 :名称未設定:2010/12/30(木) 14:13:43 ID:cmaFVDrM0
>>585
ふつーにsqliteから読み出したstringを渡せばいいのでは? [NSString stringWithUTF8String: ]とかで迷ってるのか?

591 :名称未設定:2010/12/30(木) 14:16:14 ID:cmaFVDrM0
>>587
Instrumentsのleaksって正常に報告してくれないことない?裏スレッドでメモリリークあるやつだったのに
報告してくれなかった。(裏スレッドはメインループあり)
NSAutoreleasePoolを自前で作成するようなのはだめなんだろうか。

592 :名称未設定:2010/12/30(木) 14:20:02 ID:cmaFVDrM0
>>583
insertSubView:atIndex:とか見れ。

593 :585:2010/12/30(木) 14:49:28 ID:WXLd/2a10
http://efreedom.com/Question/1-3787178/NSURL-Code-Display-Image-Sqlite-Table
>>590
これみたら解決しました。
どもです。


594 :名称未設定:2010/12/30(木) 16:39:01 ID:/ZrEVI3g0
>>587, >>589
ありがとうございます。autorelease使った方がいいみたいですね。
確かにretainCountはNSLogに出力するためにgetter呼ぶだけでretainされてしまったりするのでInstrumentsで詳しく調べてみようと思います。


595 :名称未設定:2010/12/30(木) 18:10:44 ID:wHkFY2j+0
>>588
29日になったよ

596 :名称未設定:2010/12/31(金) 00:20:08 ID:pW2JAPVz0
>>594

やっぱコーディング時点できちんと解放が一番。チラシ裏だけど
self.view = [[Hoge alloc] initXXX];というスタイルは鬼門になりやすい。
面倒でも
Hoge*hogeView = [[Hoge alloc] initXXX];
self.view = hogeVIew;
とかやっとくと後でhogeViewどうなってたっけ、って気がつきやすい。

てかAppleはやくretainCountなんて廃止しちめえよ。2chでの質問くらいしか使ってるの見たことねーし。


597 :名称未設定:2010/12/31(金) 01:42:50 ID:arPvJUR50
self.aProperty = [[[Hoge alloc] initXXX] autorelease];

autoreleaseまでが一揃い
プロパティがretainなら勝手にretainするし、copyならcopyするし、assignならそのまま捨てられる。
分かりやすいだろ?

プロパティはただのインスタンス変数と分けて考えるべきもの。


>てかAppleはやくretainCountなんて廃止しちめえよ。2chでの質問くらいしか使ってるの見たことねーし。
retainCountを数える馬鹿が2chぐらいにしか居ないだけだよ

598 :名称未設定:2010/12/31(金) 01:46:23 ID:Fcj4651S0
retainがわからないやつって、ポインタわかってないの?

599 :名称未設定:2010/12/31(金) 09:21:25 ID:7SOntLnv0
>>591 Leaksにも限界があるんだよ

600 :名称未設定:2010/12/31(金) 12:36:51 ID:DLq5q8AAP
allocationsやActivityと併用するのがベスト。

601 :名称未設定:2010/12/31(金) 14:04:38 ID:lI2z45c+0
上層のViewControllerから、下層のViewControllerに向かって
下層側のViewに画像を表示するように命令しても
無視されるのですが、できない仕様なのですか?

602 :名称未設定:2010/12/31(金) 14:55:13 ID:rjDv2KOl0
>>597
>retainCountを数える馬鹿が2chぐらいにしか居ないだけだよ
Instrumentsのleaksでメモリリーク追う時には嫌でも見せられるし、知ってなきゃならないよ。
ま、allocしたらすぐにautoreleaseのくせつけとけば、インスタンス変数のオブジェクト破棄時の
解放しわすれ、ぐらいでしかリーク発生しないけど。
>>601
んなこたーない。selfポインタ持って呼び出すわけじゃなし。
ちゃんと下位のviewcontrollerになってないか、イベントループに戻ってないか、そのあたりだと思う。

603 :名称未設定:2011/01/01(土) 00:14:45 ID:C7WleQNX0
UIButton(UIView)に簡単にジオメトリ的なアニメーションを行わせる方法がありますが、画像の切り替え(backGroundImage)を徐々に行わせる手段というのはデフォルトで用意されているのでしょうか。
要は画像が設定されたボタンがタッチされたときに徐々にタッチ時の画像へと切り替え、指が離されたときに徐々に戻す、といった処理を行いたいのです。
よろしくお願いいたします。

604 : 【39円】 【大吉】 :2011/01/01(土) 00:20:50 ID:YeJY0i8a0
テスト

605 :名称未設定:2011/01/01(土) 01:01:44 ID:Dp4Z4+LG0
あけましておめでとうございます。

>>603
ないと思う。別のimageview重ねてアニメーションさせればいいだけの話では?

606 :名称未設定:2011/01/01(土) 01:41:35 ID:bqhd1grC0
>>603
CATrasition でできるんじゃね?

607 :名称未設定:2011/01/01(土) 02:34:18 ID:8Z9/rV1Y0
openALで、マルチタッチで、効果音を発音させるプログラムを作っています。
ものすごく速く、画面をタッチを繰り返していると、音が消えて鳴らなくなります。
回避する方法ってないでしょうか?

ウエイトが必要ではないかと、1/60秒の描画時に、
10/60毎に発音状態を有効にするフラグをつけて動かしてのですが、
うまくいかないです。
サウンドソースを増やして、発音したい音を、同時2音で、切り替えてみましたが、
たまに、片方の音が死にます。
alGetError()はAL_NO_ERRORを返しているのでどうすればよいか分かりません。
どなたかご教授頂けると助かります。
効果音の長さは0.4秒です。


608 :名称未設定:2011/01/01(土) 09:35:48 ID:C7WleQNX0
>>605, >>606
新年早速ありがとうございます。
CATransitionについて調べてみようと思います。

609 :名称未設定:2011/01/01(土) 10:28:50 ID:KpnxKHPBi
>>607
前の音が鳴り出す前に次の音ならしてるからじゃないの。
二つ用意しても三つ以上連続でならしたらきえるよそりゃ。

610 :名称未設定:2011/01/01(土) 13:10:17 ID:2aJlw0Fb0
601です
『FirstViewController.m』

-(void)reload{
UIImage* after = [UIImage imageNamed:@"after.png"];
UIImageView* afterimage = [[UIImageView alloc] initWithImage:after];
[self.view addSubview:afterimage];
afterimage.frame = CGRectMake(0, 0, 100, 100);
printf("aaa");
}

~~~~~~
『SecondViewController.m』

SecondViewController* secondViewController;

-(IBAction)btn:(id)sender{

[secondViewController reload];

}

firstViewController.viewが下、second~が上に表示されているとして、
secondView側のボタンを押すと下層のfirstView側に画像が表示されたいと考えているのですが、
何も起こりません。エラー、警告共になくビルドはされます。
printfからメソッドもきちんと呼ばれていることを確認済みです。
何か違反をしていますか??

611 : 【1900円】 【中吉】 :2011/01/01(土) 13:24:07 ID:YeJY0i8a0
>>610
なんでSecondViewController.mでsecondViewControllerを
定義しているの?

612 :名称未設定:2011/01/01(土) 13:42:25 ID:2aJlw0Fb0
間違えました。
SecondViewController.mで定義しているのは
firstViewControllerです。写し間違いですのでご容赦下さい。

613 :名称未設定:2011/01/01(土) 13:49:11 ID:2aJlw0Fb0
ひどい間違いですので訂正させてください。
『SecondViewController.m』

FirstViewController* firstViewController;

-(IBAction)btn:(id)sender{

[firstViewController reload];

}

614 :名称未設定:2011/01/01(土) 13:56:00 ID:YeJY0i8a0
>>610
after.pngは存在しないファイル。
self.viewはnilになっている。
self.viewのframe,boundsは全く違う位置にある。
等。

615 :名称未設定:2011/01/01(土) 14:39:17 ID:2qzyHefu0
SecondViewController.mのインスタンス変数firstViewControllerにはどっかで実体代入してるんだろうな?
※どっか=コード中のどこかでfirstViewControllerを作成、代入してるとか、
  IBでoutletにしておいてドラッグドロップで結びつけ、など

616 :名称未設定:2011/01/01(土) 14:43:28 ID:2qzyHefu0
あ、あけましておめでとうございます。ごあいさつ遅れてすまん。

617 :名称未設定:2011/01/01(土) 14:50:00 ID:MAJ6SECh0
>>610
んな面倒な事せずに、ボタンのアクションのターゲットをfirstResponderにすればすむ話じゃないの?

その場合だと
UIButton *btn;
[btn addTarget:nil
action:@selector(reload)
forControlEvents:UIControlEventTouchUpInside];
で良いんじゃないの?


618 :名称未設定:2011/01/01(土) 16:55:26 ID:2aJlw0Fb0
>>614
いろいろ原因を考える上で参考にします。ありがとうございます。
>>615
すみません。歴が浅いので、実体代入というのがどういうことかわかりません。
逆に言うと今は参照が渡されているのではないかという意味ですか?
具体的にどう手を打ってみたらよいかわからないので勉強します。ありがとうございます。
>>617
ありがとうございます。どうしても上位から下位に命令する形を取りたいのですが、
この方法だと違うクラスのメソッドは呼べないのではないですか?間違ってたらすみません。

今の疑問は、なぜメソッドはちゃんと呼べているのに画像表示の項についてだけ無視されるのか?
ということです。

619 :名称未設定:2011/01/01(土) 17:16:19 ID:2qzyHefu0
>>618
firstViewControllerという変数に、値は代入したかい?ということ。
まだ意味わからないのなら、[firstViewController reload]; の行にブレークポイント設定してfirstViewControllerの値をみるとか、
その行の直前にNSLog(@"%@", firstViewController); と入れてみて変数をデバッグ表示してごらん。

#この手の質問が定期的にでるのはIBのせいな気がする。

620 :名称未設定:2011/01/01(土) 17:19:45 ID:2qzyHefu0
ってprintf("aaa")には来てるのか。すまん、すべて忘れてくれ。

621 :名称未設定:2011/01/01(土) 17:23:38 ID:2qzyHefu0
じゃあやっぱりself.viewが空なのでは? loadView実装してるか対応するxibファイルは存在してる?

622 :名称未設定:2011/01/01(土) 18:30:08 ID:MAJ6SECh0
-(void)reload{
UIImage* after = [UIImage imageNamed:@"after.png"];
UIImageView* afterimage = [[UIImageView alloc] initWithImage:after];
[self.view addSubview:afterimage];
afterimage.frame = CGRectMake(0, 0, 100, 100);
printf("aaa");

NSLog(@"¥n%@, %@, %@", after, afterimage, self.view);
}
で、結果はって。
コード断片だけでは判断しようがない。

>618
target-actionの基本は押さえておこうよ

623 :名称未設定:2011/01/01(土) 18:48:32 ID:2aJlw0Fb0
NSLog(@"\n%@, %@, %@", after, afterimage, self.view);
を追加して実行してみました。

<UIImage: 0x4b17140>,<UIImageView: 0x4b185a0; frame = (217 143; 27 27); opaque = NO; userInteractionEnabled = NO, layer = <CALayer: 0x4b18860>>,
<UIView: 0x4b193a0; frame = (0 0; 320 480) ; autoresize = W+H; layer = <CALayer: 0x4b19c70>>

と表示されました。
実際にCGRectMakeは(217,143,27,27)なのでそこは異常ではないです
これで何かわかりますか?
重ね重ねお世話になります...
target-actionについても勉強いたします。

624 :名称未設定:2011/01/01(土) 19:45:56 ID:MAJ6SECh0
さっぱりわからんなw
あとは、ちゃんと画面に収まってるかどうかとafter.pngがどんな画像か位かな?

void hoge(UIView *view, NSInteger indent)
{
printf("%*s%s¥t%s¥n", indent * 4, " ", view.description.UTF8String, NSStringFromCGRect(view.bounds).UTF8String);
for(UIView *subview in view.subviews) {
hoge(subview, indent + 1);
}
}

-(void)reload{
UIImage* after = [UIImage imageNamed:@"after.png"];
UIImageView* afterimage = [[UIImageView alloc] initWithImage:after];
[self.view addSubview:afterimage];
afterimage.frame = CGRectMake(0, 0, 100, 100);
printf("aaa");

hoge(self.view.widow, 0);
}

とか、かな?


625 :名称未設定:2011/01/01(土) 20:01:16 ID:2aJlw0Fb0
(null) {{4.33853e-39, 4.99426e-36}, {2.67053e-37, -1.99869}}
と出力されましたが...


626 :名称未設定:2011/01/01(土) 20:33:42 ID:MAJ6SECh0
まさかの結果!w
firstViewController.viewがWidowに貼付けられてません!

627 :名称未設定:2011/01/01(土) 21:22:16 ID:pOCSlEDs0
現在、簡単な通信アプリを開発しているのですが、相手を特定する方法で詰まっています。
相手の電話番号だけわかっている状態で、相手に電話以外の方法で通信することは可能でしょうか。
つまり、
相手も自分も同じアプリを起動していて、
そのアプリ同士をP2P通信させたいのですが、
お互いが分かっているのは電話番号だけ。
という状況です。
もし、よろしければどの辺りのメソッドを使えば良いのか解説していただけると幸いです。

628 :名称未設定:2011/01/01(土) 21:25:07 ID:2aJlw0Fb0
えっ...本当ですか。
下層のfirstViewController自身から命令すれば画像は表示できて、
上層のsecondViewControllerから命令すると無反応という状況でしたが。

[[FirstViewController alloc] initWithNibname:@"FirstViewController" bundle:nil];
[[SecondViewController alloc] initWithNibname:@"SecondViewController" bundle:nil];
[self.view addSubview:firstViewController.view];
[self.view addSubview:secondViewController.view];

ここがいけませんでしたか。
もし関係なければ、お手上げです。

629 : 【小吉】 【1694円】 :2011/01/01(土) 21:59:31 ID:lDVTfY8w0
>>627
別途、サーバたてて、電話番号とipアドレス保存しとけば
いいんじゃないかな

630 :名称未設定:2011/01/01(土) 22:21:53 ID:YeJY0i8a0
>>628
インスタンスが別の物なんだろう。
secondViewControllerからfirstViewControllerが参照
できていない。よく考えたら、secondからFirstViewControllerを
allocしてインスタンス生成なんてありえないし。>>615が正解。
どうやって、secondViewControllerのfirstViewControllerを
設定しているのか?

Nibファイルは独立しているので、通常secondからfirstの
インスタンスは参照できない。オレには分からんが>>617
の方式がいけるんじゃ?

631 :名称未設定:2011/01/01(土) 22:26:48 ID:YeJY0i8a0
もうひとつ助言すると、2つのView Controllerが干渉し合うのは
デザインとしてはおかしいだろ。同じView Controllerに出来ると思うが。


632 :名称未設定:2011/01/02(日) 07:46:42 ID:KMMnGxiZ0
>>631
まーそうなんだが、そういう基本設計にまで口を出すのはお門違いだと思うし、
それぞれ別のxibにしておく、というのもよくやる手なんで。
ただviewcontrollerの下にviewcontrollerを置く場合はローテーション関連などで若干やらなきゃならないことがあるんで、
理由がなければわざわざそうする意味は確かにないね。

>>628
やっぱり>>615 の通りじゃないのか? ブレークポイント設定して変数見てみろ。
(個人的には非推奨だけど)firstViewController、secondViewControllerというグローバル変数こさえてね。

633 :607:2011/01/02(日) 09:40:54 ID:TzQAIVIs0
>>609
たしかに、そうですね。
ヒント頂ありがとうございました。
音が鳴ってるかをチェックし、発音するようにしたところ
問題は解消されました。
alGetSourcei(source, AL_SOURCE_STATE, &state);
if(state != AL_PLAYING) alSourcePlay(source);


634 :名称未設定:2011/01/02(日) 09:44:13 ID:n4O0tHtJ0
>>630-631,>>632
助言ありがとうございます。
まだまだ未熟なので基本的な設計から考え直してみます。
本当にどうもありがとうございました。

635 :名称未設定:2011/01/03(月) 05:58:51 ID:j9Wffduj0
Background に回っても、Gyroscope あるいは Accelerometer センサーの出力データログをとっていくことは、長時間ずーっと継続出来ますか?

636 :名称未設定:2011/01/03(月) 06:15:48 ID:yuLryhU4P
出来ません

637 :名称未設定:2011/01/03(月) 10:33:48 ID:rF/GV15i0
CとかC++だとサイズが定数じゃない配列はコンパイル通らないはずなのに
例えば下みたいなコードで普通に動くんだけど、これってobjective-cの言語仕様のおかげ?
(もちろんマクロじゃなくてちゃんと関数を呼び出してる)

int test[getX()][getY()];

638 :名称未設定:2011/01/03(月) 11:50:55 ID:vKuSXlKH0
アニメーションが終わるのを待ってから次の処理に進みたい場合、
指定した秒数ぶんのウエイト時間を入れるにはどうすればいいですか?

639 :名称未設定:2011/01/03(月) 11:52:29 ID:yuLryhU4P
C99じゃないの?

640 :名称未設定:2011/01/03(月) 12:07:48 ID:KaLyaPSD0
>>638
方法は色々あると思うけど「Objective-C 遅延実行」でググると幸せになるかもしれない。

641 :名称未設定:2011/01/03(月) 12:50:11 ID:vKuSXlKH0
>>640
ありがとうございます。
そのようにググってNSThread sleepForTimeInterval:を見つけ、
これを使って一応ディレイが出来たのですが

アニメーション→ウエイト→画像表示 という風にしたいのでその順で記述しているにも関わらず、
実際に実行するとウエイト→アニメーション→画像表示 となってしまいます。

間にNSLogを挟んでみた限り正常なのですが、なぜかアニメーションがウエイトの後ろに回りこみます。
初めて試しましたが意味不明な挙動です。もう少し試行錯誤してみます。

642 :名称未設定:2011/01/03(月) 13:09:58 ID:KaLyaPSD0
えっ
俺が言ってたのはperformSelector:withObject:afterDelay:のことなんだが・・・

643 :名称未設定:2011/01/03(月) 13:11:50 ID:KaLyaPSD0
もしかしてアニメーション記述してるメソッド内でスリープかけてるんじゃないよな?

644 :名称未設定:2011/01/03(月) 14:10:58 ID:cV0LJ3dqP
「アニメーション終了時に呼ばれるコールバック内で処理を行う」じゃだめなのか?


645 :名称未設定:2011/01/03(月) 14:48:14 ID:j9Wffduj0
私は +animateWithDuration: animation: completion: とか云うやつ、好きだけど。
ブロックでイェー。

646 :名称未設定:2011/01/03(月) 14:49:59 ID:j9Wffduj0
>>635 のバックグラウンド処理実行なんですけど、短時間でも無理でしょうかね?

647 :名称未設定:2011/01/03(月) 15:58:59 ID:aSPL6UbF0
ブラウザを作りたくて画像の保存で悩んでます。
ここを見ながらhttp://www.icab.de/blog/page/3/ UIWebViewで長押しした位置の
タグを取得して画像を保存っていうメニューを出すようには出来たんですが
画像URLの取得方法がよくわかりません。
ページ内のタップされた位置の画像URL持ってくるにはどうすればよいのでしょうか?

648 :名称未設定:2011/01/03(月) 16:23:50 ID:jqWpEGs/0
>>647
自分でWebViewを自作する

649 :名称未設定:2011/01/03(月) 16:32:39 ID:aSPL6UbF0
>>648
そんな無茶な、ってかiPhoneブラウザってそうやって作ってるの?


650 :名称未設定:2011/01/03(月) 16:34:28 ID:aSPL6UbF0
なんかHTMLソースをJavaScriptで拾ってきて解析するってのは聞いたことあるけど
Javascriptはさっぱりなんで具体的なやり方がわからない。

651 :名称未設定:2011/01/03(月) 18:11:08 ID:jqWpEGs/0
>>650
やり方を知ってるのに知らない素振りで楽な方法を聞こうとしたわけか。
死ねって感じだね。

652 :名称未設定:2011/01/03(月) 18:40:30 ID:aSPL6UbF0
>>651
やり方知らない人には聞いてないから。

653 :名称未設定:2011/01/03(月) 18:48:34 ID:150ppxfa0
>>652
消え失せろ

654 :名称未設定:2011/01/03(月) 22:05:43 ID:V2qNAbki0
CGAffineTransform transformScale = CGAffineTransform( CGAffineTransformIdentity, 5, 5);
CGAffineTransform transformRotate = CGAffineTransform( CGAffineTransformIdentity, M_PI);

上記の記述箇所が「expected expression before 'CGAffineTransform'」と表示されコンパイルエラーとなります。
なぜでしょうか

655 :名称未設定:2011/01/03(月) 22:31:26 ID:4HLyoXxG0
MakeScale とか MakeRotation とか抜けてるから

656 :名称未設定:2011/01/03(月) 22:55:29 ID:gUnBl8bm0
Makeはいらない

657 :名称未設定:2011/01/04(火) 00:48:50 ID:H4s09UJk0
>>655
>>656

解決しました。ありがとうございます。

658 :名称未設定:2011/01/04(火) 01:32:31 ID:vwqmdJeqP
UITableViewで高速に文字列を描画する方法を探してるんですが、
セルのサブビューにUIViewを追加するして、drawrect:でQuartzを使うよりも
UILabelのtextプロパティの方が圧倒的に速いんですが、UILabelだと文字単位で文字色の指定が出来ません。
文字単位で文字色の変更も出来て、高速に文字列を描画するにはどうすればいいんでしょう???

659 :名称未設定:2011/01/04(火) 01:41:15 ID:4wrvoqkf0
たとえば
{0,0,0,0,0},{1,1,1,1,1},{0,0,0,0,0},{1,1,1,1,1},{0,0,0,0,0}
という具合にint型の値が入ってる配列hairetsu[][]があったとして
これを用いてNSString* hairetsu = @"0000011111000001111100000"
となる文字列を生成したいのですがどのようにすればよいですか?

660 :名称未設定:2011/01/04(火) 01:51:12 ID:ypyf606C0
>>659
forループで配列の要素を順番に取り出して文字列に変換。
繋げればいいんでは?

661 :名称未設定:2011/01/04(火) 01:56:48 ID:jqhkG6gV0
それが hairetsu[][]ならばポインタへのポインタであって
微妙に配列とは違うとかいうことはともかくとして、
int w=5, h=5;
UniChar buf[w*h];
for (int i = 0; i<w;i++) {
for (int j = 5; j < h; j++) {
buf[i*w+j]=hairetsu[i][j] ? '1' : '0';
}
}
NSString *s = [NSString stringWithCharacters:buf length:w*h];
とかでどうだろう。

662 :名称未設定:2011/01/04(火) 02:20:42 ID:ChBd+Mqo0
ラベルを文字の色毎につくったら。

663 :名称未設定:2011/01/04(火) 09:13:59 ID:U1UM7H2r0
drawrectのほうが圧倒的に遅い、というのはちと信じられないんだが。

664 :658:2011/01/04(火) 11:23:53 ID:vwqmdJeqP
ごめんなさいdrawrectが遅いのは間違いでした。NSLog使ってて遅かっただけでした。
UIViewのdrawrectもUILabelのtextもほぼ同じでした。
自分が最終的にやりたいのはBB2Cみたいな、レスアンカーの>>1の部分だけ色を変えて
ユーザーのタップを受け取れるテーブルを作ってみたいんです。

665 :名称未設定:2011/01/04(火) 17:35:26 ID:U1UM7H2r0
>>664
drawrectでせこせこ書くか、webview貼付けでhtmlで書くかどっちか。
簡単なのは後者だけど、スピードとかメモリ消費量とか言い出すと前者だと思う。

666 :名称未設定:2011/01/04(火) 17:38:52 ID:U1UM7H2r0
>>643
メソッド内でrunloop廻す、という超きたない手も。(もちろんよい子は使ってはいけません)

667 :sage:2011/01/04(火) 18:31:02 ID:u4TysAbZ0
良くある形でTableViewの各セルにimageViewが配置してあって、そのimageViewに表示する画像はWeb上から引っ張ってきたいんですが、
imageViewにURLを突っ込むのを「- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath」内で行うと
セルを生成する瞬間にWebから画像を取ってくる処理になる為、テーブルのスクロールが固まってしまいます。

そこでimageStoreという画像ダウンロードライブラリを使用する事にしました。
http://d.hatena.ne.jp/Psychs/20081024/1224833636
上記URLの使い方の解説を読みながら
セルを生成するタイミングで [imageStore getImage:imageUrl] を行い裏で非同期に画像のダウンロードを行い、ダウンロードが終わったらdelegateで通知を受け取る事は理解できたのですが
生成し終わっているセルに乗っかっているimageViewにdelegateからどうやって画像を表示させればよいのでしょうか?

668 :名称未設定:2011/01/04(火) 19:20:29 ID:UfY0jSpqP
>>667
WWDC10のBlocksに関するビデオにやり方を説明したビデオがある。


669 :名称未設定:2011/01/04(火) 19:44:27 ID:HXYb6irE0
>>667
ttp://d.hatena.ne.jp/yuum3/20101216/1292490323

670 :667:2011/01/04(火) 20:38:10 ID:6HVmZ8gA0
>>668-669
ありがとうございます、おいらのテーブルがヌルヌル動くようになりました><
今回の件で「WWDC10のビデオ」初めて知りました。
すごい役に立ちます! 本当に感謝。

671 :名称未設定:2011/01/04(火) 21:34:29 ID:cp9823Lp0
すいません。
iPhoneアプリの売上にかかる税金はどうするべきでしょうか?
ググっても情報がすくなくて困っています。

672 :名称未設定:2011/01/04(火) 21:42:43 ID:UfY0jSpqP
>>671
たしか、年間の雑収入が20万を超えるのなら、申告が必要。それ以外は、
特に気にする必要なしのはず。



673 :名称未設定:2011/01/04(火) 21:46:52 ID:cp9823Lp0
>>672
なんか20万円こえちゃったんですがどうしていいかさっぱりわからず、、、

674 :名称未設定:2011/01/04(火) 21:56:54 ID:UfY0jSpqP
>>673
税務処理は、他の板で聞いた方がいいと思う。

後、↓のスレが税金関係のスレなんで、ここに聞けばいいと思う。

http://hibari.2ch.net/test/read.cgi/mac/1234796387/l50

675 :名称未設定:2011/01/04(火) 23:11:15 ID:ypyf606C0
>>673
本代とか登録料とかの経費を所得控除して課税所得を計算してみるんだ。

676 :名称未設定:2011/01/05(水) 00:00:58 ID:DHV/gxuO0
経費が認められるかは分からんけどな。
サラリーマンが無届けで稼いだのなら、一時所得や雑所得扱いじゃまいか?

677 :名称未設定:2011/01/05(水) 00:08:47 ID:oEyHQiQ60
>>676
マジで?
20万とか俺には縁がない話だけどそれはあんまりな話だな

678 :名称未設定:2011/01/05(水) 00:19:31 ID:O5BDWnmP0
MAC OS Xアプリですけど、タブ移動でコントロールのフォーカス
を動かすとき、なんでNSButtonオブジェクトにはフォーカスが
移動しないのでしょうか。これってCocoaの仕様かな。
オブジェクトのプロパティにはそういう項目ないようだし
もちろんrefuseFirstreponderにチェックは入っていない

679 :名称未設定:2011/01/05(水) 00:23:08 ID:DHV/gxuO0
>>678
スレ違い
http://hibari.2ch.net/test/read.cgi/mac/1277992217/

680 :名称未設定:2011/01/05(水) 01:27:35 ID:0ol3/DKl0
サブビューを消す関連のメソッドは、
removeFromSuperview以外にありませんか?

一つ残してすべて消すとか、そういう命令は実現できないものでしょうか。

681 :名称未設定:2011/01/05(水) 01:46:47 ID:qKBhMTbn0
>>680
単に
for(UIView *subview in view.subviews) {
if(subview != hoge) [subview removeFromSuperView];
}
でいいのでは


682 :名称未設定:2011/01/05(水) 02:21:55 ID:0ol3/DKl0
>>681
すごく参考になります
ただ未熟故、いろいろあって残したいviewの名前がわからないので
この場合でいうとhogeに何を入れていいかわからないのです。
index番号で指定するか、あるいは指定したindexの名前を得るみたいなことはできませんか><

683 :名称未設定:2011/01/05(水) 02:47:09 ID:qKBhMTbn0
>>682
hogeを[view.subviews objectAtIndex:index]とするか
あるいはtagプロパティとviewWIthTagメソッドを使えばいいのでは

684 :名称未設定:2011/01/05(水) 05:01:02 ID:u38A1QLN0
>>646 どうでしょうか。よろしくおねがします。

685 :名称未設定:2011/01/05(水) 08:59:57 ID:WtOwTVQ7P
>>683
あらかじめ取っとかないとズレそうw

686 :名称未設定:2011/01/05(水) 09:19:41 ID:A8wXvnjI0
>>683
ありがとうございます!やってみます!

687 :名称未設定:2011/01/05(水) 10:31:31 ID:4TWyooKQ0
UIScrollViewのzoomToRect:animated:で
アニメーションの速度(時間)を変更する方法ってありますか?
倍率が大きいと見た目が疲れそうで遅くしたいのです。

688 :名称未設定:2011/01/05(水) 12:54:58 ID:YafVeWjs0
David Arno 関連の書き込みをした者だが……
アプリを提出し直しても David Arno の目から逃げられなかった orz
マジで困った。
とりあえず「David Arno じゃない人が審査してくれ」って Notes に
書いてまた提出し直したが。

689 :名称未設定:2011/01/05(水) 12:56:39 ID:DHV/gxuO0
>>688
通るわけが無いと思うが。
諦めた方が良いんじゃまいか?

690 :名称未設定:2011/01/05(水) 13:05:43 ID:l8wH2jSK0
>>688
また、そういう相手を挑発するようなことをw

691 :名称未設定:2011/01/05(水) 13:33:42 ID:0dWvL7JXP
ジョブズにメール送れよ

692 :名称未設定:2011/01/05(水) 14:01:48 ID:z9W54nSjP
高速で文字列描画の話なんですが、これでやって見ようと思います。

http://akisute.com/2010/07/core-graphics-quartz.html

CGFontGetGlyphsForUnichars()は非公開APIなので審査落ちするらしいですが、
CMFontGetGlyphsForUnichars()なら大丈夫ですよね??

693 :名称未設定:2011/01/05(水) 14:09:45 ID:nOfAcPWn0
Davidは連絡係で、審査しているのは別にいるって以前本人に聞いた。
素直にどこがマズいかを確認して対応する方が結果的に早くなるよ、多分。

694 :名称未設定:2011/01/05(水) 14:23:19 ID:DHV/gxuO0
前に「Davidが八つ当たりでリジェクとした」と言ってたやつか。
その発想を改めない限り審査に通る事は無さそうだな。

695 :名称未設定:2011/01/05(水) 14:26:39 ID:QKRLNPtS0
よほど下品なのか?

696 :688:2011/01/05(水) 15:18:36 ID:YafVeWjs0
いやいや、「ここが悪いから修正しろ」って言ってくれれば素直に従うんだよ。
ただ向こうからのメールにそれが一切書いてないから、困ってるんだ。

今回1本出すだけならあきらめられるけど、今後もそういうことが起きるかも
しれないし、これを読んでる人たちにもハマる可能性はあるかもしれない。
だからはっきりさせておきたいんだけど……
本当に困った。



697 :名称未設定:2011/01/05(水) 15:24:36 ID:DHV/gxuO0
>>696
アプリの内容は何なのさ?
誰もそれを知らない状況で色々言っても意味が無いと思うが。
書けないなら自分で何とかしてください。

698 :名称未設定:2011/01/05(水) 15:29:51 ID:QKRLNPtS0
そうだね。16.1って言うからそっち系なんだなとしか思わないぞ。
俺はハマらないだろう。

699 :名称未設定:2011/01/05(水) 15:39:51 ID:RGUSkp6b0
電波強度を取得するAPIってあります?
ググってもそれらしいのが見つからない
アプリにもソフトバンクの以外無さそうだし、もしかしてできない?

700 :名称未設定:2011/01/05(水) 16:02:27 ID:nOfAcPWn0
>>696
>ただ向こうからのメールにそれが一切書いてないから、困ってるんだ。

だから、具体的にどこがマズいかDavidに確認しろって書いたんだけど?

701 :名称未設定:2011/01/05(水) 16:13:01 ID:QKRLNPtS0
>>684
誰もわからんようなら、ログを記録するアプリでも作って、
実機にインストールして確認してみた方がいいんじゃない?

702 :名称未設定:2011/01/05(水) 17:57:16 ID:qKBhMTbn0
とりあえず、バックグラウンドでの処理は、Task completionなら10分がMAX。

703 :名称未設定:2011/01/05(水) 18:32:39 ID:u38A1QLN0
>>701-702 どうもありがとう。やって見ます。

704 :名称未設定:2011/01/05(水) 19:17:17 ID:mYl6imTH0
すみません、教えてください。
現在IntefaceBuilderで画面のほとんどを作っていてViewControllerですべての動きを
作っています。本来ならボタンやビュー等の各オブジェクトはallocしていらなく
なったらreleaceするのが普通だと思うのですがInterfaceBuilderで作ったnib
ファイル上にあるボタンやら何やらについてはメモリが少ないときに画面上に
なければ自動でreleaseされると聞きました。

たとえば強制的にnib上のオブジェクトをメモリから解放したい場合はボタン等の
各オブジェクトに大してIBOutletで名前をつけてやってその名前に対してrelease
をかけてやればよいのでしょうか?

それともviewControllerから[self.view release];や [self release] 又はと
するだけでも良いのでしょうか?

705 :名称未設定:2011/01/05(水) 19:21:22 ID:DHV/gxuO0
>>704
勝手にやっちゃ駄目。
nibはメモリ上にあるつもりで動作してるから、何かの拍子で落ちる。
動的にUIを作成したいのであれば、IBを使わない方が楽だし安全だと思う。

706 :名称未設定:2011/01/05(水) 19:35:03 ID:mYl6imTH0
>>705
回答いただきありがとうございます。
勝手にやっちゃダメなんですね。確かに[self release];とかやると落ちちゃう時あります。
メモリを手動で管理したいときは全部IB無しで作らないといけないということですね。
了解です。IB無しの画面の作り方も覚えないと。

ちなみにIBを使っててメモリ不足になった時に自動で解放されるには
いらないviewはremoveFromSuperviewで画面から消しておいて、
ViewCotrollerをインスタンスかする側のviewController内の
viewDidunloadとdeallocに[インスタンス化したviewcontroller名 release];
と記述しておけば問題ないでしょうか?

707 :名称未設定:2011/01/05(水) 19:35:09 ID:jHW8lXjV0
質問です。

下位バージョンのOSでの動作確認のため
iPhoneのシミュレーターのOSバージョンをメニューの
「ハードウェア」→「バージョン」
で4.0.2に変更して、シミュレーターの
Setting→General→AboutのVersionも4.0.2
となっていることを確認しました。

しかしXCodeから開発アプリを実行すると、シミュレーターの
OSバージョンが4.2になってしまいます(アプリ実行中に
Homeボタンを押してSetting→General→AboutのVersionを確認すると
4.2になっています)。

関係しそうな設定としては、プロジェクトの
Deployment->iOs Deployment TargetはiOS 4.0
アーキテクチャのベースSDKはLatest iOS(currently set to 4.2)
XCodeのバージョン3.2.5
iOSシミュレーター4.2
なお、ベースSDKはLatestの他は4.2しか選べません。

シミュレーターのOSバージョンが変わらないようにしたいのですが
どのようにすれば良いのか、教えていただけますでしょうか。


708 :名称未設定:2011/01/05(水) 20:07:30 ID:EUavUugG0
x-codeでC99有効にしてるのに下の関数定義が失敗します。
void func(int x,int y,int test[*][*]){
}

他に有効にする箇所が必要なのでしょうか。

709 :名称未設定:2011/01/05(水) 21:45:11 ID:phxKDhpf0
質問です。

iOS4対応のカメラアプリを作っています。
一通りコーディングしてビルドしたところ、

#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>

@interface CameraController : NSObject <AVCaptureVideoDataOutputSampleBufferDelegate> {

上記の最後の行に、

Cannot find protocol declaration for 'AVCaptureVideoDataOutputSampleBufferDelegate'

というエラーが出ました。
AVFoundationフレームワークは追加してあります。

他の海外のサイトに「シミュレーターが対応していない」という回答があったのですが、
他に考えられる原因や解決方法がありましたら、教えていただきたいです。

宜しくお願いします。


710 :名称未設定:2011/01/05(水) 21:57:21 ID:oTuaq6+T0
答え出てるだろ

711 :名称未設定:2011/01/05(水) 23:04:07 ID:4dfbrRji0
>>709
そのエラーが出たのが、シミュレータなのかデバイスなのかくらい書けよ。

712 :名称未設定:2011/01/05(水) 23:09:50 ID:DHV/gxuO0
>>706
viewControllerなんてさほどメモリを消費しないし、
内部処理が分かりにくいnibを破棄するのはリスクが大きい割に効果は小さい。
確保してる巨大なデータがあるのなら、そっちを先に破棄してみれば?

>>707
シミュレータでは申し訳程度にしか動作確認できない。
ちゃんと実機を用意しる。

713 :名称未設定:2011/01/05(水) 23:35:44 ID:mYl6imTH0
>>712
画面の中に画像を持ったサブビューを複数毎(10枚以上)出す上に各画像が1000pix以上の巨大な画像で非常にメモリを食うため
ビューの持ってる画像情報だけでも必要なくなった(そのビューをremoveFromsuperview)した時にメモリから破棄できたらな〜
と考えていてメモリ管理で苦戦してます。その場合はどうするのが一番良いでしょうか?

714 :名称未設定:2011/01/05(水) 23:47:19 ID:mYl6imTH0
[self.view release];とself.view=nil;は同じ意味でしょうか?

715 :名称未設定:2011/01/05(水) 23:56:42 ID:DHV/gxuO0
>>713
画像をreleaseする。

>>714
全然違う。

716 :名称未設定:2011/01/06(木) 00:06:41 ID:VtT2jY6V0
>>715
画像をリリースする場合は
例えばimageViewのCALayer imlayerのcontentsの中に画像がある場合は
imlayer.contents=nil;
imageView removeFromSuperview;
っといった感じでしょうか?

[self.view release];とself.view=nil;は全然違うんですね。
よくdeallocとかviewDidunloadに書くときに人によってrelease
だったり=nilになってたりでよくわからなかなったんです。

717 :名称未設定:2011/01/06(木) 00:19:57 ID:Cq7CO6XR0
>>716
[self.view release]; // 爆発する
self.view=nil; // 爆発しない


[view release];
view = nil; // 爆発しないかもしれない


id hoge = view;
view = nil;
[hoge release]; // 爆発しない

718 :名称未設定:2011/01/06(木) 00:31:45 ID:VtT2jY6V0
>>717
おおっわかりやすいです!
要するに=nilとやっておけばとりあえず消せる上に、落ちることもないということですね!
nilはお手軽型でreleaseの方が扱いは難しいって認識で良いでしょうか?

719 :名称未設定:2011/01/06(木) 00:43:47 ID:aSUnMTes0
retain属性をつけてプロパティを宣言すれば、
そのプロパティにnilを代入するとreleaseと同じ役割をはたす
(というより、そのプロパティは実質、内部のsetterでreleaseしたのち、nilを代入する)
けど、直接releaseを呼ぶと、
message sent to deallocated instanceになって落ちる可能性が生じる。
= nil; とすれば、nilにはどんなメッセージを送っても、何も起こらないから、安全
ということだと思います
自分自身も少しあやふやな部分があるので、つっこみがあればお願いします

720 :名称未設定:2011/01/06(木) 00:51:50 ID:VtT2jY6V0
>>719
詳細な解説ありがとうございます。
メモリ解放したいときは=nil;を入れるようにしてみます!

721 :名称未設定:2011/01/06(木) 01:05:23 ID:gpYpG59N0
>>708
int test[*][*]ここの部分をvoid *testとかにして、
関数内部で、必要な型にキャストすれば?

722 :名称未設定:2011/01/06(木) 01:34:45 ID:VtT2jY6V0
メインビューからサブビューに対して自身のビューを削除しろという指示を出したいときに
クラスが違うためいつも下記の通知イベントを使って複数サブビューをremoveFromSuperViewしてるのですが

NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(pageDelete) name:@"pageDelete" object:nil];

通知を使わずに他のクラスに指示を出すことって出来ませんでしょうか?
たとえば子ビューから親ビューに指令を出すときはdelegateで出来ると思うのですが
その逆に親ビューコントローラから複数の子ビューコントローラへ指示する方法
はないでしょうか?

723 :名称未設定:2011/01/06(木) 08:49:29 ID:zbXq4ORU0
>>722
>>680-681

724 :名称未設定:2011/01/06(木) 09:50:51 ID:6/PmCSb50
>>722
クラスとインスタンスをきちんと区別しておかないとダメだよ

725 :名称未設定:2011/01/06(木) 11:00:16 ID:1JiKcHMb0
実機とシミュレーターで動きが違うのですが、何が原因でしょうか?
調べてみると、変数に格納された値がたった一個違うだけでした。
シミュレーターで問題なく動いているだけにまったく原因がわかりません。

warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/usr/lib/info/dns.so (file not found).

コンソールで目立った点は上の文章だけですが、何か関係がありますか?

726 :名称未設定:2011/01/06(木) 11:07:42 ID:Vppi9/9B0
>>725
>変数に格納された値がたった一個違うだけでした。
それが原因なんじゃないか?

727 :名称未設定:2011/01/06(木) 11:13:58 ID:1JiKcHMb0
>>726
そうなのですが、それがなぜシミュレーターと実機で違うのかが不明なのです。
なんてことない、代入をするだけの部分なのですが・・・

728 :名称未設定:2011/01/06(木) 11:47:37 ID:Vppi9/9B0
>>727
その変数は何なのか、どのクラスの変数なのか、そのクラスは何なのか
情報が無い状態では何も答えられない。

729 :名称未設定:2011/01/06(木) 11:52:28 ID:hryepuUU0
変数の値が変わるってどゆことやねん。

730 :名称未設定:2011/01/06(木) 12:05:59 ID:6/PmCSb50
- (void)hoge
{
NSInteger fuga; // 環境依存
NSLog(@"%lu", fuga);
}

てことじゃないの?

731 :名称未設定:2011/01/06(木) 13:18:35 ID:Y9VlSXbSP
ホームボタンを押したとき(スリープ時)に、テキストビューをアドされたコントローラーを、
入力された内容込みで保存したいのです。

ですがappDelegateにしかそういうデレゲートはないので、そのコントローラーをそれが閉じる時に
呼ばれるデレゲートにてグローバル変数に毎回入れ、appDelegateで終了デレゲートが呼ばれたときに
初めてファイルに保存する様にしました。

何かいろいろ間違っている様な気がするのですが、この様な場合、普通どの様に保存処理を
実装されているのでしょうか?

732 :名称未設定:2011/01/06(木) 13:45:03 ID:Vppi9/9B0
>>731
それでいいんじゃね?
保存する内容が何なのか分からんが、
重要なデータなら入力された直後に保存した方が良いと思うけど。

733 :名称未設定:2011/01/06(木) 15:04:18 ID:1JiKcHMb0
725ですが…
number[][]があって、

int x=0;
int y=0;

for(y=0;y<8;y++){
for(x=0;x<8;x++){
now[x][y] = number[x][y];
}
}

としてnumber[][]を複製する箇所があるのですが、
ここでなぜか実機のみ間違いがおこるようです。
シミュレーターだと正常に動作するので、どうにも対処がわかりません…

734 :名称未設定:2011/01/06(木) 15:13:23 ID:6/PmCSb50
そんな断片じゃ分かりません
エスパー待ち?

735 :名称未設定:2011/01/06(木) 15:49:30 ID:aSUnMTes0
>>731
そのViewControllerのviewDidLoadだかinitWithNibNameだかで
NSNotificationCenter "center = [NSNotificationCenter defaultCenter];
[center addObserver:self selector:@selector(applicationWillEnterForeground:)
name:UIApplicationWillEnterForegroundNotification object:[UIApplication sharedApplication]];
として、
-(void)applicationWillEnterForeground:(NSNotification ")notification メソッドを実装し、
そのなかで保存処理をすれば、appDelegateじゃなくてもapplicationがバックグラウンドに
入るときに任意の動作を行える。

736 :名称未設定:2011/01/06(木) 16:42:40 ID:Y9VlSXbSP
>>732
説明不足で申し訳なかったのですが、メインの処理は、テーブルのセルをタッチすると、
テキストビューに遷移して、文字を入力し閉じるとそこのビューがある配列に保存され、
テーブルに遷移するというありきたりの物です。そしてホームボタンが押されたとき、
appDelegateにてその配列がファイルに保存されるというものでした。
(そうですね閉じられた時に処理が重くなっても安全性の為にはファイルに毎回
保存している方が良いですね。。。)

その様な処理がメインのクラスで行われているとき、終了前にビューが編集中だった時のみ
再起動時に即座に再表示するという機能は、追加機能クラスとして実装されるのが、
プログラミングのシンプルさを保つ為に良いかと思いました。

しかし、それを実現しようとすると、そのクラスは、メインのクラスの動作を監視して
いなければなりません。オブザーバーというデザインパターンが有効かと思いましたが、
何やらメインクラス側もその処理を意識しなければならない様です。

苦肉の策として、ビューが閉じられる時にメインの保存処理に追加して、その時の
インデックスパスとコントローラーを再起動時読み込み用に保存。実は終了でなく
テーブルに遷移すると、そのファイルを破棄。再起動時それがあれば読み込んで、
そこのコントローラーを再表示という方法を取るべきですが、シンプルさからは
かけ離れていると思いました。

何かシンプルな方法がないものですかねえ。

737 :名称未設定:2011/01/06(木) 16:45:47 ID:Y9VlSXbSP
>>732さんお礼の言葉を忘れていました。ありがとうございました。すみません。

>>735
ありがとう。それを調べてみます。

738 :名称未設定:2011/01/06(木) 16:45:54 ID:xm5JQCFG0
すいませんが教えてください。
iPhoneの開発で、Interface Builderを使ってUILabelのフォント名を「ヒラギノ明朝ProN W3」に
設定しているのですが、字体が変わりません。
どうやったら「ヒラギノ明朝ProN W3」に設定できますか?

739 :名称未設定:2011/01/06(木) 16:58:00 ID:Vppi9/9B0
>>736
保存するタイミングはプログラマ次第で良いと思う。
ただ、何らかの理由で途中で終了する可能性を考えると
変更された直後に保存するのが最も安全だと思う。
とりあえず俺はそうしてる。

>>738
iPhoneには明朝体が入ってない。

740 :名称未設定:2011/01/06(木) 17:13:59 ID:6/PmCSb50
>>736
編集されるクラスが
extern NSString *MyClassBeginEditNotification;
extern NSString *MyClassEndEditNotification;
を投げる。
AppDelegateが受ける

741 :名称未設定:2011/01/06(木) 17:27:54 ID:6gZZDAX90
よろしくお願いします

iPadのInterfaceBuilderでViewにUITextViewをはっつけたんですが、
シミュレータで日本語を入力することができません。
なんらかのプロパティを変更したりする必要があるのでしょうか?


742 :738:2011/01/06(木) 18:01:38 ID:xm5JQCFG0
>>739
レスありがとうございます。
iPadでは明朝体になったのですが、iPhoneは明朝体が入ってないんですね。
iPhoneで明朝体を組込んだりってできないんでしょうか。。。

743 :名称未設定:2011/01/06(木) 19:08:54 ID:hryepuUU0
>>733
配列宣言するときに配列のサイズ書いてる?

744 :名称未設定:2011/01/06(木) 21:03:57 ID:D02HMPuG0
>>743
サイズというのは配列の要素数のことですか?それなら定義していますが…

ちょっとお手上げなので、回避する方向で考えたいと思います。

745 :名称未設定:2011/01/06(木) 21:16:26 ID:tbxJtzMg0
>>744
関係ないところでメモリリークしてて、たまたま配列のメモリ潰してるだけだったりしてな。

746 :名称未設定:2011/01/06(木) 21:40:31 ID:gR28RmjM0
x86はunaligned accessできるけど(int型に(addr&3)==1とかのアドレスからアクセス可能)、
arm系はインプリメント依存(iOSでどうなるか確認してないな、そういや)だからそのあたり、とか。

747 :名称未設定:2011/01/06(木) 22:52:27 ID:TPIuyeJN0
質問です。
今、GPSロガーをつくろうと思ってるのですが、
バックグラウンド実行の為にInfo.plistにUIBackgroundModesキーを追加しlocationアプリケーションにしました。
これだと、常にバックグラウンドで起動状態になってしまうんですが、
アプリがログ取りモードでない場合はできることなら普通にサスペンドして欲しいと考えています。
環境はOS4.2, iPhone4限定で構いません、
やり方ご存じの方よろしくお願いします。

748 :名称未設定:2011/01/07(金) 00:09:29 ID:bZSnKEAL0
>>741
もう遅いかもしれんけど、IBのインスペクタで使用するキーボードを変更できるよ。


749 :名称未設定:2011/01/07(金) 00:23:19 ID:P4DUStkF0
>>747
自己解決しました。
Locationマネージャを切れば勝手にサスペンドしました。

750 :名称未設定:2011/01/07(金) 07:00:49 ID:zvUrGfpk0
フラッシュ内蔵 ブラウザ まだぁなの

751 :名称未設定:2011/01/07(金) 07:34:34 ID:lSODUv7j0
Skyfireでも使っとけ

752 :名称未設定:2011/01/07(金) 08:51:39 ID:3LOdJp7B0
FlashどころかHTMLまで死に体にさせかけてるからな

753 :名称未設定:2011/01/07(金) 08:57:45 ID:Owx3kSIB0
Flash見なくなったなあ。

754 :名称未設定:2011/01/07(金) 12:21:52 ID:E3Gx1dkR0
Flashはもう要らんだろ。

755 :名称未設定:2011/01/07(金) 12:53:45 ID:E3Gx1dkR0
>>742
できる。
ただ、ライセンスの問題があるので素人には難しいんじゃないか。
余程売り上げを見込めるのであれば別だが、普通は赤字だろ。

756 :名称未設定:2011/01/07(金) 13:58:25 ID:wFpijw3z0
>>748

回答ありがとうございます。
text input traitsってとこのkeyboardのプロパティを変更してみたんですが、
キーボードが変わっても結局日本語に変換できない状態が変化しません。
他にいじるところありますか?


757 :名称未設定:2011/01/07(金) 14:15:09 ID:avWzDPcbP
シミュレータのキーボード設定は追加した?

758 :名称未設定:2011/01/07(金) 14:29:33 ID:wFpijw3z0
下からにょきっとキーボードは出てきます

759 :名称未設定:2011/01/07(金) 14:43:36 ID:avWzDPcbP
設定、一般、キーボード、各国のキーボード
はいくつだ

760 :名称未設定:2011/01/07(金) 14:44:10 ID:E3Gx1dkR0
>>758
設定で言語環境を日本語にすれば出来るだろ。
というかシミュレータで日本語入力できなくても大した問題じゃないと思うが。

761 :名称未設定:2011/01/07(金) 15:18:02 ID:wFpijw3z0
設定ってシミュレータ内の設定をいじるってことだったんですね
キーボードに日本語を追加できました
でもなぜか日本語キーボードだと文字を入力することができません。。
USキーボードだと英数字は入力できるんですけど、
日本語だと反応してくれない。。。
スレを汚しすぎてますね。

762 :名称未設定:2011/01/07(金) 15:42:00 ID:rNz/aShJ0
質問です
UIViewControllerでpushする際に現在のviewとpushするviewのクロスフェードを実現するにはどういった方法がいいでしょうか。

763 :名称未設定:2011/01/07(金) 16:27:10 ID:3/V5amsW0
初めて作った、あんまり出来がいいとも思えないアプリが、
結構、What's Hotの100位以内にいるんですけど、
What's Hotの掲載基準って何なんでしょうや?

764 :名称未設定:2011/01/07(金) 16:35:25 ID:E3Gx1dkR0
>>761
実機でテストしろよ。

765 :名称未設定:2011/01/07(金) 17:06:02 ID:lMExXTzw0
リファラーをつけてファイルをダウンロードしようと思っているのですが
なぜかsetValueの行で落ちてしまいます。なぜでしょうか?


- (void)downloadURL:(NSURL*)URL
{
NSString *url = [NSString stringWithString:URL];

NSString *directoryPath = [[NSHomeDirectory()
stringByAppendingPathComponent:@"tmp"] retain];
NSString *fileName = [url lastPathComponent];

filePath = [[[directoryPath stringByAppendingPathComponent:fileName]
stringByStandardizingPath] retain];
NSLog(@"%@", filePath);

NSURL*reqURL=[NSURL URLWithString:url];

NSURLRequest *request = [NSURLRequest requestWithURL:reqURL];


[request setValue:@"http://www.google.co.jp/" forHTTPHeaderField:@"Referer"];

//[request setValue:@"http://www.pixiv.net/member_illust.php?mode=medium&illust_id=15752102" forHTTPHeaderField:@"Referer"];


[ NSURLConnection connectionWithRequest: request delegate: self ];

}


766 :名称未設定:2011/01/07(金) 17:07:26 ID:lMExXTzw0
コメント行まで入れてしまいました。これは無視してください。

767 :名称未設定:2011/01/07(金) 17:20:52 ID:K1FvfdOK0
>>765
NSMutableURLRequestで。

768 :名称未設定:2011/01/07(金) 17:21:39 ID:E3Gx1dkR0
>>765
URLが無効なんじゃないか?
Referer無しでは動作してるの?

769 :名称未設定:2011/01/07(金) 17:42:42 ID:lMExXTzw0
>>767
NSMutableURLRequestもやってみたのですがダメでした。

>>768
リファラーをつける部分をコメントアウトした時は落ちずにちゃんと動きました。
コメントアウトした部分でもしかして察っして頂いてるかもしれないの
ですが、Pixivの画像をダウンロードしたいと考えております。
Pixivの場合、リファラーが正しく設定されていないと画像のダウンロード
がうまくいかないらしいのでダウンロードの際にリファラーをつければ
いけるんじゃないかなって思ってやってみたところ、そのリファラーを
つける部分で躓いてしまいました。

770 :名称未設定:2011/01/07(金) 17:49:41 ID:E3Gx1dkR0
ログに何か出てないか?
デバッガは使ってる?

771 :名称未設定:2011/01/07(金) 18:07:26 ID:K1FvfdOK0
>>765
予想
NSMutableURLRequest *request = [NSURLRequest requestWithURL:reqURL];


正解
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:reqURL];


772 :名称未設定:2011/01/07(金) 18:10:27 ID:lMExXTzw0
>>770
デバッガ使ってますが落ちるときのあの英語みたいな記号みたいな変な画面になります。

>>771
ああああまさにその通りでした!!!
ちょっと修正して試してみます。



773 :名称未設定:2011/01/07(金) 18:12:38 ID:lMExXTzw0
>>771
ありがとうございます!!
うまくいきました!さらにPixivの画像も落とせるようになりました!
相談してよかった〜。本当にサンクスです。

774 :名称未設定:2011/01/07(金) 18:16:16 ID:5eZMuHWe0
ID漏れたとしたらそれはそれで問題だろ

775 :名称未設定:2011/01/07(金) 18:23:12 ID:lMExXTzw0
>>774
UIWebViewから画像を長押しして保存ってやった時にPixivの場合はダウンロードする時に
http://www.pixiv.net/をリファラーでつけてあげないとダウンロード出来ないんです。
IDはUIWebView側で勝手に入力してるから大丈夫です。
あと、コメントしてあるpixivのURLって意味なら人の絵なので別に問題ないですよ。

776 :名称未設定:2011/01/07(金) 19:57:04 ID:E3Gx1dkR0
>>775
人のIDを勝手に晒した事の方が問題だと思うけどな。

777 :名称未設定:2011/01/07(金) 20:17:28 ID:+GY0b9Oz0
ものすごく初歩的な質問かと思うのですが調べてもなかなか疑問が解消されないので質問させてください。

UIImage *image = [UIImage imageNamed:@"Sample.png"];
UIImageView *iv = [[UIImageView alloc] initWithImage:image];
[self.view addSubview:iv];
iv.frame = CGRectMake(~~~)

という感じで拾ったサンプルコードをそのまま使って画像を表示させているのですが、
この方法だと画像一枚ごとに一枚のviewを使っていることになるのでしょうか?

自分のやりたいことは、
数種類の画像を高速列挙でスタンプのように何個も貼りつけて、ことが済んだらすべて消し去る、という動作です。
なので、一枚のviewに画像を何個も乗っけて、あとでview(index?)をその一枚のみ指定して消すと、
貼りつけていた画像も全部消えるというようなイメージがあるのですが、どうしたらいいでしょう?

778 :名称未設定:2011/01/07(金) 20:31:45 ID:OWGsZwxW0
>>777
subview使う

779 :名称未設定:2011/01/07(金) 20:38:56 ID:E3Gx1dkR0
>>777
直接viewに描画すれば?

780 :名称未設定:2011/01/07(金) 20:40:44 ID:avWzDPcbP
view.layerに描画した方がよさげ

781 :名称未設定:2011/01/07(金) 21:53:35 ID:KOFcI+VW0
windows系のプログラマーですが、
malloc等で必要なメモリー確保が出来ない場合、
プログラムを終了させたいと考えているのですが、
プログラムを安全に終了させる方法が分かりません。
windowsだとPostQuitMessageなど使いますが、
iPhone/iPadではどのような関数を呼び出せばよいのでしょうか?
mallocは適切な値を入れた場合、必ず成功するものなので
考える必要はないのでしょうか?
よろしくお願いします。


782 :名称未設定:2011/01/07(金) 22:00:13 ID:sjkPcYLdP
NSURLConnectionやCFNetworkを使わずに、あえてNSStreamでHTTP通信してる人いますか?

783 :名称未設定:2011/01/07(金) 22:03:35 ID:lSODUv7j0
>>781
アプリ落とすなんて審査通らんよ

784 :781:2011/01/07(金) 22:04:07 ID:KOFcI+VW0
終了させる方法を考えてみたのですが・・
グローバル変数で定義
NSAutoreleasePool *pool; (main.m)
id g_self;
XXXXappDelegate.m
-(BOOL)application:(..省略..){
g_self =self;
}
void myExit(){
extern NSAutoreleasePool *pool;
extern id g_self;
[g_self release];
[pool release];
[super dealloc];
exit(0);
}
これって問題出そうですよね?
リジェクトされない方法ないでしょうか?


785 :名称未設定:2011/01/07(金) 22:20:41 ID:7zstJtixP
>>784
iPhoneヒューマンインターフェイスガイドラインによれば、
「iPhoneアプリケーションをプログラムによって終了させると、ユーザ側ではアプリケーションがクラッシュしたように見えるため、避ける必要があります。」
これに反するとリジェクト対象。終了させる方法の問題ではないよ。

786 :781:2011/01/07(金) 22:24:12 ID:KOFcI+VW0
>>783,785
ですよね〜。ガイドラインは読んでます。
まだ、警告をだして、ユーザーに●ボタン押させるほうがマシかなーと思ってます。
malloc等は成功するものとして、作っておけばいいのでしょうか?
マルチタスク考えると不安です。

787 :名称未設定:2011/01/07(金) 22:27:08 ID:K1FvfdOK0
お前らホントにグローバル変数好きだよな
コボラーなの?w

788 :名称未設定:2011/01/07(金) 22:27:55 ID:OWGsZwxW0
>>781
エラーダイアログに、Quitすることを表示してexitで終了。
例えばネットワーク接続必須のアプリで
ネットに繋がっていない場合に終了する、みたいな場合だったら
リジェクトにはならない。
プログラムの理由で終了するのは無し。

789 :名称未設定:2011/01/07(金) 23:43:44 ID:E3Gx1dkR0
>>786
> malloc等は成功するものとして、作っておけばいいのでしょうか?
何言ってるの?

790 :名称未設定:2011/01/07(金) 23:44:27 ID:Wpr5vCDTP
>>787
クラス設計に失敗するとそうなるんだよw



ぐぬぬ


791 :名称未設定:2011/01/08(土) 00:50:00 ID:Oa6nuNwf0
考え過ぎなのかもしれないけど、お知恵を拝借願いたく。

スレッドが複数あって、それぞれ非同期で動いてます。スレッドの種類的に2種類あって、それぞれをA、Bとグループ分けしたとします。
ルールとしては、Aのスレッドが動いているときは別のAのスレッドは同時に動けるけど、Bのスレッドは動けません。
逆にBが動いているときは他のBは動けるけどAは動けません。
何も動いていないときはA、Bどちらでも動けますが、先に動いた(lockを獲得出来た)方がAなら、BはAを待たないといけません。

こんな感じの仕様をNSLockを使って実装してみました。
各スレッドが動き出す度にthreadKindA、threadKindBで下のクラスメソッドを呼び出し、処理が終わったらthreadKindNoneで呼び出し。

時系列的にはこんな感じで動きます。(ズレるかな?ズレたらごめんなさい・・・)

threadA1  <=======>              <・・・・・・・====>
threadA2     <=======>
threadA3        <==========>
threadB1           <・・・・・・・・======>
threadB2                      <=========>

そこで問題なのは、以下のログが吐かれることです。
*** -[NSLock unlock]: lock (<NSLock: 0x_______> '(null)') unlocked from thread which did not lock it

threadA1でLockしてthreadA3がunlockしています。ロジックや仕様的には辻褄があっているのですが、
Objective-C的にはイレギュラーなことなのでしょうか。それとも、無視しても良いレベルなのでしょうか。
もし、このログを吐かれないようにするとすれば、どういったロジックが望ましいでしょうか。

792 :名称未設定:2011/01/08(土) 09:56:12 ID:j3fayF3C0
スレッドなんて、そんなにバカバカ作るもんじゃないだろ?
設計を見直すべき。

793 :名称未設定:2011/01/08(土) 10:17:41 ID:lkEDkW9n0
>>789
malloc後にメモリ確保できたかチェックしなくてもいいかってことだろ

794 :名称未設定:2011/01/08(土) 11:43:16 ID:ue0EXfrY0
ランダム

795 :名称未設定:2011/01/08(土) 11:43:16 ID:seZkvJXM0
NSString* datastring = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSArray* rows = [datastring componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
for(NSString* row in rows){
NSArray* nums = [row componentsSeparatedByString:@","];
for(NSString* num in nums){
......

という感じでCSVファイルの読み込みをしているのですが、
"x行目から始まりy行分読み込む"というふうに拡張するにはどうすればいいのでしょうか?

796 :名称未設定:2011/01/08(土) 11:44:38 ID:seZkvJXM0
すみません、インデントが無視され見づらくなってしまいました

797 :名称未設定:2011/01/08(土) 12:13:09 ID:9+icVqqQ0
改行を最初のx個無視して
カンマを最初のy個無視すればいいかと

798 :名称未設定:2011/01/08(土) 12:30:56 ID:Oa6nuNwf0
>>792
まぁ、確かにそうですね。実際には2個か3個位しかスレッドは作らないつもりですが。
その時に作られるスレッドがAかBか、他のスレッドがAかBか、オブジェクトとしては意識したくなかったので、
こんな感じでやろうかなと。

792さんならどんな設計をしますか?

799 :名称未設定:2011/01/08(土) 12:41:00 ID:AJUQKJBP0
NSLock以外の同期オブジェクトを使うんでない?

800 :名称未設定:2011/01/08(土) 14:08:49 ID:c8Fg/XBM0
>>791
>threadA1でLockしてthreadA3がunlockしています。
ありなのか?

今風なら、GCDとかNSOperationだろうか。

801 :781:2011/01/08(土) 14:44:47 ID:NSWkH9tu0
>>793
その通りですね。
言葉足らずですみません。
メモリーチェックはすべきなのでしょうか?

802 :名称未設定:2011/01/08(土) 16:39:18 ID:NFEEDb5j0
iPhoneで計測して取り溜めたデータをPCに転送したいんだけど、
どんな方法がありますか?
ソケット通信で送信するぐらいしか思いつかなくて・・・・

803 :名称未設定:2011/01/08(土) 16:43:07 ID:Oa6nuNwf0
>>799
なるほど、同期オブジェクトですか。ってことでググってみると、@synchronizedってのが使えそうですね。
同期するにはLockしか知らなかったのですが、世の中は広いですね。勉強になりました。ありがとうございました。

>>800
やっぱりなしなのかな? 昔の人間なんで今の技術がちと辛いですわw。
GCD、NSOperationともにググってみました。なるほど、こんなのもあるんですね。もうちょっと勉強してみます。

804 :名称未設定:2011/01/08(土) 17:13:31 ID:AJUQKJBP0
>>803
synchronizedも別スレッド目的ではないような。semaphoeってiOSからは叩けないっけ?
基本的には「NSLockと同じ機能」と「イベント通知」さえあれば他のどんな同期オブジェクトでも
プログラミングで実現可能なんだけど、read-writeロックとか実現しようとすると面倒かも。

805 :名称未設定:2011/01/08(土) 17:16:25 ID:VLxrl8jwP
今時、古典的なセマフォって、あんまり使わないと思う

806 :名称未設定:2011/01/08(土) 17:27:28 ID:AJUQKJBP0
んー、今回の例だとsemaphoeが一番合致してるとおもうけどなあ。

807 :名称未設定:2011/01/08(土) 18:16:08 ID:S/HEI0P+0
教えてください。
多くの画像を処理する場合、画像はpngとjpgどちらで用意する
べきでしょうか。
単純に容量が小さいほうでいいのでしょうか。

808 :名称未設定:2011/01/08(土) 18:35:20 ID:/xz0egFZ0
>>807
pngの一択。半透明や抜き使えると全然ちがうし、iPhoneはpngに最適化されてるらしい。

809 :名称未設定:2011/01/08(土) 18:41:29 ID:/xz0egFZ0
あと注意点として、
うっかりpngにレイヤーとか持たせたりするとサイズがデカくなるけど、
ちゃんとレイヤー無しのpngにすれば結構サイズはちいさくなる。
pngなら色数も指定できるし。

810 :名称未設定:2011/01/08(土) 19:52:51 ID:0snShVXw0
iPhoneアプリをリリースしたいときって、やっぱりテスト用に4,3GS,3G,iPodTouchは揃えないといけないんでしょうか?
みなさんはどうされてますか?


811 :名称未設定:2011/01/08(土) 20:11:16 ID:Nr8OgW7V0
俺は揃えてないよ。4だけ。

812 :名称未設定:2011/01/08(土) 21:43:54 ID:HzfgUw9xP
appDelegateのカテゴリを作ろうとして、カテゴリのファイルを別ファイルにインポートしようとすると、
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
というエラーが出ますが、やっぱりそういう事は出来ないんでしょうか?


813 :名称未設定:2011/01/09(日) 01:42:42 ID:b2qlhGAHP
>>812
すいませんカテゴリでメソッドをオーバーライドするときに、メソッドの一部しか書いてなかったからでした。
カテゴリのオーバーライドには、継承の様にsuperみたいな便利なキーワードがないのですね。

814 :名称未設定:2011/01/09(日) 01:45:06 ID:+Ba2dPF20
>>811
4向けにしかリリースしないんですか?


815 :名称未設定:2011/01/09(日) 02:06:12 ID:Q/zZs2WY0
>>814
いや、最新OS以降とするよ。
3Gでのレスポンスが少し悪いくらいじゃない?

816 :名称未設定:2011/01/09(日) 02:34:25 ID:aHK4QWfT0
ボタンを押しっぱなしにすることでメソッドが繰り返し呼ばれる動作は、IB上などで簡単には実現できないんでしょうか?
まだ勉強していないのでよくわかりませんが、タイマーを使って自分で実装しなければいけませんか?

817 :名称未設定:2011/01/09(日) 02:59:57 ID:xyrqQWlaP
UITableViewクラスにタッチを禁止したりするプロパティってないんですかね?
UIButtonクラスでいうenabled的なものはないのかなと思ったんですが
タッチイベントの中で処理するしかないんでしょうかね

818 :名称未設定:2011/01/09(日) 05:25:50 ID:LntEJCM00
フレームバッファ(ピクセルのデータ列)を自分で保持してその中身を
周期的に更新して画面に表示したいのですがどうのように実装するのが
一番効率が良いでしょうか?

819 :名称未設定:2011/01/09(日) 05:40:07 ID:+Ba2dPF20
>>815
じゃ、わざわざテストのために機種揃える必要はないんですね。
シミュレータで十分ってことか。
当方3GS所有なんですが、その場合でも4を買う必要はないんでしょうか?


820 :名称未設定:2011/01/09(日) 07:59:22 ID:5ykYcexb0
企業内(といっても小さいですが)でiPad導入しようと検討しています。
専用に作ったアプリを入れる場合、認証が必要で、また契約?らしきものが必要との
ことだったのですが、開発環境を入れる際にする1万円くらいのデベロッパーの契約とは
また別なのでしょうか? 別の場合、いったいどれくらいの金額なのでしょうか。

821 :名称未設定:2011/01/09(日) 09:12:33 ID:ilJgLcn70
2ch ヘッドラインニュースBBY(一覧性が秀逸)http://headline.2ch.net/bbynews/

どんな難解ニュースでも掲示板の書き込みを読んで簡単に理解。
ニュースを勢い順にカテゴリー別で表示する"2NN"(2ちゃんねるニュース速報+ナビゲーター)もどうぞ。


822 :名称未設定:2011/01/09(日) 09:53:51 ID:VTtmGB0q0
>>816
うん。タイマー必須だと思う。
>>817
userInteractionEnabled.
>>818
コード効率かメモリ効率かによって答え違うと思うけど、1秒に3枚、とかならtimerで。
>>820
といっても小さい企業なら、1万円ぐらいのデベロッパー契約と同じ。企業内で使うiphone/ipadをすべて登録する必要があるけど。

823 :名称未設定:2011/01/09(日) 11:28:13 ID:5ykYcexb0
>>822
まさか、登録機器ごとに1万くらいの契約がいるってことはないですよね・・・?
一つ疑問なんですが、一度アプリを完成させて提出?して申請がおりたあとに
機能を付加したり改修した場合の取り扱いはどーなってるんでしょう。
大幅な変更をする度に申請が必要なんですか?

824 :名称未設定:2011/01/09(日) 11:35:30 ID:aS2fXKg80
>>823
例の一万円の契約でテストや小規模使用用に99台まで
テスト機を登録できるはず。
で、それとは別に企業などでの使用用に999ライセンス10万/年って
エンタープライズライセンスが申し込むとこに並んでたはずだが。

厳密には企業使用(商用)は下のライセンスじゃないとダメなはず。

825 :名称未設定:2011/01/09(日) 11:57:58 ID:5ykYcexb0
>>824
エンタープライズの項目みて参りました。
DUNS番号取得団体に限るみたいでかなり敷居が高いような・・・。
アドホック配信との違いがいまいちわからないです。
10台ipad用意してそれに作ったアプリを動作させたい程度の場合、
アドホック配信で実現することは不可能なんでしょうか。
法人デベロッパーとエンタープライズと比較表では
アドホック配信と社内専用配布の違いだけですが、規模の問題なんですかね

826 :名称未設定:2011/01/09(日) 13:30:33 ID:BPJJspfz0
エンタープライズって年間3万じゃなかったけか

827 :817:2011/01/09(日) 13:37:48 ID:xyrqQWlaP
>>822
おおお、ありがとうございます!

828 :818:2011/01/09(日) 15:41:28 ID:qHfpkTJV0
>>822
実は低スペック機器用のゲームプログラムを
あまり変更せずに移植しようと考えています。
なので30FPSぐらいは出したいと考えています。

今は、
独自のUIVewでdrawRectを

- (void)drawRect:(CGRect)rect {
CGImageRef img = CGBitmapContextCreateImage(bitmapContext);
CGContextDrawImage(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, 320, 480), img);
CGImageRelease(img);
}

のようにオーバライドして
timerProcのなかでbitmapContextの中身を更新、[self setNeedsDisplay]としてしいます。

もっとうまいやり方があるでしょうか?




829 :名称未設定:2011/01/09(日) 16:51:10 ID:VTtmGB0q0
>>825
エンタープライズはそもそも企業規模がかなり大きくないとだめなはず。
 この場合、どのiPadにもインストールできるprovisioningを発行できて、
 これをインストールしてあるipadには当該企業の証明書で署名したアプリは自由に実行できる。
小規模企業内で使用する分には1万/年の契約で審査は不要だが個別ipadの登録が必要で、
 登録機種に基づいてprovisioningが発行される。つまり登録してないipadにはインストールできない。
 開発用のprovisioningとadhocなprovisiongの違いは単に有効期間、だと思う。
>>828
ゲーム用ならcocos2dとか。

830 :名称未設定:2011/01/09(日) 17:04:16 ID:5ykYcexb0
>>829
うーむ、かなり面倒なんですね・・・。
>個別ipadの登録が必要で
この意味合いがよくわからないんですが、
プログラム的に機種の固有IDを入れ込むのか、それともAppleに機種そのものの登録を
申請するのか、どっちなんでしょう。
>provisioningが発行される
これってAppleが発行するってことですよね? てことは機種そのものをAppleにも管理される
ってことなんでしょうか。

831 :名称未設定:2011/01/09(日) 17:10:42 ID:VTtmGB0q0
>>830
Appleに機種そのものの登録をする(最大99台まで)
その機種情報と、あなたの署名情報が入ったprovisioningが発行される。

832 :名称未設定:2011/01/09(日) 17:13:15 ID:VTtmGB0q0
で、プログラム自身にはあなたの秘密鍵で署名する。
ipad側はprovisioning(これは設定→プロファイル、で表示されます)と
プログラム自身の署名を検証して動作する。こんなもんでいい?

833 :名称未設定:2011/01/09(日) 17:31:08 ID:z3j+mCJL0
少しはドキュメントくらい読もうよ…。

834 :名称未設定:2011/01/09(日) 17:45:23 ID:Q/zZs2WY0
>>819
大きく違うのはフロントカメラの有無くらいかな。
画面の座標は同じ。320×480
ただシミュレータと実機は、完全に同じ動作を保証してないよ。

835 :名称未設定:2011/01/09(日) 17:45:31 ID:VTtmGB0q0
その手があったか!
#getifaddrsするとifa_netmask->sa_lenが16でない・・・(例えば255.255.255.0だと255.255.255までの長さになる)
#netbsdって元からこんなだったっけ?

836 :名称未設定:2011/01/09(日) 20:06:42 ID:At6Z5+zkP
iOS SDK HACKSってオライリーから出てる本買ったんだけど、あれHACKじゃなくね?
ググってよく見かける開発系ブログの内容集めた感じなんだが。その辺どうなんでしょう

837 :名称未設定:2011/01/09(日) 20:13:08 ID:aS2fXKg80
>>836
そのHacksは「小ネタ集」って意味だ。

838 :名称未設定:2011/01/09(日) 20:32:48 ID:Ka4wbDWI0
それならTipsって書いといて欲しいよな・・・
同じオライリーのBINARY HACKSみたいなのを期待してたからガッカリしたわ

839 :名称未設定:2011/01/09(日) 20:33:27 ID:UWN/U0BIP
>>829
Enterpriseの従業員500名以上の制限は去年無くなった。DUNS取得だけ。
デバイスID登録不要/台数無制限の他に、アプリを無線配信出来るのもメリットだな。
Standardは、iTunesかiPhone構成ユーティリティ(かXcode)のUSB接続が必須。

840 :名称未設定:2011/01/09(日) 20:39:07 ID:UWN/U0BIP
GCDはセマフォ持ってる。

841 :名称未設定:2011/01/09(日) 21:11:35 ID:5ykYcexb0
>>832
丁寧にありがとうございます。よくわかりました。

842 :名称未設定:2011/01/10(月) 01:32:20 ID:Y8RegKTq0
アプリAでCoreDataに出力したデータを、アプリBから呼び出せるのかな?
マスタデータをwebから取ってくるアプリAと、そのマスタデータを元に情報を入力するアプリBを作りたいんだけど。

843 :名称未設定:2011/01/10(月) 01:41:00 ID:T4e2rXl80
>>842
アプリAのDocumentフォルダにアプリBがアクセスする事はできない。
出力したファイルをサーバーにアップするのが常套手段だと思う。

844 :名称未設定:2011/01/10(月) 02:17:53 ID:xrUmjNRT0
C言語すら一度も触ったことのない俺にもできますかね?
昔、MSXのBASICでガリガリとプログラム書いてましたが
それが最初で最後です

845 :名称未設定:2011/01/10(月) 02:20:09 ID:z1+b5HGs0
CなんかObjective-Cに比べたらBASICとかと変わらん。
やれば覚えるからやってみれ。

846 :名称未設定:2011/01/10(月) 02:36:59 ID:Y8RegKTq0
>> 844 ありがとうございます。やはりアクセス出来ませんか。
仕方ないので、アプリ毎にWebサービスからXML取り込む処理を書きます。
業務アプリで機能毎にアプリを分けようと思っていたんですけど、
マスタをアプリ毎に取り込むのは、面倒だなぁ〜と思っていたんで。
セキュリティ上しょうがないって気もしますが、アプリ間のデータ
共有はできるようになってほしいな。

847 :名称未設定:2011/01/10(月) 02:38:17 ID:R8IleQOY0
私はipodをもっていて、先日初めてiphone4を買ったとき定員にipod
の曲をそのまま聴くためにはipodのアカウントでitunesに登録しないと
いなけないといわれ、今帰省していて元のipodのアカウントがわからない
状態です。元の携帯の連絡先もipone4では全て白紙になり、アパートに帰るまで待つしかない
と言われました。どうにかならないかいろいろ調べたのですがよく分かりませんでした。
そもそもiphone4とipodのitunesは別々なのでしょうか?
やはり、戻るまでiphoneのitunes設定はできないのでしょうか?
回答よろしくお願いします。

848 :名称未設定:2011/01/10(月) 02:39:55 ID:Y8RegKTq0
>> 843
アンカーミスりました。
ありがとうございました。

849 :847:2011/01/10(月) 02:39:57 ID:R8IleQOY0
すいませんスレチでした。たのスレで聞きます。

850 :名称未設定:2011/01/10(月) 09:55:21 ID:+VVxrrSO0
そういやなんで曲は再ダウンロードに料金が必要なのに、アプリは同じアカウントなら無料なんだろう?

851 :名称未設定:2011/01/10(月) 13:15:42 ID:j6wIdcwMP
>>846
Document interaction使ってインポートする事は出来る。

852 :名称未設定:2011/01/10(月) 13:17:27 ID:j6wIdcwMP
>>850
著作権者の意向とバージョンアップの有無

853 :名称未設定:2011/01/10(月) 13:55:06 ID:Gu2LKIWe0
カラーピッカーによる色の設定画面を作り色の設定時にUIColorの colorWithHue: saturation: brightness: alpha;
にて色を設定するようにしました。これらのHSB値によって設定されたUIColorからHSBの値を分解して各々float型で
取得するにはどのようにすればよいでしょうか?UIColorからRGB値を取得することはこちらのサイトのやり方で
http://d.hatena.ne.jp/ttkkgg/20090610/1244615514
出来たのですがHSVの各値を取得する方法が調べても出てきません。
もしご存知の方がいらっしゃいましたら教えて頂けると助かります。

854 :名称未設定:2011/01/10(月) 14:01:07 ID:Gu2LKIWe0
>>844
ポインターとクラスの仕組みさえ理解出来ればそんなに難しくないよ。

855 :名称未設定:2011/01/10(月) 14:05:09 ID:Gu2LKIWe0
>>844
俺も半素人状態から開発始めて約1ヶ月だがクラスとポインター等のオブジェクト指向の仕組みが
わかってればあとはインスタンス化やらメソッドやらdelegateやらの専門用語を自分の中の言葉に
置き換えて理解出来るようになれればそこそこ作れるようになる。

856 :名称未設定:2011/01/10(月) 14:21:05 ID:Gu2LKIWe0
>>844
iPhoneのプログラミングではファイルの読み書きとか画像の表示とか音の再生とかそこら編の基本的な
部品はほとんどSDKで用意されてるので一からすべて作る必要がないから初心者でも結構やりやすいよ。
部品を組み合わせて一つの機械を作る感覚に似てる。各々の部品の意味と使い方さえわかれば
十分アプリの作成が可能だよ。

857 :名称未設定:2011/01/10(月) 16:04:58 ID:KJuQUiPY0
表形式の表示はどのように実装すればいいのでしょうか。
HTMLでいうtableタグのようなものです(複数行、複数列でなる表)。
標準アプリのカレンダーの実装方法に近いような感じがするのですが、ぐぐっても出てきません。宜しくお願いします。


858 :名称未設定:2011/01/10(月) 16:06:39 ID:jfjJqbT5P
iOS4.2にしたらiAdがタップできなくなりました
contentSizeID以外に何か変更する必要がありますか?

859 :名称未設定:2011/01/10(月) 16:46:24 ID:Gu2LKIWe0
>>857
IBで日付表示用のラベルと予定表示用のラベルを貼付けた一日分のビューを作って
それをメインビューに縦横に並べればいいんじゃね?

860 :名称未設定:2011/01/10(月) 16:48:54 ID:Gu2LKIWe0
>>857
UITableViewでも似たようなことはできるし汎用性は高いけど
お手軽にやるなら先のやり方。

861 :名称未設定:2011/01/10(月) 17:02:48 ID:+VVxrrSO0
表示目的の表ならまさにhtmlでuiwebview使うのがラクかと。

862 :名称未設定:2011/01/10(月) 17:21:56 ID:Gu2LKIWe0
>>861
そういう発想も面白いとは思うがそれだとまさに表示するだけだな。

863 :名称未設定:2011/01/10(月) 17:45:28 ID:+VVxrrSO0
しかしデザインをデザイナーに丸投げできるという利点も。

864 :名称未設定:2011/01/10(月) 18:10:57 ID:Gu2LKIWe0
>>863
確かに。cssとかWeb系が得意なら中の要素を動的に作ることもできるだろうしそういうのもアリかもな。

865 :857:2011/01/10(月) 19:15:58 ID:KJuQUiPY0
みんな、ありがとう。
>>859 のやりかたで挑戦してみる。

みんな詳しいなー。

866 :名称未設定:2011/01/10(月) 21:13:36 ID:Gu2LKIWe0
UIViewに追加したボタンを押しても反応しなくて困ってます。
addButtonというボタンをUIViewのcontentViewに追加しています。
addButtonを押したときにaddItemメソッドに飛ぶはずですが
なぜか飛びません。どこか気になる点等ありましたら
教えてください。

contentView = [[UIView alloc] initWithFrame:CGRectMake(0,0,768,64)];
contentView.backgroundColor =[UIColor colorWithPatternImage:[UIImage imageNamed:@"top.jpg"]];
contentView.userInteractionEnabled = YES;

UIButton *addButton = [UIButton buttonWithType:UIButtonTypeContactAdd];
addButton.frame = CGRectMake(727,29,29,29);
addButton.tag = 0;
[addButton addTarget:self action:@selector(addItem:) forControlEvents:UIControlEventTouchUpInside];
[contentView addSubview:addButton];

[self.view.superview addSubview:contentView];
[contentView release];



867 :名称未設定:2011/01/10(月) 21:26:59 ID:Gu2LKIWe0
すみません自己解決しました。
その後に追加したもう一つのビューが見えないながらも上に重なっていたようです。

868 :名称未設定:2011/01/10(月) 22:42:31 ID:rAFDw/kP0
iPhoneで特定のメーカーのルーターの設定画面にアクセスして操作するアプリを作って申請したのだが、みごとRejectされました。
フィードバックによるとデモ用のアカウントをよこせ、またはデモビデオのリンクを送れとか言ってきてる。
特定のハードがないと使えないアプリなので審査する人は無論持ってないだろうからアカウント教えてもしょうがないし、このような特定のハードが必要なソフトの場合はデモビデオ撮って送ればOKなんですかね?

869 :名称未設定:2011/01/10(月) 23:31:13 ID:pY8XXiSY0
ラジコン操作するアプリとかどうやって説明したんだろうね。

870 :名称未設定:2011/01/10(月) 23:48:22 ID:6M0ih9j00
ルーターの設定アプリなら、ルーターのIPアドレス教えて、デモアカウント出せば通るだろ。

871 :名称未設定:2011/01/10(月) 23:52:29 ID:T4e2rXl80
特定メーカーの許可は取ってあるのかね?

872 :名称未設定:2011/01/10(月) 23:58:40 ID:352YIS21P
>>868
デモビデオ送ればOKということの方に驚いたw

そういう審査方法もあるのか。


873 :名称未設定:2011/01/11(火) 00:33:25 ID:ET7WW7FQ0
UIButtonのtouch up insideのinsideの定義が広すぎる。
指の太さなどを考慮して広くしてあるのは理解できるけどこれじゃあまりに...
という不満を抱いた場合はオリジナルのボタンを作るしかありませんか?

874 :名称未設定:2011/01/11(火) 01:54:10 ID:ydn8APoe0
>>851
Document interaction使ってインポートですね!ありがとうございます。調べてみます。

875 :名称未設定:2011/01/11(火) 12:39:59 ID:QU33L1KS0
デモビデオでいいんだ。意外と柔軟だね。
#まあ公開予定ないオレオレ操作アプリだからどうでもいいけど

876 :名称未設定:2011/01/11(火) 15:07:06 ID:zy/VkDQjP
車とか送り付けられても困る。

877 :名称未設定:2011/01/11(火) 15:56:03 ID:QU33L1KS0
レビュワーさんハケーン!

878 :名称未設定:2011/01/11(火) 16:07:11 ID:mO48J8xF0
画面にボタンとか、タッチに反応するものが配置されてて、
かつ画面全体に対するフリック操作みたいなのでページ遷移する仕組みって
どういう組み方すればいいんでしょうか。
フリック検出用のViewとかを被せても重なりの問題をクリアできなくて…。

879 :名称未設定:2011/01/11(火) 16:30:22 ID:JMDOn1aI0
C系じゃなくて高級言語っぽいのは無いのでしょうか。
それとも中間言語。perl や ruby があるといいのに。

880 :名称未設定:2011/01/11(火) 16:36:47 ID:Le4xbmzIP
>>879
どっかにあった。

881 :名称未設定:2011/01/11(火) 16:37:47 ID:VPO8Tfwq0
>>878
配置するボタンなどはサブクラスを作っておいて、
フリック動作の時だけ処理を親viewに委譲するのが簡単。

>> 879
お前>>844だろ?

882 :名称未設定:2011/01/11(火) 17:02:30 ID:QU33L1KS0
>>878
UIgestureRecognizer.

883 :名称未設定:2011/01/11(火) 17:04:06 ID:QU33L1KS0
ってそういう意味じゃないか、ごめん。
透明なUIViewでいいんじゃないかな。

884 :名称未設定:2011/01/11(火) 17:34:52 ID:GL5UUnTb0
数本の指それぞれでお絵かきできるアプリを作りたいと思い、
マルチタッチでそれぞれの指を認識して受け取りたいと思ったのですが、
touchesBegan、touchesMovedなどのメソッド内では、
1本目の指、2本目の指、といったように、
それぞれが特定できるようなIDが降られているわけではないので、
別々に処理して線を続けて書いていくことが出来ない状態なんです。

これは呼ばれるイベントの仕様上どうしようもないのでしょうか?

885 :名称未設定:2011/01/11(火) 17:44:32 ID:zy/VkDQjP
こういうのね。

日産リーフ を制御するアプリ
http://itunes.apple.com/jp/app/id406767835?mt=8

886 :878:2011/01/11(火) 17:58:21 ID:UUoazs7X0
ありがとうございます。

>881
ボタン方面からのアプローチが結果的に簡単なんでしょうか。
そうなるとなかなか一元的にはいかなそうですけどそういう発想も考えてみます。

>883
透明UIViewで行ければ!とは思うのですが、
初心者すぎてか重なりの下のボタンを動作させたりというのができず…
ネクストレスポンダに流す云々もいじってはみたんですが、
やはり重なり下のUIButton等を動かせず、
たぶん重なりの下ではなく親に処理が行ってしまうわけですよね。
透明UIView関係でよい方法があるでしょうか…。

887 :名称未設定:2011/01/11(火) 21:16:13 ID:HsE3JXbs0
>>853
自前でHSV変換はどうでしょう。「rgb hsv 変換」でググればサンプル出てくるかと。

>>886
UIScrollViewにUIButton配置じゃだめですか?

888 :名称未設定:2011/01/11(火) 21:37:10 ID:QU33L1KS0
がーん、アプリ公開作業していたらなんか反応なくなった、と思って再ログインしたらitunes connectダウソ中ですか・・・

889 :名称未設定:2011/01/11(火) 22:02:51 ID:VPO8Tfwq0
>>888
普通に見れてるけど。
クッキー削除してみれば?

890 :886:2011/01/11(火) 22:14:57 ID:UUoazs7X0
>>887
個人的にはcocos2dのシーン切り替えに処理を投げたかったので、
何か一元的なジェスチャー取得方法が無いかと思ってました。
書籍アプリみたいなのだと、
ページ内のタッチ要素+全域でページめくり用のフリック検出みたいなのが多いと思うので
何かうまい実装方法があればと思ったんですが・・

891 :名称未設定:2011/01/11(火) 23:19:34 ID:l2kVb2Z60
>>890
ボタンもUIView形式にすればできるよ。ボタンViewにタッチイベントでタッチ
したときにボタン押したのと同じようにしてやればいい。

メインのビューにUIGestureRecognizerでフリックジェスチャーをつけてやって
あとはボタンViewをaddSubViewするだけで自動的にメインビューのジェスチャー
を受け継いでくれる。

UIGestureRecognizerの使い方はこの辺を参照
http://blog.syuhari.jp/archives/2234


892 :名称未設定:2011/01/11(火) 23:39:22 ID:VPO8Tfwq0
cocos2dって基本的に1ビューじゃないの?

893 :名称未設定:2011/01/11(火) 23:44:10 ID:l2kVb2Z60
>>892
cocos2dはよく知らん

894 :名称未設定:2011/01/12(水) 00:09:30 ID:p+lb1oqi0
GPS関連のプログラムを作っているとどうしても実機でデバッグしたいんですけど、NSLogってMacと繋げっぱなしじゃないと無理じゃないですか・・・
ログをIPhoneに貯めといて後で見るって方法で簡単なの無いですかね?

895 :名称未設定:2011/01/12(水) 00:11:09 ID:f+opRqPM0
>>893
UserDefaultsにArray型で書き出していくか
textファイルに書き出してあとからオーガナイザで読み込んでみればいい

896 :名称未設定:2011/01/12(水) 00:17:26 ID:bAQxqYwS0
>>894
つMacBook

897 :890:2011/01/12(水) 00:20:58 ID:KaxNlVan0
>>891
UIButtonじゃなくてUIViewのボタンにすれば、、みたいなことでしょうか。
レスポンダチェーンがどうもよく分かってなくて混乱する…
UIGestureRecognizerはsubviewを自動で受け継げるんですか!
iOS3.2以降というのがあったのでひとまず無しでチャレンジしてました。
初期デバイス無視はそれなりにでかいかなと思い…

>>892、893
cocos2dはシーンという独自の概念で画面遷移ができるんですが、
要はそういう別のものに投げたいのでUIScrollView等は使いづらい
という感じでした。

898 :名称未設定:2011/01/12(水) 00:30:13 ID:iNcXTLd+P
まだ3.2使ってるユーザーはアプリダウンロードしないから関係ない。

899 :名称未設定:2011/01/12(水) 01:24:43 ID:f+opRqPM0
超初歩的なことで済みませんが
NSintegerをint型にキャストする方法を教えていただけないでしょうか?

900 :名称未設定:2011/01/12(水) 01:28:25 ID:YymqeZqX0
>>899
キャストの必要なし

901 :名称未設定:2011/01/12(水) 01:30:00 ID:f+opRqPM0
すまんただ=でつなぐだけだったな。

902 :名称未設定:2011/01/12(水) 01:32:41 ID:f+opRqPM0
int numberOfImages = 7;

for (int i=0; i < MAX_VIEW_NUM; i++)
{
if (numberOfImages<i);
{
break;
}
}
こうやって書いたらiが7回ループされてからbreakされると思うのですが、
なぜか1回目でbreakされてしまいます。どこがおかしいのでしょうか?


903 :名称未設定:2011/01/12(水) 01:43:53 ID:IWg2z90Q0
>if (numberOfImages<i); ←


904 :名称未設定:2011/01/12(水) 01:44:21 ID:f+opRqPM0
if後に;がついてたね、お馬鹿だったw

905 :名称未設定:2011/01/12(水) 01:46:39 ID:f+opRqPM0
>>903
ありがとう!

906 :名称未設定:2011/01/12(水) 09:16:05 ID:1+hxQbLvP
デリゲートに引数を渡す方法はありますか?

907 :名称未設定:2011/01/12(水) 09:18:49 ID:1+hxQbLvP
>>906
すいません間違えました。
デリゲートに独自の引数を渡す事は出来ますか?でした。
例えばviewDidLoadを他クラスから呼ぶ時に、
その呼び出しに用意されている引数以外に
何か付けれるかと言う事です。

908 :名称未設定:2011/01/12(水) 10:38:15 ID:bAQxqYwS0
>>907
考えた事も無いけど、たぶん無理でしょ。デリゲートは引数が決まってるんだし。
デリゲートを処理する側で、必要な変数を読みにいけばいいんじゃないの?

909 :名称未設定:2011/01/12(水) 10:54:16 ID:6qXAiW/G0
viewDidLoad を他クラスから呼ぶという発想自体問題あると思うが。
諸々良くわかっていて独自の特殊な viewController
書いてるなら別だけど。

910 :名称未設定:2011/01/12(水) 13:15:41 ID:5p/A60uM0
そいつはデリケートな話だな

911 :907:2011/01/12(水) 16:03:07 ID:1+hxQbLvP
どうもありがとう。
すいませんviewDidLoadは例で、
ただ、デリゲートメソッドの中からだと、
グローバル変数を使わなきゃならなくなるので、
他の方法はないかなと思いました。

912 :名称未設定:2011/01/12(水) 16:05:11 ID:8GQ5HGhXP
自分でプロトコル作ればいい

913 :907:2011/01/12(水) 16:35:19 ID:1+hxQbLvP
>>912
、、、考えたけど分かりませんもうちょっとヒントを、、。

914 :名称未設定:2011/01/12(水) 16:36:44 ID:EunLdCpC0
>ただ、デリゲートメソッドの中からだと、
>グローバル変数を使わなきゃならなくなるので、

え?

915 :名称未設定:2011/01/12(水) 16:37:22 ID:F2XA/Jko0
IB上で追加したボタンのsubview名ってどうしたらわかりますか??

916 :名称未設定:2011/01/12(水) 16:54:02 ID:OFJbkywzP
>>911
マジレスすると、システム定義のdelegateメソッドでは、必要な情報はすべて引数で渡されるか、delegateオブジェクトがもともと持ってる筈。
足りないと思うのは理解が足りないだけ。

917 :名称未設定:2011/01/12(水) 16:56:59 ID:SlNuS0Ts0
>>915
名前なんて設定するところあったっけ?
1)使う側のクラスのアウトレットやイベントにそのボタンをIB上で接続する。これが通常手段。
2)tagに値を入れて、viewwithtag:を使う。

918 :名称未設定:2011/01/12(水) 17:08:04 ID:bAQxqYwS0
>>913
考えてないだろw

919 :名称未設定:2011/01/12(水) 17:16:01 ID:F2XA/Jko0
>>917
わかりづらかったらすみません
insertSubview:aboveSubview:とかで指定するとき、なんて指定すればいいのかなと。

920 :907:2011/01/12(水) 17:23:37 ID:1+hxQbLvP
>>914
他のクラスのインスタンスが作ったインスタンス変数やローカル変数の値を、
他の方法でもらう事ができるのでしょうか?

てっきりゲッターやセッターがそう言う役を果たすのだとおもっていたのですが、
それをすると当然別のインスタンスを生成しなきゃならないので、
用途が違いますよね、、。

921 :名称未設定:2011/01/12(水) 17:41:52 ID:bAQxqYwS0
>>920
セッターで参照する事に何か不都合でもあるのか?

922 :907:2011/01/12(水) 18:07:03 ID:1+hxQbLvP
>>921
セッターで参照できるのはセッターで生成されたインスタンスが持つ変数で、
他で生成されたインスタンスにはアクセス出来ないと思っているのですが、
違うのでしょうか。

923 :名称未設定:2011/01/12(水) 18:12:41 ID:OFJbkywzP
>>919
IBOutlet

924 :名称未設定:2011/01/12(水) 18:30:05 ID:bAQxqYwS0
>>922
違います。

925 :907:2011/01/12(水) 18:45:22 ID:1+hxQbLvP
>>924
家に帰ってまた検討します。
みなさんありがとう。

926 :名称未設定:2011/01/12(水) 19:13:55 ID:OZQvWHFk0
アプリからDocumentsディレクトリに保存できるデータの最大容量ってどれくらいでしょうか?
アプリ自体は2Gのようですが。

927 :名称未設定:2011/01/12(水) 19:16:58 ID:L6ETAMYX0
ストレージの限り

928 :名称未設定:2011/01/12(水) 19:57:21 ID:iNcXTLd+P
>>919
名前じゃなくてviewのオブジェクトそのものを渡す

929 :名称未設定:2011/01/12(水) 20:21:31 ID:ccgSlJSY0
>>919
質問が理解できなかったが、
ttp://developer.apple.com/library/ios/#documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html

>Inherits from UIControl : UIView : UIResponder : NSObject
ボタンは、UIViewを継承しているから、ボタンを指定するだけだぞ。

930 :名称未設定:2011/01/12(水) 21:00:50 ID:SlNuS0Ts0
ボタンオブジェクトを得るには、viewwithtag:を使うか、IBOutletに接続するか。

931 :名称未設定:2011/01/12(水) 22:10:26 ID:SlNuS0Ts0
しかしレビューしてくれて年間1万しかかからない、って安過ぎだよなあ。
でももうちょっと高くとってもいいから、講座とか開いたほうがトータルではコスト安いんじゃ?

932 :名称未設定:2011/01/12(水) 22:16:51 ID:MefB6H0k0
>>931
そんなことしたら、レビュールールの穴をアップルが勝手に埋められなくなるじゃないかw

933 :907:2011/01/12(水) 23:24:16 ID:1+hxQbLvP
今家で試してみたのですが、やはり他のインスタンスからゲッターで値がとれません。

例えば(関係ない物は省略)appDelegateでインスタンス変数string、プロパティ設定

@interface UntitledAppDelegate : NSObject <UIApplicationDelegate> {
NSString* string_;
}
@property (nonatomic, retain) NSString* string_;

次に実装で値testを入れる

@implementation UntitledAppDelegate
@synthesize string_;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
string_ = @"test";

次に処理が移るviewContorllerで値をゲット

@implementation UntitledViewController
- (void)viewDidLoad {
[super viewDidLoad];
UntitledAppDelegate* uad = [[[UntitledAppDelegate alloc] init] autorelease];
NSLog(@"%@",uad.string_);

ですが、実行してコンソールに表示される値はやっぱりtestではなくnilなのです。

appDelegateで代入した値を取るグローバル変数を使う方法以外の方法で、
もっと正当な方法があれば教えてほしいです。

934 :名称未設定:2011/01/12(水) 23:28:02 ID:bAQxqYwS0
>>933
予想以上に酷いなww
とりあえず入門書を1冊終えてから出直してこい。

935 :名称未設定:2011/01/12(水) 23:43:59 ID:BkYpbWXN0
グローバル変数でできるならそれでいいじゃん。

936 :名称未設定:2011/01/12(水) 23:52:30 ID:cMGDJeF+0
application:didFinishLaunchingがいつ呼ばれるか考えたら。
もっと言うと、何でappDelegateを自分で作ってんだ。

937 :名称未設定:2011/01/13(木) 00:52:53 ID:TEcTJtsE0
>>933
>string_ = @"test";
self.string_ = @"test";

>UntitledAppDelegate* uad〜
UntitledAppDelegate * uad = (UntitledAppDelegate *)[UIApplication sharedApplication].delegate;

ttp://sarudeki.maiway.jp/forum/topic/113



938 :907:2011/01/13(木) 01:22:59 ID:Rnj1rDUeP
今回それらのデリゲートを選んだのは、今回のゲッターが他のインスタンスの値を他の
インスタンスから読み込む事が出来るのかを調べる為であって、ただ呼ばれる順序が
重要なだけで、本来の用途は無視しています。ですからappDelegateを作ったりして無茶をしてます。

プロパティは、自分のインスタンス内で生成したインスタンスに対しては入れたり見たりを出来ますが、
他インスタンス(この場合viewControllerのインスタンス)からその値を参照する事は出来ないんじゃないか
と思うんですが。

もし出来ないなら、そうしようと思えば、やはりグローバル変数にするか、->で参照するしかない
のでしょうか?もっとスマートな方法はないのでしょうかという疑問でした。

939 :名称未設定:2011/01/13(木) 01:29:45 ID:IYOwRSgE0
>>938

937の直しの意味がお分かりか?

940 :907:2011/01/13(木) 01:31:26 ID:Rnj1rDUeP
>>937
うぉぉ!!!!!!
ありがとうございました。。。

941 :名称未設定:2011/01/13(木) 06:31:43 ID:GanvVGFz0
>他インスタンス(この場合viewControllerのインスタンス)からその値を参照する事は出来ないんじゃないか
と思うんですが。
>>1を10回声に出して読め。

942 :名称未設定:2011/01/13(木) 09:48:26 ID:7LM1dnw40
おいおい、もう4.3出るのかよ。
4.2の時全部再インストールさせられたんだけど、
また全入れ替え?いったいどのくらいの頻度でこれ行うんすか?3ヶ月位?
教えて偉い人

943 :名称未設定:2011/01/13(木) 10:03:32 ID:QbC38vr00
ユーザーも全員がアップデートするわけではないのが痛いなあ。
旧OSで不具合とか言われるとこまっちゃう。

944 :名称未設定:2011/01/13(木) 10:27:10 ID:5u7mdicp0
>>940
だからクラスとインスタンスをきちんと区別しておかないとダメだよっていってるじゃん

945 :名称未設定:2011/01/13(木) 10:30:34 ID:C6CvUmKp0
>>940
根本的な解決にはなってないけどな。
次はもう少し勉強してから質問しろよ。

946 :名称未設定:2011/01/13(木) 10:51:12 ID:zOgP2E8zP
4.3b...AppleTV買って来ます...

947 :名称未設定:2011/01/13(木) 11:19:21 ID:GanvVGFz0
クラスとインスタンスの区別ができなくなるのはIBにも一因あるよなあ。

948 :名称未設定:2011/01/13(木) 11:27:40 ID:C6CvUmKp0
>>947
そうか?

949 :名称未設定:2011/01/13(木) 12:03:03 ID:GanvVGFz0
変数は代入するまで使えない、という至極単純なリクツだけで
代入してもいないインスタンス変数を使うのはオカシイと気づくはずなのに、
代入したはずのないoutletに値が入ってるから、そういうもんだ、と思っちゃうんだと思う。

950 :名称未設定:2011/01/13(木) 12:33:28 ID:zOgP2E8zP
Initが呼ばれないのも混乱の一つ

951 :名称未設定:2011/01/13(木) 13:26:31 ID:5u7mdicp0
あれはただのインターフェース作成ツールじゃない

nib(コンパイルされたxib)はオブジェクトをシリアライズしたものだからな
ロードされた時点で各インスタンスが適切に生成されている

ApplicationとFirstResponderはプロキシオブジェクトと考えればいい


ていうのが理解できればIBもいいツールだよ

952 :名称未設定:2011/01/13(木) 13:37:38 ID:C6CvUmKp0
>>949
なるほどな。そこまで考えた事はなかった。
でも、それを理解した上で使うのもプログラマの役割だと思うけどな。
エンドユーザー向けの便利アプリではないのだから。

953 :名称未設定:2011/01/13(木) 14:03:49 ID:5yKJ9kUe0
まだ一度もアプリを提出したことがないんですが、
プログラミングの記述が下手とか、体裁がおかしい
などの理由でリジェクトされることはあるのですか?

954 :名称未設定:2011/01/13(木) 14:08:45 ID:C6CvUmKp0
>>953
ない。
そんな所まで見ないだろうし。

955 :名称未設定:2011/01/13(木) 14:32:03 ID:lhVRREYj0
MPMoviePlayerを使用して動画を再生しています。
現在Viewスクリーン上ではきちんと再生されています。
この動画から再生しているフレームのテクスチャを生成し、OpenGL上でポリゴンに貼付けたい
と思っています。
ソースは以下の通りですが、動画の1フレーム目の画像しか取得出来ませんでした。
参考書籍やサイトなどご存知の方がいらっしゃいましたらご教授お願いいたします。

CGRect rect;
rect = _player.moviePlayer.view.bounds;
UIGraphicsBeginImageContext(rect.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* screenImage = UIGraphicsGetImageFromCurrentImageContext();
NSData* pngData = [[[NSData alloc] initWithData:UIImagePNGRepresentation(screenImage)] autorelease];
UIGraphicsEndImageContext();

GLuint Texture;
// 画像を読み込み、 32bit RGBA フォーマットのデータを取得
CGImageRef image = screenImage.CGImage;
NSInteger width = CGImageGetWidth(image);
NSInteger height = CGImageGetHeight(image);
GLubyte* bits = (GLubyte*)malloc(width * height * 4);
//バッファを確保したら初期化する!
memset(bits, 0, width * height * 4);
CGContextRef textureContext =
CGBitmapContextCreate(bits, width, height, 8, width * 4,
CGImageGetColorSpace(image), kCGImageAlphaPremultipliedLast);
CGContextDrawImage(textureContext, CGRectMake(0.0, 0.0, width, height), image);

// 以下OpenGLでテクスチャを作成しています

956 :名称未設定:2011/01/13(木) 16:30:44 ID:xqBJ5uwz0
もう4.3かぁ。3.2から4.2の時よりは楽だろうけど、色々と面倒やな

957 :名称未設定:2011/01/13(木) 16:41:25 ID:YHE15njo0
質問です。

ゲーム系アプリなどで
起動中にDefault.pngのロードではなくて
リソース?を読み込む処理をしてるのをよく見るのですが
あれは具体的に何をしているのでしょうか?

参考の書籍やサイト、またこのような処理の名前(キーワード)を
教えてください。


958 :名称未設定:2011/01/13(木) 16:49:25 ID:C6CvUmKp0
>>957
まずこれを読むと良いよ
http://www.neowing.co.jp/detailview.html?KEY=NEOBK-903308

959 :名称未設定:2011/01/13(木) 16:58:22 ID:PBEUyQUR0
そんなに面倒でもないでしょ
一番大きな変更がMPMoviePlayerController がAirPlayをサポートした
ってぐらいであとは小さい拡張とバグフィックスだけ

960 :907:2011/01/13(木) 17:31:35 ID:Rnj1rDUeP
>>949
うんだからプロパティで他のインスタンスの値を得られるとかおかしいなって聞いたんだけど、、、。
お粗末でした。。。

961 :名称未設定:2011/01/13(木) 17:39:57 ID:sppGmxRX0
>>957
Default.pngを使うか、最初の読み込み時に、会社ロゴなどを表示
ロゴ表示中に、必要なファイルの読み込み、例えば、テクスチャーデータ、音声データ、記録データなど。
その後、通常の本体の処理。
初期化の一種じゃね?


962 :名称未設定:2011/01/13(木) 17:42:47 ID:C6CvUmKp0
>>960
「他のインスタンス」と言っても、全てプログラマの管理下で作成されている。
オブジェクトAとオブジェクトBがお互いに参照できていないのなら、それはお前が繋げてやってないだけの話。

963 :名称未設定:2011/01/13(木) 17:43:40 ID:LvCKab0r0
Apple Developerへ登録すると
アプリを開発して自分のiphoneでテストできると思いますが、
自分で作ったアプリをApp Storeに登録せず、
自分のiphoneで使い続けることは可能なのでしょうか?
また、Apple Developerへ登録してる知人のiphoneで
使ってもらうことは可能なのでしょうか?


964 :名称未設定:2011/01/13(木) 17:57:50 ID:7LM1dnw40
>>963
できるけど思ったほど簡単じゃないです。
まずxCode、iPhone本体、開発者登録を全てヒモ付けしないといけない。
本体は99台まで登録可能です。
実機へのインストールはソースコード付きでxCodeからしかできないので友達に配布する場合、
実機を開発環境に繋ぐか友達のMacに開発環境を整備しないとできません。

よく知らないけど脱獄したほうが簡単のような気もしなくは無いんですが、
その辺はどうなんすかね?

965 :名称未設定:2011/01/13(木) 18:06:16 ID:8wcxor0x0
>>960
つーか人に聞く時に「他のインスタンス」とか意図曖昧な俺用語は使わないでね。
OOPの基礎概念をしっかり教科書で読み込んでくるか、
そんなことは気にしないでプログラミングガイド通りに作ってみて体で覚えるかを
まずしてみてはどうだろう?
あなたには知識を体系付けるとっかかりが足りないようだよ。

966 :957:2011/01/13(木) 18:18:32 ID:YHE15njo0
>>958
説明下手で申し訳ないです。

>> 961
なるほど、ありがとうございます。


967 :963:2011/01/13(木) 18:21:22 ID:LvCKab0r0
>>964
レスありがとうございます。


968 :名称未設定:2011/01/13(木) 18:25:52 ID:3LZT4Kty0
スクロールバーの文字が長いと途中できれてしまうのですが、原因がわかりません。
スタイルシートで幅を指定しているわけでもないのですが・・・。
回避策として、スタイルシートでフォントサイズを小さくしてるのですがそれも反映されないみたいです。

969 :907:2011/01/13(木) 18:53:59 ID:Rnj1rDUeP
>>962
合成した側から合成されたオブジェクトのプロパティは参照出来るが、
合成された方からはそれを合成したオブジェクトを普通参照出来ない。
この理解でもダメでしょうか?

970 :名称未設定:2011/01/13(木) 19:02:25 ID:zOgP2E8zP
>>964
Distribution AdHoc使ってiTunesでインストール。デバイスIDの登録だけで済む。

971 :名称未設定:2011/01/13(木) 20:58:15 ID:C6CvUmKp0
>>968
何の話だよ?

>>969
合成って何の事ですか?

972 :名称未設定:2011/01/13(木) 21:01:00 ID:hggz9Xrr0
>>969
頭固ぇなぁ。おい。
もう少し、柔軟に考えろよ。

973 :名称未設定:2011/01/13(木) 21:33:43 ID:rW1ONPXa0
>>969
俺ルールに縛られて身動きできなくなるタイプだな。

974 :968:2011/01/13(木) 21:39:03 ID:3LZT4Kty0
>>971
あ、スクロールバーじゃなくて、セレクトボックスの話です。
すみません。間違えてしまって。

975 :名称未設定:2011/01/13(木) 21:42:59 ID:1U/K+DCQ0
ID:Rnj1rDUePは少し頭冷やそうぜ。
もうすこし視野広げていかないとな

976 :名称未設定:2011/01/13(木) 21:58:25 ID:HN8J1pwo0
オブジェクト指向という言葉をぐぐってきた方が良いな。
まあ、コード書いてれば分かってくる部分もあるけど。

977 :907:2011/01/13(木) 22:04:11 ID:Rnj1rDUeP
色々すいません、、。

978 :名称未設定:2011/01/13(木) 22:05:46 ID:ImCAxKDA0
前の方のレスにもチラっとあったけど、
iOSのバージョンのシェアってググっても古いのしか引っかからないのだが、
iOS4.2以降の最近のシェアとかってどっかで見られないですかね?

979 :名称未設定:2011/01/13(木) 22:07:37 ID:1U/K+DCQ0
アプリ開発の初心者というか、言語の初心者な気がしてならない
でも頑張れよ!

980 :名称未設定:2011/01/13(木) 22:23:03 ID:nToLRYC9P
>>963
他人に使わせるにはadhoc配布ってのがあるけど、台数制限と有効期限はあるよ。

981 :名称未設定:2011/01/13(木) 23:35:59 ID:uP2cXEaP0
トランジションアニメーションってデフォで用意されてるやつ以外でも、intで直接101以降してみたら色々あるみたいだな。
105はカメラの絞りになったw

982 :名称未設定:2011/01/14(金) 11:42:46 ID:I9ZtxbWD0
>>981
非公開apiは使っちゃだめ。ま、最近は「次のバージョンで直してね」らしい。
意味するところは、「次のOSバージョンでは変更になるかもしれないからね」

983 :964:2011/01/14(金) 12:27:13 ID:btiNh6Rf0
非公開のIDは使っても審査通りますよ、実際通ってます。
adhoc配布知りませんでした、結構便利そうですね。

984 :名称未設定:2011/01/14(金) 13:16:46 ID:rtxpYKyb0
>>983
なんていうアプリ?

985 :名称未設定:2011/01/14(金) 13:58:58 ID:p6X2H6dH0
アプリで文字読み上げしたいのですが。 Voice Overを一時有効化できないのでしょうか?


986 :名称未設定:2011/01/14(金) 19:37:35 ID:ujX5bPGe0
>>983

非公開のIDってなに?

987 :名称未設定:2011/01/14(金) 21:06:01 ID:0VR4Hjwo0
ざっくり言うと非公開のメソッドは使っちゃダメだけど非公開のパラメータはセフってこと

988 :名称未設定:2011/01/14(金) 21:20:16 ID:7XJAR/CwP
?

989 :名称未設定:2011/01/15(土) 03:11:46 ID:7bjtUh8Z0
http://www.atmarkit.co.jp/fsmart/articles/iphonesdk02/04.html
今日からiphoneアプリを作るべく、上記ページにあるBMI計算アプリを
試しに作っていたんですが、実行して体重・身長を入力し計算ボタンを押しても
何故か計算されませんでした。また、リセットボタンを押してもリセットされませんでした。
そこで、上記ページの最後の方にある
「サンプル完成版のソースコードは、こちらからダウンロードできます。」
というリンクからBMICalc.zipをDLし、その中にあるBMICalc.xcodeprojを実行し、
プロジェクトを開きアプリを実行してみたのですが、同様の問題が起きました。
私のやり方が間違っているのでしょうか?皆さんはこのアプリを正常に動作させることが出来ますか?

990 :名称未設定:2011/01/15(土) 03:30:00 ID:2LUnoG0UP
ナビゲーションバーをつかって二階層目のビューに移動した時に戻るボタンが自動的に作成されますが、それとは別に新たなバーボタンアイテムを戻るボタンの右に追加したいんですがどうしたらよいでしょうか?
参考になるページがなくて困ってます
どなたか教えて下さい

991 :名称未設定:2011/01/15(土) 09:21:44 ID:TyHb3kPg0
>>990
タイトルの左にボタンを2個置きたいってことかな?
ボタンを2個置いたViewを置けばいけるんじゃないかな?
やったことないから出来なかったらすまそ。

992 :名称未設定:2011/01/15(土) 13:17:53 ID:nZ39duIr0
>>989
懐かしいな〜俺も2ヶ月前にそれ作ったわ。
ちゃんと計算されるよ。

993 :名称未設定:2011/01/15(土) 13:23:21 ID:nZ39duIr0
>>926
写真系アプリで4GBくらい入れてるからかなりいけるんじゃね?

994 :名称未設定:2011/01/15(土) 13:25:53 ID:2LUnoG0UP
いえ、タイトルの左右に一個ずつでかまいません
二階層目のナビゲーションバーはどうすればカスタマイズ出来ますか?
戻るボタンが追加されているビューはUI上には見当たらないのですが…

995 :名称未設定:2011/01/15(土) 13:41:58 ID:nZ39duIr0
あるビューにUIGestureRecognizerでpan動作に大してviewが移動するようにしています。
このViewにUISliderをつけたのですが、UISliderを操作すると一緒にviewまで
移動してしまいます。どうすればself.viewのsubviewであるUISliderのpan
ジェスチャーを無視することができるでしょうか?

996 :名称未設定:2011/01/15(土) 14:42:42 ID:+vxe9F700
ゲーム等でたくさんの種類のサウンド(効果音)を鳴動させるにはどのような方法がいいのでしょうか?
現在下記メソッドを実装して再生させたい箇所で呼んでいます。
playerは事前にallocしたものを渡しています。

+ (void)playSound:(AVAudioPlayer *)player fileName:(NSString *)fileName {
 NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"3gp"];
 NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:soundFilePath];
 player = [player initWithContentsOfURL:fileURL error:nil];
 [fileURL release];
 [player play];
}

しかしメモリリークしているのか何回か再生するとアプリが落ちてしまいます。

997 :名称未設定:2011/01/15(土) 15:34:25 ID:jvRSZUUV0
デリゲート先のクラスを継承して、デリゲート元のメソッドをオーバーライドするとこはできないのでしょうか?
エラー処理をサブクラスに任せたいのですが。

998 :名称未設定:2011/01/15(土) 15:54:30 ID:rjoetR0a0
>>996
OpenALを使う。

>>997
最初からdelegate使わなきゃいいじゃん。

999 :名称未設定:2011/01/15(土) 17:13:15 ID:jvRSZUUV0
>>998
>最初からdelegate使わなきゃいいじゃん。
すでに別のクラスのサブクラスなので。どうすればいいのでしょうか

1000 :名称未設定:2011/01/15(土) 17:20:08 ID:rjoetR0a0
>>999
よく分からんぞ。
たとえばTableViewのサブクラスのデリゲートを、それ自身で処理したいって事だろ?
別クラスのサブクラスになっているなんて事があり得るのか?

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

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

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)