1read 100read
2012年09月新・mac19: [SDK]iPhoneアプリ開発初心者質問箱29[touch][iPad] (943) TOP カテ一覧 スレ一覧 2ch元 削除依頼
VMWare Fusion for Mac Part 25 (208)
Apple Store 配送状況スレ2 (949)
【来るぞ】WWDC2012 (366)
Safari Part65 (637)
iphoneアプリ 個人開発者の雑談スレ4 (440)
MacBook Pro 182 (267)

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


1 :2012/10/01 〜 最終レス :2012/11/02
iPhone, iPod touch用アプリケーションの開発を始めたばかりの初心者向け質問スレ。
■質問する前に■
1. 質問は日本語もしくはObjective-Cで
 質問に質問で返されても逆切れしない。それは質問の仕方が悪いってことだよ。
2. どういう内容であれレスをもらったら報告とお礼の言葉を忘れずに。
 回答者は自分の時間を使って親切で回答してくれています。
3. 回答者は自分も初心者であった事を忘れずに。
4. マルチポスト(複数のスレに同じ質問を書込むこと)は厳禁!
5. 質問は可能な限り具体的に。
 ただ「エラーが出ます」ではエスパーかスタンド使いでなければ答えられません。
 エラー内容をちゃんと書きましょう。
6. わからない部分のコードをコピペすると手っ取り早いです。
7. このスレは無料プログラミング教室ではありません。
 「○○の仕方を教えてください」という質問はなるべく避けてください。
 「自分で調べたけどわからなかった事」を質問するというスタンスを忘れずに。
8. バグを安易にOSや開発環境のせいにしない。
 自分の知識の無さを棚に上げて人のせいにするなんて百年早い。
■前スレ
[SDK]iPhoneアプリ開発初心者質問箱28[touch][iPad]
http://anago.2ch.net/test/read.cgi/mac/1346122258/
スレは   >>950   を踏んだ人が立ててください
■関連スレ
iphoneアプリ 個人開発者の雑談スレ2
http://anago.2ch.net/test/read.cgi/mac/1338305211/
【脱獄】iPhoneのJailbreakアプリ開発スレ
http://anago.2ch.net/test/read.cgi/mac/1337945208/

2 :
2ガッツ

3 :
1おつつー

4 :
ブリブリ

5 :
>>1


6 :
iOSオワタ

7 :
テンプレに
日本語ドキュメント - Apple Developer
https://developer.apple.com/jp/devcenter/ios/library/japanese.html
これ入れたら?

8 :
そんなロクに更新されないドキュメントを誰が参照するんだよ

9 :
>>8
今年の7月以降で9個なら十分参照するに値すると思う。英語が全く問題なければ参照しなくてもいいけどね。

10 :


11 :
え、Pass Kitとかもすぐ出てきたし十分だと思うけど
最新情報で原文にあたるとかは常識だし

12 :
>>9
英語のドキュメントへのリンクもあるしあってもいいよね
英語の方はpdfじゃないけど

13 :
>>12
PDFは直リンじゃないけど、リンク先で拾える。

14 :
NSData *pngData = UIImagePNGRepresentation(self.imageView.image);
[pngData writeToFile:path atomically:YES];
こんなかんじでimageViewの画像を書き出したのだけど、
上下逆さまになってしまいました。
これを回避するにはどのようにすればよいのでしょうか?

15 :
>>14
NSData *pngData = UIImagePNGRepresentation( [UIImage imageWithCGImage:self.imageView.image.CGImage scale:1 orientation:UIImageOrientationDownMirrored] );

16 :
>>15
ありがとうございます!
ですが、試したところ画像に変化はありませんでした…。

17 :
>>16
うん。どうやら属性をそうすだけでビットマップは元のイメージのままだった
UIImage *image = self.imageView.image;
CGRect imageBounds = CGRectMake( 0, 0, 0, 0 );
imageBounds.size = image.size;
UIGraphicsBeginImageContextWithOptions( imageBounds.size, NO, 1 );
CGContextRef bitmapContext = UIGraphicsGetCurrentContext();
CGContextClearRect( bitmapContext, imageBounds );
#if 0
[[UIImage imageWithCGImage:image.CGImage scale:1 orientation:UIImageOrientationDownMirrored] drawInRect:imageBounds];
#else
CGContextTranslateCTM( bitmapContext, 0, imageBounds.size.height );
CGContextScaleCTM( bitmapContext, 1.0, -1.0 );
[image drawInRect:imageBounds];
#endif
UIImage *verticalFlipedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *pngData = UIImagePNGRepresentation( verticalFlipedImage );
なんで元々のが逆さまなのか、自分で描画してとかだったら、
CGContextTranslateCTM( bitmapContext, 0, imageBounds.size.height );
CGContextScaleCTM( bitmapContext, 1.0, -1.0 );
がキモだと思うけど

18 :
アプリのアップデート時にアイコンを変えたのですが
新規インストールはアイコンがかわるのですが
アップデートでは変わらない場合があるのですが
なにか設定が必要なのでしょうか

19 :
>>18
それはXcodeから実機に転送した時?
もしそうなら、どうやらバグか何かでアイコンが変わらないっぽいだけだと思う。 一旦アプリをアンインストールしよう。
実際にアップデートを申請したらちゃんとアイコン変わるはずだから安心して。

20 :
>>19 ありがとうございます
xcodeで転送時に発生します
古いバージョンのアイコン使用したアプリを,xcodeでアップデートした場合
アイコンが更新されない状況です
appStoreでは正常になるとお聞きして安心しました
ありがとうございました

21 :
たまになるな。一旦完全に不整合な状態にして
エラー起こすとかすると直る時あるけど

22 :
CoreBluetoothフレームワークについて質問です。
Central側アプリがバックグラウンド中でもアドバタイズするようにしたくて、
info.plistへbluetooth-centralをセットしたのですが、バックグラウンド中に
アドバタイズしてくれません。他にも何か設定が必要なのでしょうか??

23 :
xibのTable ViewのAttributeの"View"カテゴリの"Background"と同じ設定をコードから実行する方法を教えてください。
Xcodeで "Master-Detail Application"を作成して、
AppDelegate.mの (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
の最後で
self.window.backgroundColor = [UIColor redColor];
をした上で、この色を出したり消す実験をしようとしました。
MaterViewController.mに (void)viewWillAppear:(BOOL)animated を作って
self.view.backgroundColor = [UIColor clearColor];
をしてみたのです見た目が変化しません。
xibのTable ViewのAttributeの"View"カテゴリの"Background"で透過色を設定すると期待通り下の赤い色が見えるようになりました。
同じことをコードから実現するにはどうすればいいのでしょうか?

24 :
>>23
>MaterViewController.mに (void)viewWillAppear:(BOOL)animated を作って
>self.view.backgroundColor = [UIColor clearColor];
をしてみたら赤くなりました。
typoかなんかで、入ってきていないんじゃないの。ブレークポイント設定してちゃんとそこ実行されているか見てみたら?

25 :
Imagepickerを使ってカメラアプリを作っているのですが、
exif情報(GPS等)はどうやっても取得できませんか?
検索ででたのはどれも対策されてしまって使えないようです。
よろしくお願いします。

26 :
>>25
対策ってなんのこと? カメラアプリって言ってるんだから、カメ
ラで静止画撮影した場合の事だよね。
普通に、デリゲートメソッドのinfoに渡されて来るよ? GPS以外は。
(iOS 6 SDK使用。iPhone 4S iOS 6にて確認)
GPSについては、以前から含まれていないので、自前でmetadataに
追加するしかない。


27 :
超初心者的な質問で恐縮ですが、これまで普通に動いていたアプリにパラメータ調整機能追加のためuislideとuilabelを追加したところ、スライドのオブジェクトをタップするだけで落ちてしまいます。
考えられる理由としてはどんな事が挙げられるでしょうか?

28 :
>>27
超初心者的だと自覚して質問するなら、状況や名称を正確に書くことを
心がけた方がいい。
大文字や小文字の違い、スペルミスなどはC言語系のプログラミングで
は全く別物を表すことになるんだから、そういう所に気を配らないのは
致命的なバグを埋め込む事にもなる。
で、UISliderだよな? スライダー。追加したっていうのは、Interface
Builderで追加したの? それともコード?
まあ、いずれにしても、状況が漠然としすぎている。
オブジェクトを追加/削除してから落ちる様になった時は、まずアウト
レットやアクションの接続ミスを疑う。
接続ミスが無ければ、タップしただけで発生するアクション先のコード
で何か致命的な事をやっていないか確認する。
タップ操作で、想定したメソッドが実行されない様なら、オブジェクト
の重なり具合とか、メッセージの流れとかを確認する。
とりあえず、再現性がある問題なら、デバッガー活用しなよ。落ちたと
きのデバッガーのログは、情報の宝庫。あるいは、アクション先のコー
ドにブレークポイント設定して、どこで落ちるのかを突き止める。

29 :
>>24
大事なことを書いていませんでした。Table ViewのStyleは"Grouped"にしています。最初に書かなくてすみませんでした。
"Plain"に変更してみたら確かに背景が赤になりました。
Groupedで周りの背景を透過させるにはどう書けばいいのでしょうか?

30 :
>>26
ありがとうございます。
GPS情報を取得したかったんです。きちんと書かなくてすみません。
ImagePickerの撮影ボタンのタップを検知する方法ってありますか?

31 :
NSURLConnectionについて質問です
connection:didReceiveData:デリゲートが複数回呼ばれた場合
最後に(NSData*)dataが0バイトの場合ってありますか?
よろしくお願いいたします

32 :
ruby には
var = nil
result = var || ""
みたいに,varが偽の時||の右辺がresultに代入される式があります。
C言語にもないですか?
NSDictionary * dict;
NSString * result = ( [dict valueForKey:@"key"] == null ) ? [dict valueForKey:@"key"] : @"";
だとちょっと冗長(だしステップが多い)なので。

33 :
C言語にはマクロという便利な機能があってだな

34 :
>>23,34,29
これかな
http://wayohoo.com/programming/objective-c/how-to-clear-background-of-uitableview-for-ios-6.html
あと関連でUIColorのグループのときの色が透明にかわったのはまいった
あの色使いたいときは空のデーブル用意しろだって

35 :
>>32
ない。他言語(特にスクリプト言語)のことは一旦すべて忘れてCを一から勉強すべき。

36 :
NSString * result = [dict valueForKey:@"key"];
if (!result) result = @"";
こうすればよくね?
やたら1行に詰め込むとデバッガ使いにくくなるよ。

37 :
質問です。
ViewController.h
ViewController.m
ViewController.xib
とあって、
ViewController.xibのボタン(B_Button1とする)
これを、
ViewController.h上に@property (retain, nonatomic) IBOutlet UIButton *B_Button1;
ViewController.m上に@synthesize B_Button1;
と宣言したら、
ViewController.m上でボタンラベルにラベル名を指定するとすると、
B_Button1.text
と書けばいいですが、
これを、ViewController.m以外のクラス(IGAI_Class)から同じことをしようとした場合は、
ViewController.hをIGAI_Class.hでimportしてなんちゃら、すれば実現できますか?
ちなみにimportして、[ViewController B_Button1.text] = 文字列
としたら、エラーになりました。
すいませんがおしえてください。


38 :
>>37
[ViewController B_Button1.text] = 文字列
が文法的にありえない。
[ViewController ...] はクラスメソッド(+ で始まるやつ)の呼び出しなのにでとか、B_Button1.text は [B_Button1 text] と等価で [ViewController [B_Button1 text]] は明らかに誤りになるでしょ
ちゃんとした本でクラスとインスタンスを勉強した方がいいよ

39 :
>>37,38
文法的に誤りだけど
[ViewController B_Button1.text] = 文字列
で、B_Button1.text は ] で終わっているので getter になるだろう。ということで、B_Button1.text は [B_Button1 text] と等価
やりたいことであろう
(ViewControllerのインスタンス). B_Button1.text = 文字列
の場合は [(ViewControllerのインスタンス). B_Button1 setText:文字列] と等価ね
いちおう

40 :
>>39
ありがとうございます。
(ViewControllerのインスタンス)←これが難しいんですよね。。
ここ2ヶ月で本、4冊ぐらい買ってるんですが、
このままだとxibをインスタンスする方法を考えるのに、さらに1ヶ月ぐらいかかりそうです。。

41 :
困った時のデリゲート

42 :
質問させてください。
ipadでマルチタッチを使用するアプリを開発しています。
ipadには4本指を使用してピンチインするとアプリが閉じる機能がありますが
プログラムでこれを無効化するにはどうしたらよいでしょうか?

43 :
>>42
ダメに決まってるだろそんなこと

44 :
アプリの起動時に以下で
[[UIScreen mainScreen] blightness];
を取得し、アプリの操作中はこの値を変化させ設定してます。
問題はその後、バックグラウンド時、起動時に取得した値へ戻そうと、appDelegate.m
application resgin active の中で、
[[UIScreen mainScreen] setBlightness: …
とやっても、アプリバックグラウンド時に画面の輝度が変化しません。
解決策、アドバイスよろしくお願いします。

45 :
>>30
撮影ボタンのタップのタイミングを知る方法はなかったと思う。
別の方法として、独自のUIを作るか、あくまでもiOS提供のUIを使う
なら、imagePickerController:didFinishPickingMediaWithInfo:の
呼ばれたタイミングか、あるいは、infoに格納されている撮影日時を
調べるとかの方法が考えられるよ。


46 :
地図を使うアプリ作ってるんですが、iOS6で動かすと、
Couldn't find default.styleproto in framework
って警告がログにでるんですが原因を教えてください。
動作に支障はないみたいなんですが無視していいもんでしょうか。

47 :
UIScrollViewで慣性でスクロール中に
任意のタイミングでその場でスクロールを停止する事って出来ないんですかね?
setContentOffsetで現在の場所を指定してもスクロールは継続してしまうし、
一旦removeFromSuperView→addSubViewとかしても同じでした。

48 :
>>47
setContentOffset: では止まらないけど、setContentOffset:anmated: で止まる筈。

49 :
>>48
おぉ、anmated: NO で止まりました。
ありがとうございました!

50 :
PickerViewにて、値が変わった場合に特定の動作をさせるには、どうすればいいですか?

51 :
PickerViewにて、選択されている値が変わった時に特定の動作を実行させるには、どうすればいいですか?

52 :
より詳細(?)に書かせて頂きました。

53 :
UIPickerViewDelegate の pickerView:didSelectRow:inComponent: かなぁ。

54 :
>>34
ありがとうございます!ばっちり出来ました!

55 :
いいってことよ

56 :
>>51
ドラムが回転中は何もできないけど、止まった時なら、53さんのデリゲートメソッドでやりたいことやる。

57 :
>>44 の画面輝度のバックグラウンドにまわる前に再設定する方法はについては、いかがでしょうか。

58 :
画像データに対して、下記のGimpでの手順と同等の処理を行うには各RGBに対してどのようなことを行えばよろしいでしょうか?
・描画色を50%の灰色(html表記で808080)に設定
・「選択(S)」メニューから「All」を選び,画像全体を選択
・ツールボックスで[ バケツ ]ツールを選択
 モードに「明度」,不透明度「100.0」,塗りつぶし方法は「描画色塗り」、影響領域には「選択領域すべてを塗りつぶす」を選択
下記のような処理を行なってみたのですが、Gimpでできた画像とだいぶ異なっていました。
for (int j = 0; j < height; j++) {
for (int i = 0; i < width; i++) {
UInt8 *pixel = buf + j * bytesPerRow + i * 4;
*(pixel + 0) = *(pixel + 0) >> 1;
*(pixel + 1) = *(pixel + 1) >> 1;
*(pixel + 2) = *(pixel + 2) >> 1;
}
}
どうかよろしくお願い致します。

59 :
>>57
そういうものみたい。
>>58
gimp持ってないからどうなって欲しいのか分かんないけと、元画像と処理結果のピクセル値を調べて、どういう式を立てればいいか考えれば?

60 :
>>58
そういうアプリって、そういうことがわかる人が作るもんじゃ?

61 :
>>58
それだと黒に近づいちゃうんじゃ?
灰色に近づけたいなら、今の色と灰色を足して2で割る、みたいな処理でどうだろう

62 :
>>59
やってみたのですが、どうもさっぱり検討がつかなくてたとえば下記のみたいになりました
手順前 3b3031
手順後 6a565c
>>61
そうですね。
これだと明度を半分にする処理となっていますね。
こんなかんじですかね?
r = (r | 0x80) >>1;

63 :
画像を扱うアプリでメモリ消費を減らしたい場合はどのように工夫していますか?
また最近のアプリのメモリ使用量の目安ってどのくらいでしょうか?

64 :
>>62
明度モードはそんな単純じゃ無いよ
明度モードは、描画色の明度と、描画先の色相と彩度を合成するもの
だから、RGBのままでは計算できない。描画色と描画先のRGBをHSV
に変換して、描画色のVと描画先のHSを取り出してRGBに変換し直す。
どうしても処理をスクラッチする必要がなければ、ブレンドモードの
kCGBlendModeLuminosity使って処理した方が、多分面倒は少ない。

65 :
>>62
CoreImage使えやカス

66 :
>>62
| 演算子の意味わかってる?
2 で割るのに >> 1 とか、前世紀の遺物だね。

67 :
右ビットシフト1はよく使うでしょ
コンパイラの最適化も当てにならんよ

68 :
UIButtonで三角形の画像を表示してもタッチ範囲は四角形のままですが、これを三角形にしたり
自由にタッチの範囲を変えたりするにはどうすればいいのでしょうか?
アプリの仮装タッチパッドに利用したいのですが

69 :
>>68
- pointInside:withEvent: を三角形の中でだけYESを返すようにオーバーライド
>>7のiOSイベント処理ガイド読めカス

70 :
OpenGL ES 2.0 で環境マップを実装したんだけど、
iPhone 5.1 Simulatorだと正常に環境マップが適用されてて、
実機(iPhone 4S)だと真っ暗でおかしいです。
誰か原因分かりませんか?

71 :
>>43
ダメっていうのは規約違反で審査で落ちるということでしょうか?
アプリ開始時にマルチタッチジェスチャーの機能は「設定」でOFFにしてくださいというのもダメでしょうか?
4本指を使うアプリは誤作動をどのように解消してるのでしょうか?

72 :
FAQなのかもしれないんですが、
どうもネットからうまく情報が広い集められず……という質問をさせてください。
前任者の残したソースでNSString*の変数に代入するときに
NSString *str = [NSString stringWithString:@"abc"];
のような感じで書いてるのを見かけて、その意味はなんだろう……と意図を図りかねているのです。
引数が固定文字列ではない、とか
NSMutableStringでstringWithStringを使う、とか
であれば、意味はわかるのです。
NSString *str = @"abc";
ではなくこのような書き方をする意味って何かあるのでしょうか?
ネットで調べても、ソースのサンプルなんかでも見かけるので
前任者だけが使ってる訳じゃないのかな?と疑問は消えないままなのです。

73 :
>>72
意味は無いよ。
文字列定数(ここでは@"abc")でNSStringを初期化した場合は、
そもそも新しいオブジェクトは確保されないし。
同じ内容の文字列定数は1つのメモリ領域に作成されるので、
NSString *str0 = [NSString stringWithString:@"abc"];
NSString *str1 = @"abc";
ってやった場合も、str0とstr1は同じアドレスを指す。
最近のXcodeでは違うのかなと思って4.5で試してみたけど、
Using 'stringWithString:' with a literal is redundant
って警告が出た。
幾つかの入門サイトでは、サンプルコードでそういう書き方をし
ているのもあるし、どこかで書かれていたのを参考にしていたら
それが残ってしまったって事じゃ無いのかな。
あるいは、最初は別の変数とかで初期化していたのを、置換処理
で定数に変換した結果とか(ありえねー)。

74 :
>>73
ありがとうございます。
意味ないと言ってもらってすっきりしました。
どこから出てきたのかは悩まないことにします(`・ω・´)

75 :
文章を左から右へ少しずつ表示(一文字ずつではなく)する処理の実装方法を探しています。
初めは目的の文章が設定されているUILabelの上に背景色白のUILabelを置き、
これをタイマー処理で少しずつずらしていく方法を試してみたのですが、
これだと文字と一緒に背景も隠れてしまうので却下となりました。
ノベルゲームの会話ウィンドウのように文字だけを滑らかに表示していく方法ってあるんでしょうか?
回答よろしくお願いします。

76 :
iPhoneはアニメーションが大得意だってこと知らんのか?

77 :
>>75
だったら、ラベルと同じ範囲の背景画像を切り出して上に重ねればいい
それは冗談として、いやそういうやり方もできなくはないけど、無駄や
制限が多いので、他の方法を考える
・UILabelのサブクラスを作って、行末処理をしないように描画処
 理を書き換え、ラベルのサイズを変えていく
・ラベルを同じ大きさの別のビューに載せて、そのビューのクリッ
 ピング(clipsToBoundsプロパティ)を有効にしておき、その
 ビューのサイズを変えていく(ラベルの大きさがビューにあわせ
 て変わらない様に設定注意)
・ビューではなく、レイヤーを使い、同様の事をする
・オフスクリーンでラベルをレンダリングというか、文字列を画像
 にして、少しずつ表示

78 :
普通に背景色を透明にしたラベルの位置を左から右へアニメーションで動かしてやればいいんじゃないの?
UIViewのanimateWithDuration〜 メソッドあたりを使えば5行でかける。

79 :
CALayerのmaskプロパティ使え

80 :
TextViewでredo、undoをする場合、
メソッド実行前と実行後のreplaceされたテキストを取得することは可能でしょうか
NSString* A= textView.text;
[[textView undoManager] undo];
NSString* B= textView.text;
AとBの差分の置換された文字列が知りたい

81 :
>>64
ありがとうございます!
> 明度モードは、描画色の明度と、描画先の色相と彩度を合成するもの
これだったんですね!
>>65
了解。CoreImageを使うことにします!
ありがとう!愛してる!

82 :
>>73
昔書いたコードを4.5で開いたら、黄色アラートで同じ警告出て、修正候補はstringWithString〜だった。4.4から簡潔な記述になったと思ってたんだけど、また戻ったのかな?

83 :
>>82
え? 俺んとこではFix-itに出てくる候補は@"abc"だよ?
Fix-it Replace "[NSString stringWithString:@"abc"]" with "@"abc""
というか、>>73でもXcode 4.5で確かめたって書いたけど

84 :
StoryBoardで、Table View Cellに文字列を入れても、実行してみると、何も表示されません。
多くの解説サイトには、「.mで指定する」みたいなことが書かれているのですが、StoryBoardのみで項目を作ることは可能ですか?
ただし、.mには、既に、
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
は、指定済みです。
よろしくおねがいします。

85 :
色々と試してみてるんですが、上手くいきません。
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "8YV-CV-TmY-view-6GM-7Q-fYi" nib but didn't get a UITableView.'
って、どういう意味なんでしょうか?

86 :
Consumable(消耗型)で課金後、ユーザーがアプリをアンインストールして
対象の課金情報が消えてしまった場合はリストアさせる義務はあるのでしょうか?
それとも、アンインストールしたユーザーに責任がある事になる為
リストアの義務は特にないのでしょうか?(親切不親切は別として)
わかる方いましたらお願いします。

87 :
今回のiOS6の見難いAppStoreの影響で売上落ちました?

88 :
>>86
In App Purchaseプログラミングガイドを読むと、
「Store Kitは、非消耗型、自動更新購読型、無料購読型のプロダクト
用に、トランザクションをリストアするための組み込み機能を提供し
ます。」
と、
「非更新購読型および消耗型プロダクトは、Store Kitで自動的にリス
トアされません。しかし、非更新購読型プロダクトは、リストア可能
でなければなりません。」
という記述があるから、消耗型プロダクトに関しては、特に義務とい
うことは無いと思うよ。
それでも、リストアできない旨の注意書きは入れておいた方がいいと
は思うけどね。レビューで理不尽な叩かれ方するから。

89 :
>>88
回答ありがとうございます。
そうですね、リストアしない場合にはその旨表記した方が良さそうですね。
参考になりました、ありがとうございました。

90 :
今度学校の卒業制作でサーバー通信を使ったアプリを作ることになったのですが、サーバー通信は全くの初心者です。
なので初心者でもわかりやすいiPhoneアプリのサーバー通信を解説した本があったら教えてもらえませんか。
よろしくお願いします。

91 :
サーバと何をどうやって通信するんだよ
RESTならfoundationだけでできる

92 :
すみません。
説明不足でした。
ソケット通信?というものがいいと言われました。
作るのはオンラインで対戦するゲームです。

93 :
俺は毎日サーバー通信してるぜ

94 :
あるサイトで、ゲームのフィールド生成のやり方が書いてあったので自分も真似してやってみたのですがどうもおかしいのですが自分で解決できないので質問させてください
まず、10*10の大きさのマスを100*100作って全てに青色の画像をセットしました。
次に外周1マスを除いて全てのマスにランダムで画像をセットします(青色,灰色,緑色,黄色のどれか)。
http://i.imgur.com/qLkem.jpg
ここまでは問題ないんですが、次に画面に左下のボタンを一回押した時の処理で、

95 :
//100回繰り返す処理
for (int d=0; d<100; d++) {
//外周1マスを除いて全マスで、mapNumber[a][b]の上下左右をランダムでコピー、mapNumber[a][b]に代入処理
int r;
for (int a=1; a<99; a++) {
for (int b=1; b<99; b++) {
r = arc4random()%4;
switch (r) {
case 0://上
mapNumber[a][b] = mapNumber[a-10][b];
break;
case 1://右
mapNumber[a][b] = mapNumber[a][b+1];
break;
case 2://下
mapNumber[a][b] = mapNumber[a+10][b];
break;
case 3://左
mapNumber[a][b] = mapNumber[a][b-1];
break;
}
}
}
}

96 :
//最後に外周1マスを除いて全マスで、mapNumber[aa][bb]によって別々の画像を設定する処理
for (int aa=1; aa<99; aa++) {
for (int bb=1; bb<99; bb++) {
switch (mapNumber[aa][bb]) {
case 0:
map[aa][bb].image = [UIImage imageNamed:@"Blue.png"];
break;
case 1:
map[aa][bb].image = [UIImage imageNamed:@"Gray.png"];
break;
case 2:
map[aa][bb].image = [UIImage imageNamed:@"Green.png"];
break;
case 3:
map[aa][bb].image = [UIImage imageNamed:@"Yellow.png"];
break;
}
}
}

97 :
これで実際にボタンを一回押した時に
http://i.imgur.com/djqsh.jpg
二回目
http://i.imgur.com/jjcFe.jpg
三回目
http://i.imgur.com/z9pK8.jpg
四回目
http://i.imgur.com/ok0Jb.jpg
と、こうなりますがこれは明らかにおかしいですよね?
本当はこんな風になってほしいのですが...
http://amagame.blog12.fc2.com/blog-entry-1989.html
何がおかしいのでしょうか?
長くなってしまってすみません

98 :
デバッグさせるなよ

99 :
デバッグも楽しいからいいけどa,b,aa,bbが嫌なので読みたくないな

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
iPad版BB2Cを待ち望むスレ★2 (731)
AirMac Part 30 (908)
Mountain Lion 不具合報告スレ Part2 (246)
おすすめのMac用スピーカー 8 (453)
iphoneアプリ 個人開発者の雑談スレ4 (440)
(´・ω・`)知らんがな胃に良く効きます(124) (574)
--log9.info------------------
ハゲの選手を応援するスレ (663)
テニスオフ情報交換Part21 (365)
青森のテニス事情 (280)
[yoyo]ヨネックス (636)
YouTube @ TENNIS (303)
見た目はNBAプレーヤージェームズブレーク! (315)
ソフトテニススレ禁止議論@テニス板 (555)
フィッシャーのラケットについて語ろう (514)
【ちいさい】マリア・キリレンコ 6球目【マーシャ】 (775)
【ついにツアー】添田豪 5【継続参戦】 (565)
プリンス-Prince-のラケット 6本目 (361)
大阪のジュニア女子についてっ!!! (501)
【Nole】ノバク・ジョコビッチ8【Djoker】 (675)
全盛期フェデラーVS全盛期鈴木貴男 (554)
[TOP100]伊藤竜馬3[突入] (647)
【侍】三橋 淳 Part2【SAMURAI】 (494)
--log55.com------------------
大阪昌彦 part2
【M】スティーブ・コールマン【BASE】
フリージャズを体現してみるスレ
激   し   い   ジ   ャ   ズ
ヌノカワトシキ
【ジャズの神】ルイ・アームストロング
ジャズの名盤TOP100を選定するスレ
☆好きなジャズ・ミュージシャンの名前を書くスレ★