2012年09月新・mac19: [SDK]iPhoneアプリ開発初心者質問箱29[touch][iPad] (943) TOP カテ一覧 スレ一覧 2ch元 削除依頼
MacBook Pro 182 (267)
【来るぞ】WWDC2012 (366)
MacでFFXIV (848)
Apple TV @新Mac板 Part20 (371)
スタバでドヤ顔でMacbook Air弄る奴総合★20 (870)
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が嫌なので読みたくないな

100 :
>>71
基本操作だからな。
「ホームボタン押してアプリが終わらないようにするにはどうしたら良いでしょうか?」に近い。
誤操作が多発するようならUIを考え直した方が良いと思う。
確証はないけど「OFF推奨」が理由で蹴られる事は無いんじゃない?
終了時に画面が触られているかは判定することでホームボタンによる終了とは区別できるので、
誤作動によって終了したら、次回起動時にOFF推奨メッセージを出すぐらいが精一杯かな?
AssistiveTouchにも気をつけてね。


101 :
>>99
ごめんなさい、最初はx,yでやってたんですが二次元配列って[y][x]の順番だということ知って([x][y]だと思ってた...)
ややこしくなったのでa,bにしちゃいました
突貫でやるとしても変数名には気をつけないといけないのは分かるんですがついやっちゃうんですよね...

102 :
ついやっちゃった♥てへぺろっ
で済めばコーディング規約はいらねーんだよ!

103 :
xcode4.3対応本みてチュートリアルやってるんだけど、
ボタン押すとラベルにHelloって表示させるだけ簡単な動作、
例えば以下のような一行追加でできてたのが
- (IBAction)tapButton:(id)sender {
myLabel.text = @"Hello.";
}
Use of undeclared identifier 'myLabel'; did you mean '_myLabel'?
こうエラーになる
.m見ると自動生成される部分が随分変わってるようだけど、
何をすれば良いか、分かりやすくまとめてあるサイトとかあったらおしえてつかーさい

104 :
ごめん、無いわ

105 :
>>103
まだ断片的だしググって個別に探した方がはやいかも。
でもそれ @synthesize忘れてるだけだろ?
4.4からは@synthesize省略可能になって、その時は_ 付きが使えるということだけど。

106 :
って4.3あたりは@synthesize自動で付けてたんだっけ?
もう忘れたわ

107 :
>>95,96のソースが崩れて見にくいので画像撮ってきました、あと少し変数名変えました
http://i.imgur.com/j06Fk.jpg
横10マスごとに同じ地形ができるんだけどなぜなんだ...ランダムされてないのか俺のソースがおかしいのか

108 :
>>107
全然見てないけど、ループ中に上書きコピーしてたら
元データ消えちゃうけどいいの?

109 :
確かに4.3時代の.mと4.5で自動生成される.m見比べると
4.5のほうには@synthesizeやviewDidUnloadがないですね
viewDidUnloadはARC関連でもう必要ないんですよね?
それ以外の準備的な定義が自動生成されていた4.3本には書いてないみたい
アンダーバー付きの_myLabelに置換しただけじゃ動かなかったです
このアンダーバーが何なのかも良かったら教えてつかーさい

110 :
置換ってヘッダの中までやったんじゃなかろうねw
@property で myLabel 定義して
@synthesize myLabel
としてmyLabel使うか、@synthesize省略して _myLabel 使うか好きな方で、、、
って両方試してみ。以前のやり方が使えなくなってるわけじゃないから。

111 :
>>108
元のデータは消えてもOKです
この処理を繰り返すことである程度色が固まってきたり、複雑な地形が出来るはずなんだけど...
横に10マスごとに同じ地形ができるのがバグのヒントな気がするんだけどまったくどこがおかしいのかわからない...

112 :
>>110
@synthesize追加でいけました!
ありがとうございます
xcodeの仕様が大きく変わったのは4.4からですか?

113 :
>>112
一番大きく変わったのは4.2だよ、ARC入ったしね。
そこから4.3、4.4、4.5と変わってきてる。

114 :
>>111
上下左右?なのにyを +-10してるのがわからん

115 :
>>112
http://stackoverflow.com/questions/9347722/what-are-the-details-of-objective-c-literals-mentioned-in-the-xcode-4-4-releas
Subscriptingと自動Synthsizeでコードがすっきり

116 :
>>111
なんとなくループの中でarc4randomって気持ちが悪いような
これ初期化+取得だよね?
10マスごとになってるってことは0か2が常に来てそうな気はするけど

117 :
>>113,>>115
常に細々とした変更があるんですね・・
ありがとうとざいました

118 :
http://another-alice.jp/?ref=friend21136

119 :
>>114
ありがとう!ありがとう!ありがとう!
本当>>114さんありがとう!一生チュッチュしてあげる、まじでありがとおおおおおお

120 :
>>119
結論としてはy-1とy+1が正解ってこと?

121 :
おしえてください。
UIDatepickerのフォーマット@"YYYY-MM-DD HH:mm:ss zz"で、
時刻取得してそれをアラーム時刻と格納して、
改めてアラーム時刻設定画面のviewDidLoadで取得した時刻を表示させようとすると、
9時間9分?進んで表示されます。GMT+9時間が悪さをしていそうな事はわかるんですが、
アラーム時刻設定画面を開いて閉じてしているだけで、どんどん進んじゃいます。
どうすればいいでしょうか。

122 :
いちいちインスタンスを作り直してて
その度に時差を補正してないんじゃないの

123 :
>>77 >>78 >>79
回答ありがとうございます。
レスが遅くなってすみません。
>>77
同じサイズのViewかLayerを作ってそれに載せる方法は良さそうですね。
これなら実装できそうな気がします。
ところで、方法1のUILabelのサブクラスを作るってのは分かるのですが、
行末処理というのはなんのことでしょうか・・・。
行末の自動改行のことですか?
>>78
背景色が透明のラベル〜とありますが、
ラベルが透明だったら背景と一緒に隠したい文章自体も表示されてしまうのではないですか?
>>79
CALayerのmaskプロパティといいますと、
startpointとendpointを動的に設定したCAGradientLayerをCALayerのmaskに入れていく、
という方法で合っていますか?

124 :
>>123
そう改行処理とも言えるけど、改行しない場合もあるから
行の末尾部分をどうするかってことで行末処理。
UILabelは、clip指定にしたときも、(見えている範囲の)
行末、つまりラベルの幅で表示できる右端の位置に掛かる
文字が、少しでも欠ける様なら、その文字を表示しないか
ら、きみが書いていた1文字ずつの表示ではないという条
件に引っ掛かるので、その部分は自前で実装しないといか
んぞと。(clip以外の指定では、もっとダメ)
ちなみに>>78が言っているのは、スクロール表示だと思う。

125 :
>>123
単にlabel.frame.mask.frameを動かせばいいだ

126 :
>>125
あ、なるほど。maskレイヤーあったよね。
最初にmaskレイヤー作成しておけば、
CGRect fromFrame = _testlabel.bounds;
CALayer *tempLayer = [CALayer layer];
fromFrame.size.width = 1;
_testlabel.layer.mask = tempLayer;
tempLayer.frame = _testlabel.bounds;
[tempLayer setBackgroundColor:[UIColor whiteColor].CGColor];
tempLayer.frame = fromFrame;
あとは、
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:5]
        forKey:kCATransactionAnimationDuration];
_testlabel.layer.mask.frame = _testlabel.bounds;
[CATransaction commit];
こんなんでいけたわ。
これ楽だよ>>123

127 :
縦長対応なんですが、背景画像をbackground.pngとbackground-568h.pngの2つ用意して、
background.pngをnibで背景に指定しています。
これで3.5インチのときはbackground.pngが選択され、4インチのときはbackground-568h.pngが選択
されると思ったのですが、4インチのときはただbackground.pngが縦に引きのばされた背景になっています。
正しい方法を教えてください..

128 :
>>127
-568h@2xというサフィックスは、Default.pngにしか使えない。
だから、4インチかどうかを自分で判定して、明示的に4インチ用の画像
を指定するしか無い。
あるいは、contentModeをUIViewContentModeScale〜ではなく
UIViewContentModeCenter辺りにしてリサイズしないようにして、3.5
インチ画面でも4インチ用画像を使うようにする(3.5インチ画面では、
画像の端が画面からはみ出す)。
iOS 6以降対応でよいのなら、オートレイアウト機能を使うのも手かな。

129 :
なんのためのマクロやインライン関数だよ

130 :
>>121
こちらも関連ありそうなんで、参考にどうぞ。
ttp://tech-gym.com/2012/10/ios/893.html

131 :
下記のコードを実行したところ、結果の画像(self.targetImage)がなぜか
左下に1/4のサイズに縮小されて合成されてしまいました。
縮小されずに合成するにはどのようにすればよいでしょうか?
UIImage *blueImage;
CGRect rect;
rect.origin = CGPointZero;
rect.size = self.orgImage.size;

UIGraphicsBeginImageContextWithOptions(rect.size, NO, 0.0);
[[UIColor blueColor] set];
CGContextFillRect(UIGraphicsGetCurrentContext(), rect);
blueImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

CIFilter *ciFilter = [CIFilter filterWithName:@"CIAdditionCompositing"];
[ciFilter setValue:[[CIImage alloc] initWithImage:blueImage] forKey:kCIInputImageKey];
[ciFilter setValue:[[CIImage alloc] initWithImage:self.orgImage] forKey:kCIInputBackgroundImageKey];
CIContext *ciContext = [CIContext contextWithOptions:nil];
CGImageRef cgimg = [ciContext createCGImage:[ciFilter outputImage] fromRect:[[ciFilter outputImage] extent]];
self.targetImage = [UIImage imageWithCGImage:cgimg scale:1.0f orientation:UIImageOrientationUp];
CGImageRelease(cgimg);
http://i.imgur.com/T9Pe3.jpg

132 :
>>131
UIGraphicsBeginImageContextWithOptions()のスケールに0を渡して
いるから、実行デバイスのメインスクリーンのスケールが使われてしま
って、それがorgImageのスケールと異なるんじゃないの?

133 :
>>132
1.0にしたらイケました!
ありがとうございます!

134 :
UIViewControllerのデフォルトのviewの上に,UIScrollViewをIBで貼付けていて、
(UIViewのサブビューがUIScrollViewということ)
viewそのものを使うことがないから,いっそviewのクラスをUIScrollViewにする方法もあるのだけど,
この場合,メモリの効率はどの程度違ってくる?
インスタンス化したときにUIViewの分だけ少なくなるはず。
それほど気にすることもないような気もするし,少しでもメモリの使用率を減らせるなら,
減らしてもいいような気もするし(HIGはおすすめしてるし)で。
(UIScrollViewにいちいちキャストしなければならない手間もあるが)
そのあたりどう?

135 :
それくらい自分で確かめろクソが


136 :
touchesEndedをオーバーライドしててタッチイベントUILabelは取得できずにUIViewは出来るんですけど仕様変わりました???

137 :
「仕様が変わったか」なんてのは、以前はできたけど出来なくなったときに言う。
変わったかどうかなんてDiffsかリファレンス見ればわかるし、
userInteractionEnabledがNOのままとか、そんなことだろどうせ。

138 :
PHPの配列をxcodeに渡したいのですが、良い方法はありませんか?
宜しくお願いします。

139 :
自分だったらjsonやxmlで出力してObjective-C側で(ry

140 :
uitextViewでundoをした場合、
undo前後の置換されたテキストを得ることは可能でしょうか
NSString* a=@"お饅頭を3つ下さい";
ここでtextViewをundoをするとaからbに変わる場合、アンパンという文字列を取得したい
NSString* b=@"アンパンを3つ下さい";

141 :
>>140
正規表現かsubstringWithRangeをつかいます。

142 :
>>134
Instrumentsつかって800バイト位。
一応、組み込み系のソフトと考えるとメモリ使用としては大きいのかどうか?
ところで,>>135ってどういう人物像だろうか?答えないんだったら,無視してればいいのに。
1.現実社会ではうだつが上がらず,日々のストレスをこのスレで解消している使用人タイプ。
2.何でも首を突っ込んでくるくせに,自分が知らないことを聞かれると,逆切れする知ったかぶりの上司タイプ。
3.他人の小さなミスをじくじくと責める非建設的お局タイプ。

143 :
AVFoundationを使ってカメラアプリを作っているのですが、
iOS6からAVCaptureVideoPreviewLayerのsetOrientationがdeprecated扱いとなったことで、
プレビューレイヤーを回転できず困っています。
リファレンスでは代わりにAVCaptureConnectionのsetVideoOrientationを使えとあるので、
AVCaptureVideoOrientation〜など一通り試してみたのですが変化なく…。
appleの公式サンプルにも横画面に対応しているものは見つけられずお手上げ状態です。
どのような設定が必要なのでしょか。ご教示お願いいたします。
↓現在のAVCaptureConnection関連の概略図です↓
AVCaptureConnection *captureConnection;
AVCaptureVideoOrientation videoOrientation;
AVCaptureStillImageOutput *sImageOutput = [[AVCaptureStillImageOutput alloc] init];
captureConnection = [sImageOutput connectionWithMediaType:AVMediaTypeVideo];
if ([captureConnection isVideoOrientationSupported]) {
videoOrientation = AVCaptureVideoOrientationPortrait;
[captureConnection setVideoOrientation:videoOrientation];
}
// デバイスの回転を検出
- (void)deviceOrientationDidChange {
if ([captureConnection isVideoOrientationSupported]) {
videoOrientation = AVCaptureVideoOrientationLandscapeRight;
[captureConnection setVideoOrientation:videoOrientation];
}
}

144 :
>>142は3かな。

145 :
初心者ですが、質問させてください。
iPhone5が出た昨今、Retinaディスプレイ用の画像と
iPhone3や3GSを考慮した画像の2種類は
絶対に用意しなければならないものなのでしょうか。
準備するのがRetina用だけでも問題ないのであれば、
そうしようと思っているのですが...。
よろしくお願いします。

146 :
>>143
AVCaptureVideoPreviewLayer の connection

147 :
>>141 ありがとうございます
正規表現はわかるのですが、
substringWithRangeでどのような方法でとりだすのでしょうか
NSString* a=@"お饅頭を3つ下さい";
ここでtextViewをundoをするとaからbに変わる場合、アンパンという文字列を取得したい
NSString* b=@"アンパンを3つ下さい";

148 :
>>147
aとbのdiffっぽいことをしたいんだよね?
だとすると正規表現じゃ無理だね。
めんどいけど、前後から一文字ずつ一致しているか調べていくとかかなあ。
探せばなんかありそうだけど。
>>142は3。

149 :
>>143
videoOrientationって、デバイスの画面上では回転しないんじゃないの?
画像・映像データの向き(バッファー上の画素の位置関係)を決めてるだけ
で。
んで、プレビューレイヤーを表示させるためのビューや親レイヤーは、自分
で管理してるよね?
画面上で回転させたいなら、そちらを回転させるんじゃnい?
ちなみに、iOS 6からは、shouldAutorotateToInterfaceOrientation:も
Deprecatedになってるから、気をつけてね。

150 :
>>145
いける

151 :
>>145
iPad2でも非Retina画像は必要だからリジェクトされちゃうんじゃないかなあ。

152 :
>>145
それは開発者の考え方次第じゃないかな。
標準スケールのデバイスでも、Retinaスケールの画像を縮小して表示す
ることはできるわけだし。ただ、標準スケールのデバイスはメモリ搭載
量もチープだから、でかい画像で逼迫しやすくなるかもしれないけど。
まあ、今後、iPhone/iPod touchのラインはRetinaで行く可能性が高い
んだろうけど、imageWithContentsOfFile:とかの画像読み込みメソッド
で、自動的に適正スケールの画像を読み込ませるには、@2xサフィック
スなしの、標準スケールの画像ファイルが無いとダメだったはず。
だから、image@2x.pngを読み込もうとした時、image.pngが存在しない
と、image.pngを指定して読み込めない。もちろん、image@2x.pngを指
定すれば読み込める。スケールも2になるみたいだけど、逆に、@2xがつ
いていないとスケールが1として扱われるから、ファイル名に注意が必要。
標準スケールの画像を準備するのも、Retinaスケールの画像を縮小変換す
るだけで、たいてい問題ないし、そのための一括変換ツールなんかも、た
くさんでてる(余談だけど、Retina MacBookでこの手のツールを使うと、
正しく変換できないのが結構ある。だから俺は自作したけど)から、デメ
リットとしては、その分、ファイルサイズが増えるくらいだよ。


153 :
iPhone5の4-inchスクリーンに対応させると、
Xcode4.5/iOS SDK 6じゃないとreject。
自動的に、iOS 4.xのサポートは不可となる。

154 :
初歩的な質問です。
iosを6にアップデートしたら、
3Gが使えず、wifiでしかネットができません。
どうすれば3Gが使えるようになるでしょうか?

155 :
画像処理のアプリをiOS6 iPhone5に対応させようと思ったんですが
これまで問題なかった箇所でEXC_BAD_ACCESSで落ちてしまいます。
具体的にはよくある処理なんですが
テスト用に簡略化したものでテストしてるんですがダメでした
〜〜〜ここまでdataProvider取得処理〜〜〜〜
CFDataRef data = CGDataProviderCopyData(dataProvider);
UInt8* buffer = (UInt8*)CFDataGetBytePtr(data);
for (int j = 0; j < height; j++){
for (int i = 0; i < width; i++){
UInt8* tmp = buffer + j * bytesPerRow + i * 4;
UInt8 r, g, b;
r = *(tmp + 2);
g = *(tmp + 1);
b = *(tmp + 0);
*(tmp + 2) = r;//←ここで落ちる
*(tmp + 1) = g;
*(tmp + 0) = b;
}
}
iOS5.1の実機では問題なく動作するんですが、
シミュレータではダメなようでiOS6で何か変更があったのかちょっと分からないんですが
よろしくおねがいします。

156 :
>>149
VideoOrientationは静止画をキャプチャする際に使用していて、
同じような考えでいたため余計混乱してしまってました…。
教えていただいたように、親Viewの.transform & .centerを行うことで解決いたしました!
以前に比べると、なんとなくモヤモヤが残ってしまう解決法にも感じてしまいますが^^;
ありがとうございます!
>>146
いただいたキーワードから色々調べてみたのですが、上手く設定することが出来ませんでした…。
知識不足を感じますので、もう少し基礎的なことから改めて勉強していこうと思います。
ありがとうございました!

157 :
>>153
それ本当? なら、色々諦めがつくなぁ。

158 :
>>156
[videoPreviewLayer connection] setVideoOrientation:〜];

159 :
145です。
みなさん、回答ありがとうございます!
自分はコーディング担当で、
画像作成は他の人に頼むことになってたがゆえの質問でした。
コーディングとリジェクトのリスクについて、いただいた回答を参考にして、
対応を決めたいと思います。
ありがとうございました。

160 :
>>155
画像処理でよく見かけるコードだけど、CFDataRefって変更不可なんじゃない
の? CFMutableDataRefってのが別にあるし。
さらに、CGDataGetBytePtr()で取り出しているポインターの先も変更不可だよ
ね、本来。CFDataGetMutableBytePtr()って関数があるし。NSDataと
NSMutableDataと同様ってことだよね。
としたら、読み出しは問題ないけど、書き込みでエラーがでるのは当たり前で、
今まで問題なく動いていた方がおかしいな。
CFDataRef tmpData = CGDataProviderCopyData(dataProvider);
CFMutableDataRef data = CFDataCreateMutableCopy(0, 0, tmpData);
UInt8 *buffer = (UInt8 *)CFDataGetMutableBytePtr(data);
としてMutableで取り出せば大丈夫なはず。CopyしたもののReleaseは忘れず
に。

161 :
const UInt8 *
なんだから、const UInt8 *buffer で受け取れば書き換えようが無い/書き換ることができないってわかるものなのにな
const から 非const へはいつの間にかデフォでワーニング出なくなってるのね

162 :
>>158
そちらのコードで以前と同じ表示を再現できました!
リファレンスをしっかり読み解く力を身につけないといけないですね。
大変勉強になりました。ありがとうございます!

163 :
ちっくしょ。初リジェクトくらったぜw。
起動させるとクラッシュするとか言ってるんだけど、ウチでは再現しないんだよな。
どーしろっていうんだよwww。

164 :
シミュレータじゃ再現しないなんたら
って前すれで見たな

165 :
>>164
やっぱりiPhone5買えってことか。金がかかるぜ・・・w。

166 :
俺も気になったんで前スレ見てたら
「ストアから落とせるバイナリは、アップロードされたバイナリにストアが手を加えるから、
完全一致というのはあり得ないけども。
リリースビルドでテスト
アドホックビルドにしてみて手動で実機にインストールで動作確認」
って教えがあったよ

167 :
tableviewでセルの数を設定しているのに、空白のセルがずらずらならんでしまいます。
こういうものなんでしょうか?

168 :
そういうもんではないな

169 :
>>167
空白のセルの個数は、設定した数とあってる?
あってる(試しに個数を変えてみて、それでも追従している)なら、セルの
内容を返すデータソースメソッドの処理が間違ってる。
あってないのなら、データソースやデリゲートを設定していないんじゃない?


170 :
>>169
レスありがとうございます。
設定した個数まで内容がきちんと表示されて、その後に空白のセルが並んでしまいます。
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
で設定する以外にもどこか記述がいるのでしょうか?

171 :
最近日本語のドキュメントの充実感がすごい

172 :
>>170
セクションを無駄に作ってない?
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
ってとこを見て、もし、セクションとか設定してないのに、returnが1より大きい数字になってたら、1にしてみて。

173 :
>>170
>設定した個数まで内容がきちんと表示されて、その後に空白のセルが並んでしまいます。
ああ、そういう意味か。
内容がきちんと表示されない空白のセルが並んでいるのかと思った。
これはそういうモノ。
空白のセルが並んでいるのでは無く、セパレーターがデフォルト間隔で描画されている。
内容のあるセルのところのみに表示させたいというのであれば、セパレーターを非表示
にしてセルの一番下に線を描画するとか、高さ1ピクセルとかで透明なビューを作って、フッ
ターに設定するとかでできるはず。
フッターは、tableView:viewForFooterInSection:で設定。


174 :
すいません、質問です。
少し前にリリースしたゲームアプリで、
0.001秒間隔でタイムを表示させる様にNSTimerでループさせていました。
リリース後もAppStoreからダウンロードしてチェックしましたが、特に問題も無く作動。
(当時スペックは 自分=iOS 5.1、Xcode=4.2)
ところが、先日自分のiPhoneをiOS6.0にアップデートしたところ、
ダウンロードしていたそのアプリが突然0.01秒感覚にタイマーが変わっていました。
試しに1回アプリをiPhoneから削除して、再インストールしてみたのですが同じでした。
もちろんプロジェクトも確認しましたが、間違いなく0.001。
その間にアップデートしたXcode4.5のiOS6シュミレーターでも問題無く0.001で動作しました。
仕組みは、10.000から0.001を0.001秒毎にマイナスするのですが、
現状10.000から0.001を0.01秒毎にマイナスしてしまう。
10秒以内に〜というゲームなのですが、つまり100秒カウントダウンしてしまう形です。
のでゲームになりません。。。
原因と解決策を教えて頂ければ助かります。m(_ _)m

175 :
あのさ、まず表示が0.001秒間隔でできるわけないじゃん。
そこはCADisplayLinkで60fpsか、frameInterval = 2にして30fpsでやれよ。
時間の判定はそれとは別にシステムのtimeStampでも使え。

176 :
前にも出てたけど、テストをシミュレータだけで終わらせてリリースするのはなんなの?ふざけてるの?
せめて、ここに書き込みする人達は、回答を得ると同時にその程度のモラルは持ってもらいたい。

177 :
>>174
まず>>175の通りだけど、前提として、タイマーは指定した間隔でのメソッド呼び出し
を保証していないことは覚えておかないといけない。だから、タイマーからの呼び出し
回数で時間表示をどうこうするのは間違い。おそらく、iOS 6にする前でも、厳密に10
秒を計測できてはいなかったはず。
カウントダウンタイマー表示は、スタートの時間を保存しておいて、タイマーから呼び
出された時に、スタートから呼び出された時点までの経過時間を求めて、それを表示す
る。そうすれば、タイマーの呼び出し間隔が変わっても問題ない。(動画などのコマ落
ち処理と同じ)

178 :
>>176
ん? これは誰に対してのレスなの?
163辺りになら、確かにそう思うけど、174は実機でチェックしてると書いてるよ?

179 :
>>178
誤解与えて失礼しました。
163です。

180 :
Obj-Cの質問です(iOS6、XCode 4.5.1で最近はじめました)
たとえばHogeHogeView.mなら
#import "HogeHogeView.h"
@interface HogeHogeView()
- (void)methodA;
- (void)methodB;
@end
@implementation HogeHogeView
〜略〜
@end
って感じに、最初に@interface HogeHogeView() 〜 @end を書いてるのを見かけるんですが
別にこの宣言が無くても methodAもBも実装して、自クラス内で [self methodA];と呼べます。
何のためにあるんですかね??

181 :
ビルド時に警告が出てウザいから

182 :
>>180
端的には>>181の通りだけど、呼び出しがメソッドの実装位置より後方なら警告も
でない。
例えば、
-(void)methodA {}
-(void)mathodB
{
}

183 :
>>180
途中で書き込んでしまったorz
端的には>>181の通りだけど、呼び出しがメソッドの実装位置より後方なら警告も
でない。
例えば、
-(void)methodA {
}
-(void)mathodB {
[self methodA];
}
これなら警告も出ない。

184 :
質問なんですけど、例えばヘッダーで
@class HogeClass;
って前方参照で書けば、そのクラスのヘッダーをインクルードしないでも変数として宣言できて、実際のインクルードはmファイルの方ですればよいですよね。
同じような書き方をクラスだけじゃなく、別のヘッダでtypedefしてある型についてもできないでしょうか?


185 :
>>180-183
4.3以降なら順序関係なく警告も出ないよ。
昔はローカルカテゴリで対応してたけど
@Interfaceって名前が付いてる通り外部公開用だから
クラスメソッドの置いてあるユーティリティクラスなら
当然@interfaceで公開しないと外からは使えないし
インスタンスメソッドでも@Interfaceに書いておかないと
継承したときにサブクラスで使えない
(Javaと感覚が違うのではまった)
単なるサブルーチンなら今は要らない。
昔の名残だと思っていい。

186 :
>>184
単にインクルードがめんどいだけならpchにimport書いたら

187 :
>>185
マジか… 順序関係なく警告でないの始めて知ったわ…

188 :
>>186
レスありがとうございます。インクルードがめんどいというより、ヘッダファイルの修正による
コンパイルの影響範囲を抑えたいというのが一番の理由です。
pchに書いたら、ヘッダの修正するたんびに全コンパイルされるのでそれはちょっと...

189 :
>>185
>4.3以降なら順序関係なく警告も出ないよ。
ホントだ。ちゃんとメソッドが存在していれば問題なくなったんだね
LLVMの機能かな?
警告増えると面倒だから、初めから出ない様にやってて、気づかなかっ

4.x以降、どんどん記述量が減らせるようになってるんだな
>>184
ダメじゃ無いかなぁ。@classの場合は、NSObject派生のポインター型
だってわかってるから、クラス名だけで格納サイズを確定することがで
きるけど、typedefだと、名前だけでは、どれくらいのサイズになるか
決定できないでしょ

190 :
>>185,181,183
大変に参考になりました。ありがとうございます。
書かなくても大丈夫そうなので、安心です。
Obj-Cも記述量減る方向になってるようで、後から入った方にはありがたいすねw
超個人的には、文字列連結は @"Hoge" + @"Foo" でHogeFooといった具合になってくれたらありがたいすね

191 :
>>189
ネットで調べてみてもtypedefの前方参照はできないみたいですね。
素直に#importします。ありがことうございました。

192 :
>>190
>超個人的には、文字列連結は @"Hoge" + @"Foo" でHogeFooといった具合になってくれたらありがたいすね
文字列リテラルなら、
@"Hoge" @"Foo"で@"HogeFoo"として処理されるよ?
例えば、
#define kStr0 @"Hoge"
#define kStr1 @"Foo"
ってやってあったとして、
NSString *str = kStr0 kStr1;
ってやれば、strは「HogeFoo」になる。
インスタンス同士の演算はまだだけどね。配列アクセスなんかのサブスクリプティング
が拡張されて+演算子とかの動作を定義できたら面白いけどね。

193 :
>>190
短くなる書き方は採用したほうが見通しがよくなるから
本と見比べてややこしいけどガンガン使った方がいいと思う。
.hに書くことはかなり少なくなった。
http://d.hatena.ne.jp/KishikawaKatsumi/20120922/1348297286
俺は必要になるのが2個のシチュエーションが多いから
#define CONCAT(A,B) [NSString stringWithFormat:@"%@%@",A,B]
ってのを定義してる。

194 :
>>192,193
ありがとうございます。勉強になります。
#define CONCAT(A,B) [NSString stringWithFormat:@"%@%@",A,B]
このやりかたはいいですね!2つだけでなく無限に出来るやり方があると面白いですね自分もチャレンジしてみます

195 :
これでどうでしょう。
#define CONCAT(...)[[NSArray arrayWithObjects:__VA_ARGS__] componentsJoinedByString:@""]
NSString *str = CONCAT(@"123",@"456",@"789",nil);
NSLog(@"%@" , str);

196 :
Modern Objective-Cって奴でかいてみました。こっちのほうが最後にnil入れなくて済むので書きやすいかもです。
#define CONCAT(...)[@[__VA_ARGS__] componentsJoinedByString:@""]
NSString *str = CONCAT(@"みどり",@"ゆかこ",@"あすか",@"えみこ",@"じゅり",@"かおり");
NSLog(@"%@" , str);

197 :
俺はdefineのプロだとか思ってたけど全然だったわ…

198 :
実際の中身をインライン関数にしたほうが安全じゃないかな?
#define CONCAT(...) __StringConcat(@[__VA_ARGS__])
FOUNDATION_EXPORT inline NSString* __StringConcat(NSArray* array)
{
return [array componentsJoinedByString:@""];
}

199 :
これからアプリ開発勉強しようと思うのですが、基礎がよくわかるxcodeの書籍、cの書籍などオススメありますか?

200 :
>>199
この質問よくでるからだれもこたえないとおもうw
まぁ、俺なら本なんか買わないかもな。
本のサンプルソースだけダウンロードしていじってみるw
わかんなかったらググって調べる。
お金をたいせつにね〜じゃん

201 :
>>199
ここで答えてくれる諸兄らが読んでた本は、もうかなり前になるから無理かも。
技術書のある大きい書店行っていろいろ見て、自分に合うと思うものを探してみるといいよ。
もちろんネットで事足りるかもしれないけど。

202 :
いまからiPhone 5でも3.x系でも動くバイナリリリースするのは無理なん?
Xcode4.4のプロジェクトに4インチ用の起動画像追加したバイナリはリジェクト?

203 :
>>202
うちはそれで通ったけど、4.5GM出た直後だったからなー。人柱頼む。

204 :
>>202
Default-568h@2x.png 入れて iOS SDK 6使わないとReject。Forumで中の人が言ってる。

205 :
>>200
>>201
わかりました
ネット検索だけで頑張ってみます

206 :
>>198
FOUNDATION_EXPORT inline の部分がイマイチわからんです
どういう役割・効果あるんでしょう

207 :
extern inlineとだいたい同じだよ

208 :
>>207
ありがとうございます。
*App-Prefix.pch に書いたらduplicate symbol __StringConcat が大量にでます
複数回の定義だからダメなんだろなとは予想できますけど
どこらへんに書くなどするのがセオリーなんでしょう

209 :
>>175さん
ご返答ありがとうございます、お礼が遅くなってすいません。
0.001は実機でも作動していたので、初心者ながら「?」と不安に思いながらも実装していました(^^;
正直ドのつく初心者なので、単純に時間制御→NSTimerでいいか、などと。
実際動作していたのもあったのでそのまま進んでいた次第です。
時間表示・取得は>>177さんのいう通り、経過時間から別で取得する感覚は理解しました。
ありがとうございます!
問題はCADisplayLinkの具体的な使い方で。
過去レスやネットで色々調べてはみたものの、ハッキリとした導入方法のチュートリアル的なものが見つからなくて。。
(大型書店のプログラム書籍コーナーとかも色々読み探してみたのですが。。)
OpenGL ESなど言葉が飛び交っていました。
そもそもテンプレートをSingleViewApplicationで作るのが間違い?
重ねて素人な質問で本当に申し訳無いのですが、Xcodeでフレームレートを使ったゲームループを作るには、どういった段取り・記述が必要ですか?
もしくはそのような説明のあるサイト等はありますでしょうか?
恐縮ですが、よろしくお願い致します。

210 :
>>209
CADisplayLink は基本こんな感じ
CADisplayLink *cad; インスタンス変数
- (void) beginClockAnimation {
 cad = [CADisplayLink displayLinkWithTarget:self selector:@selector(cadCallBack:)];
 [cad addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
}
- (void) cadCallBack:(CADisplayLink *)sender {
 //現在時間を取得して経過時間を計算し描画 setNeedsDisplay呼び出しとか
}
止める時は [cad invalidate];

211 :
>>203>>204
ありがとう!
じゃあもう4.3未満の実機いらないな…
バージョンアップするか…

212 :
フォーラムみてみたら、古いSDKでビルドしたものも受け付けるみたいなことが書いてあったので、
どうしても4.2未満をサポートしたかったらiPhone 5対応版と非対応版の二種類出せばいいのかな…

213 :
[string drawAtPoint: stringPoint withFont: stringFont];
で日本語を表示させると時々字化けするんですが、
同じような経験をされた方で、解決された方はいらっしゃいますか?
具体的には 以下のようなソースを書いています。
- (void)drawRect:(CGRect)rect {
  CGContextRef context = UIGraphicsGetCurrentContext();
  CGContextSetFillColorWithColor(context, [UIColor blackColor].CGColor);
  UIFont * stringFont = [UIFont systemFontOfSize: 9.0f];
  CGPoint stringPoint = CGPointMaks(10.0f, 10.0f);
  NSString *string = @"漢字文字列";
  [string drawAtPoint: stringPoint withFont: stringFont];
}
結果としては大抵「漢字文字列」と表示されるのですが、
数十回に1回くらい、「漢字□字列」とか「漢字文字□」とかが表示されます。
「□」は□の中に×が入った文字が表示されます。
よろしくお願いします。

214 :
>>213
@"xx"はASCIIのみだったような。[NSString withCString〜:"漢字" encoding:NSUTF8..]ではどう?

215 :
twitterで定期的に自身のgeoロケーションをポストするようなアプリって作れますか?
あるいは既にそういう機能のアプリがあれば教えてください

216 :
音声検索して、該当ページに飛ぶだけの単純なアプリを作りたいんだが
入門書読めば作れる?
アイコンとか、コンテンツは作ってある

217 :
>>213
日本語文字列は文字列ローカライズの機能を使うっていうのが基本なんだけど、他のア
ドバイスするにはちょっと情報不足
・化ける文字列は本当に「漢字文字列」なのか
・数十回に1回というのは、コードを修正した回数やビルド回数のことなのか、アプリ
実行回数なのか、一回のアプリで同じコードを実行した回数なのか、アプリ随所に
drawAtPoint:withFont:を使っていて、それらの実行総数なのか
・他のフォント(特に日本語フォント)を指定した場合は試したか
何が気になるかというと、毎回じゃ無いって所と、化ける文字が異なっているみたいな
とこ
>>216
音声検索のやり方が書いてある入門書やサイトがあれば作れるだろ

218 :
>>208
.pchファイルっていうのは、コンパイル時に全ファイルにimportするよってファイルだから、
そこに関数の宣言や定義をしてはいけない
というかプリプロセッサマクロも普通はそこに直接書かない
あと>>198は端折ってるのか勘違いしてるのかわかんないけど
FOUNDATION_EXPORT inline 〜はヘッダファイルに書いて
inline NSString* __StringConcat()の実装は.cなり.mの実装に書く

219 :
>>214
なるほど、[NSString withCString〜:"漢字" encoding:NSUTF8..]を見てみます。
>>217
情報量不足ですみません。
>・化ける文字列は本当に「漢字文字列」なのか
化ける文字列は「漢字文字列」のときもありましたし、
SqliteからSelectしてきた文字列の時もありましたし、
他の固定文字列でも発生しています。
>・数十回に1回というのは、コードを修正した回数やビルド回数のことなのか(後略
同じコード(修正していない)、同じDB、同じレコード、違うレコードで発生するときとしないときがあります。
発生するのは数十回に1回程度。殆ど発生しないけど、あ、また出た・・・って感じ。
>・他のフォント(特に日本語フォント)を指定した場合は試したか
すみません、こちらは試してませんでした。幾つか試してみたいと思います。
>何が気になるかというと、毎回じゃ無いって所と、化ける文字が異なっているみたいな
とこ
上にも書きましたが化ける文字は同じ場所ではありません。
同じ場所ならなにかコードが問題かなと思うのだけど・・・。
よろしくお願いします。

220 :
>>218
ありがとうございます。勉強になります。

221 :
Xcodeで4インチディスプレイに対応する方法についての質問なんですが、
右下の4インチボタンで画面サイズを変更することは分かりました。
しかし、これだと上書きされてしまいますよね。
iPhone5用にStoryboardを新しくもう1個作って配置して、
コード側でiPhone5ならこのStoryboard、というふうに指定するんでしょうか?
それとも、ひとつのStoryboardで、3.5インチと4インチを混在させ、
コードで判断するのか、もしくは自動でやってくれるのでしょうか?
m(_ _)m4インチディスプレイでのスマートな対応、ご教示お願いします。

222 :
sbを捨てよ

223 :
初学者です、調べてみたのですが答えがでてこなかったので質問させてください
簡単なアプリを作る程度ならみんな、ViewConrollerにコードを書くだけだと思いますが
ここのメソッド内のコードが多くなると見づらくなるのでファイル分割するはずなんですが
ViewControllerを分割するにはどうすればいいのでしょうか?

224 :
MVC、あるいは最近ちょっと話題のMOVEアーキテクチャを徹底すれば
そこまで長くはならない
どうしてもというならカテゴリがあるけど、初学者ならなおさら
ソフトウェアアーキテクチャを理解して実践したほうがいい

225 :
>>219
SqliteからSelectしてきた文字列でも化けるってのは、これは文字列リテラルじゃ
ないってこと?
だとしたら、なんかもっと根本的に間違っている感じがするんだけど…
(少なくとも質問の内容が間違ってる)
とりあえず、文字列リテラルはLocalizable.strings使ってコード上から除去した
方がいいんじゃないかな。これでも化けるとすれば、本当におかしいから。
>>223
簡単なアプリなら、ビューコントローラークラスに分割が必要なほどのコードは
書いているわけがないんだから、そういう事態にはならない。
簡単なアプリから複雑なアプリに作り込んでいこうっていうのなら、後から追加
するメソッドなどは別クラスにする(そのビューコントローラー内部にある必要
の無い、データ処理部分などを別クラスにわける)とか。

226 :
>>210さん
本当にありがとうございます、感激です!長く持ってた疑問が解決しました!
周りに聞ける人もいなくて、もう本当に。。(;;)
フレームワークにQuartzCoreを追加して、#import <QuartzCore/QuartzCore.h>でインポートしたら動作しました。
元々の質問だったNSTimerを0.001秒感覚で〜というのが、CADisplayLinkに触れることで無茶な内容であった事もよく解りました。汗
うまくNSTimerと使い分ければと思います。
フレームレートで検索すると「処理落ち」という言葉が必ず出てきます。
過去スレッドで落ち物パズルを質問をされていた方も悩んでおられたようで。
仮にシューティングゲームを作ったとして、
DT値などで補正しているとキャラが飛ぶ、弾すり抜け、いきなり爆死とかあるようです。
アプリの内容にもよるのでしょうが、皆さんは処理落ちに対して何か必ず事前工夫されておられますか?
初心者ながら自分が思いつく限りは(正しいのか解りませんが)
「なるべくループ中に1フレームの負荷を与えない」
「それこそOpenGL ESとか。。」
「30fps?」
「古いデバイスの方ごめんなさいと諦める」ぐらいです。
ぜひ参考にさせて頂きたいです。

227 :
>>225
ですよね。自分も最初はそれを疑いました。
しかし、リテラルでも同様に字化けが起きるのでsqlite関連の問題とは切り離しいいかなと思っています。
同じレコード、同じ内容で、毎回起きるのなら、それは実装がおかしいってことが判るのですが。
頻度が低いのと、起きる箇所がその時で異なるし、源泉がリテラル、DBともに起きるので、
デバックするのも難しいのですよね・・・。
とりあえず、リテラルの方はlocalizeする方向で考えてみます。

228 :
OpenGL+ゲームの実行層はC言語で書く
これでだいたい片がつく

229 :
外国語の単語学習アプリを作りたいんですけど、
データを管理するにはどうするのが一番効率的なんでしょう?
全部を配列に入れるのは保守が大変ですし、
Textファイルで分けるのも動作が遅くなる様な気がします。
今考えてるのはSQLiteで管理する方法なんですがどうでしょう?

230 :
>>229
plistという手もある。

231 :
>>222
xibのみでやるのがデファクトスタンダードですか?

232 :
今日はもう寝ます。
ありがとうございました。
また明日よろしくお願いします。

233 :
>>221
nib/storyboard は 4インチでデザインして保存する
3.5インチ時は自動的に縮小されるので、それに共なう部品(Subview)の配置状態は autoresizingMask か Autolayout でほぼ全てカバーできる
autoresizingMask や Autolayout でうまくいかない/頭が痛くなってくる場合は、そこの部分(ViewController)だけを 3インチ用と4インチ用を用意してコードで分岐する
Storyが短いんだったら Storyboard 自体を 3インチ用と4インチ用 に分けてしまう方がいいように思うけど
なにがスマートかわからんけど

234 :
>231
xibも捨てようぜ
初心者が試しで触る分にはいいけど、
それ以上は悪くしかならないよあれ。理解ができなくなるラインがある
使わずにアプリ組めるようになって、戻る分には全然いいと思うけどさ
俺はちょっと触ってダメだこりゃって事でxibもsbも初めから使ってない


235 :
ちょっと触ってダメだこりゃ

236 :
やっぱりコードにデータ埋め埋めな人だったかw

237 :
>>226
昔同じように長期間悩んでいた者として他人と思えない。
処理落ちについてだけど、対策は色々
ゲームじゃなかったら自分は何も考えないで作るけどさ
>「なるべくループ中に1フレームの負荷を与えない」
これは当たり前で、これが基本かな
同じ処理でも、コードの書き方でも変わったりするからそこも頑張って
forで大量処理するときは高速列挙使うとか、
大量にインスタンス作るときはコピーして使うとか、
/2したくても*0.5とするとか・・・(昔は重要だった)
>「それこそOpenGL ESとか。。」
ゲームになると、そうでもしないと無理になってくる
>「30fps?」
YES。手軽に解決できる。自分で納得いくならそれでいいと思う。
>「古いデバイスの方ごめんなさいと諦める」ぐらいです。
レビューで死ぬから、ちゃんと機能制限して古い端末で落とせないように気をつけて
ゲームなら、cocos2dとか専用のフレームワークあるから、
それなら今の数倍無茶しても処理落ちしない。OpenGLを意識しないで使える。
あとフレーム制御で動かすときは、極力NSTimer使わない方がいい
処理が2つ走る様な状態になるから、把握が難しくなる
自分でループをカウントして、NSTitmerっぽい制御できるならそうしたらいいよ

238 :
>>234
そんなことない
向かないジャンルがあることは確かだが、画面上に配置するオブジェクトが
多いほど、すべてコードでなんてやってられなくなる。特に、ある程度でき
あがってからレイアウト変更しないといけなくなった時なんて地獄だ
自分で納得してそうするのは構わないだろうが、まだ経験が少ない人に自分
のやり方を押し付けるようなのはどうかと思うぞ
これがARCの話だったら、だいたい納得できるけど。それでも、使うのやめ
ようぜとは言わないけどね

…理解ができなくなるラインって何の事だろう

239 :
どこまで頼るかは人によるけど
全く使わないのは頭が固いね

240 :
>>226
究極的にはゲームのロジックと描画処理を同期させない。
描画がどれだけ遅れていようとゲームのロジックは常に一定の間隔で回せばすり抜けとかは発生しなくなる。

241 :
ゲームはcocos1dいったくやで

242 :
あ2dね

243 :
>>233
なるほどですね!画面ページ数は少ないエンタメ系アプリなので、
自動縮小でうまくいかなかったら、
ViewControllerを分けてやってみようと思います。
ありがとうございました!!

244 :
cocos2d-x使えよ
捗るぞ

245 :
>>173
ありがとうございました。
フッターの高さを0.1にすることで解決しました。

246 :
参考になります、ありがとうございます!
>>228さん
本格的なものになってくると、OpenGLを検討する必要があるのですね。
今はまだ未熟ですが、必要性が出てくると学んでいくのかも知れません。
>>237さん
沢山の参考ありがとうございます!そう言って頂けると嬉しいです。
「他の人はどうしているんだろう?」というのが、当たり前な事でも常に常に疑問のスタートで。。
調べると*0.5などは積み重なると結構な違いがあるのですね、知りませんでした。
起動時に最大限ロードさせたりとかもしてみたり、頂いた参考を元に負荷減を心がけて、最後の例を選択しないよう頑張ります!
電車なんかで携帯触っている人を見ると、iPhone4未満の人も多く見ますし、需要を無視してはいけないですよね。汗
NSTimer気をつけます、フレーム制御していない静的な部分で活用するとか。
それでも1/60秒そこらでそれだけ処理をするコンピューターってすごいなぁ、と改めて楽しいです。
>>240さん
マルチスレッドという事でしょうか?
その場合、描画が処理落ちしても、ゲームロジックは一定を保っている。。?
フラグ等で誤処理は管理できそうですが、そういうものなのですかね?
>>241さん >>244さん
cocos2dというのは非常に出てくる言葉で、実は凄く興味はあります。
iPhoneの絵描衛門?みたいなイメージでおります。
調べた時もあったのですが、いかんせん初心者のネット・書籍の独学なので
情報量とかを考えると、今はまだ少し保留にしている状態です。f^^;
もう少し力をつけてから、、やっぱり捗る(楽)のですね。

247 :
絵描衛門って何かと思ったらツクールみたいなもんか
cocos2dはフレームワークだよ
フリーだしHelloWorldだけでもいいから触ってごらんよ。

248 :
>>246
一応コードの最適化もだけど、通常の場合処理時間の殆どを描画に使ってるから初めのうちはそれ意識してたらいいはず
240じゃないけど、1つのループで演算処理を全部先にやって、最後にまとめて描画するようにまとめて作る
んで、演算処理に時間使いすぎて描画までやると1/60秒で終わらなさそうなら、
もうこのループで描画は諦めて次のループで描画することにする
そしたら表示はカクつくけどゲームの内部的には通常通りに動く。
そうゆう方法があるよ
マルチスレッドとかは今は考えないでおいてね。上にも書いてるけど、複数走らすと難易度が上がる
何作るのかわからないけど、ゲーム系ならcocos2dに早めに触ってみたらいいよ
ツクールな感じでは無いけど、ゲームを作るのに便利な機能が沢山入ってるしかなり高速。

249 :
CoreBluetoothを使ってiPhone同士を接続させることってできるのでしょうか?
できれば、テキストメッセージを互いに送受信したいと思ってるんですが、可能ですか?

250 :
>>249
たぶんCoreBluetoth使うまでもないと思われる
GameKit Bluetoothでググれ

251 :
>>250
ありがとうございます。
GameKitの方は試したんですが、アプリがバックグラウンド状態の時に、新たに他の端末と接続したり、
接続された状態を維持することができないようでした。
CoreBluetoothだとバックグランドでの接続維持はできるようなので、
iPhone同士の接続が可能であれば、そっちに乗り換えようかと思っていた所です。

252 :
chromeのタブ削除のUIみたいなのを使いたいんだけど、どうしたらいいですか?
スワイプしたら斜めに傾いて消えるアレです。

253 :
gestureRecognizerでハンドリング
viewをアニメーションさせる
アニメーションが終了したら削除

254 :
>>247さん
そう、ツクール。みたいなものだと。。根本違いますね、すいません。^^;
今あるリジェクト達を始末できたら、ぜひ試してみようかと思います。
cocos2dのプロモーション動画を見てきましたが、エフェクトとか物理エンジンとかドキドキします。
でいて高速なのですね、うーん。。ありがとうございます!
>>248さん
やはり描画は負担の割合が大きいのですね。
ループを空けて・・・なるほどです。
ロジックを守る場合、1フレームにウン秒かかったらその手法に切り替えるようなループをあらかじめ保険(?)で仕組んでおくのがいいかも知れないです。
もちろんそうならない様な作りが大事だと思いますが、特にマルチスレッドには過敏になっておきます。
参考になります!
現在は、先にご教授頂いたCADisplayLinkを当初問題のアプリに組み込んでいるところで。
経過時間からのカウントダウン方式を早速利用して、激感激中な次第です。
ありがとうございました!
良いタイミングなので、iOS6+4インチ対応も兼ねて作業してますが、あれこれ新しく目が回りますね。汗汗
Leaderboard呼び出したらiOS6だと落ちますね、Deprecations。。。手持ち全滅でした。
試しにSummaryのDeploymentTargetを6.0にしてみて気づきました。
Leaderboard組込みはネット上で結構出回ってるドキュメントをコピペしてたんですが、自分がiOS6だったりとかキッカケが無いと気づかなかったですね。
とりあえず先に解決方法調べて来ます。
色々ご参考、本当にありがとうございます。

255 :
一つ前の旧型iPodTouchで新Touchあるいは5用のアプリ(共通するハードウェアに関連するもの)を書く場合、
旧Touchで動いても、新Touchや5では動かないということがあるのでしょうか?

256 :
xcodeを全画面表示している時
シュミレーター前面を呼び出したいのですが
ショートカットなどないでしょうか

257 :
command+tabじゃだめ?

258 :
>>256
Mission Control とか?
あと「シミュ」レータな。

259 :
趣味で作ってるんだろうから、シュミレーターでいいんじゃね?

260 :
あと「シーョ」トカットな。

261 :
趣味レーター

262 :
>>100
承知しました。ありがとうございました。

263 :
>>260
>あと「シーョ」トカットな。
えっ

264 :
ん?

265 :
にゃっ?

266 :
シーョトケーキ

267 :
Xcodeのプロビジョニングファイルを指定するところで
急に選択できなくなりました。
http://hikky.gotdns.com/digihari/bbsdata/523-0.png
少し前までインストールしたプロビジョニングファイルの選択、実機への転送もできていました
何が原因でしょうか? 分かる方、教えてください。

268 :
キーチェーンアクセスから証明書見える?

269 :
あ、それよりも、Organizer のDevicesのLIBRARYのProvisioning Profilesは
どうなってる?

270 :
iOS6になってからUITextFieldに日本語や変換出来る状態の英字を入力するだけで
<Error>: CGContextSaveGState: invalid context 0x0
<Error>: CGContextDrawLinearGradient: invalid context 0x0
<Error>: CGContextSetFillColorWithColor: invalid context 0x0
......
とこのようなエラーが出ますが何が原因なんでしょうか。
iOS6になってデータベースにも書き込まなくなりました。
色々調べましたがわかりません。iOS6以前ではエラーも出ず正常に動きます。

271 :
>>268>>269
レスありがとうございます
キーチェーンからは見えています 複数のプロビジョニングファイルを登録しておりすべてみえております。
オーガナイザーのほうも同様です
もう1台Macがあってそっちは正常にできているので見比べても変なところはなさそうです

272 :
>>267
Xcode4.5?
なんかその辺よくバグるよね。
俺はXcode再起動して、それでもだめならMac再起動でなおったわ。

273 :
4.5.1にアプデとか

274 :
>>270
そのエラーは俺も出るようになったが、とりあえず入力できるので放置してる。
データベースへの書き込みができないってどういうこと?
CoreData? sqlite?
入力した文字が保存できないってこと?

275 :
>>272>>273
レスありがとうございます
再起動しても最新版にしても現象は同じです
何か設定とかでしょうか?

276 :
>>270
同じ状態で困ってます
まっさらなプロジェクトにTextField配置しただけでも
日本語入力すると同じエラーが出ます
このエラーが出てから電源ボタンを押すとクラッシュしてしまうのです
どなたか解決策をご存知ないでしょうか?

277 :
すいません、お聞きしても宜しいでしょうか?
GameCenterのLeaderboard(Type:Single)を利用する上で
下記ドキュメントをネット収集で自作していたのですが、iOS6から通用しなくなりました。
《Game Center Programming Guide》
http://developer.apple.com/library/ios/DOCUMENTATION/NetworkingInternet/Conceptual/GameKit_Guide/GameKit_Guide.pdf
をふまえてiOS6対応にどう改変・実装すれば宜しいでしょうか?
また、iOS5以前のフォローも同様に行いたい次第です。
かなり試したり海外サイトも調べたりしてたのですが、うまくいかず・・・。
不仕付けな内容で申し訳ありませんが、何卒ご教授頂けましたら助かります。
(自分の環境は Xcode4.5.1、実機iPhone4S:iOS6.0 です)
(手順a)フレームワーク「GameKit.framework」を追加
(手順b)AppDelegate.h
#import <GameKit/GameKit.h>
(手順c)AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//gamecenterのプレイヤーを取得
[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) {
if (error == nil) { // 認証に成功した場合の処理コードをここに挿入する
} else { // アプリケーションはエラーパラメータを処理してプレーヤーにエラーを報告できる
}
}];
return YES; //元々の記述
}

278 :
(手順d) ViewController.h
#import <GameKit/GameKit.h>
@interface ViewController : UIViewController<GKLeaderboardViewControllerDelegate> {}
- (void)showLeaderboard;
(手順e) ViewController.m
//データ送信記述
GKScore *scoreReporter = [[GKScore alloc] initWithCategory:@"リーダーボードID"];
scoreReporter.value = myScore;
[scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
if (error != nil) { // 報告エラーの処理
}
}];
//リーダーボード呼出
- (void)showLeaderboard {
GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
if (leaderboardController != nil) {
leaderboardController.leaderboardDelegate = self;
[self presentModalViewController: leaderboardController animated: YES];
}
[self leaderboardViewControllerDidFinish:leaderboardController];
}
//リーダーボードで完了を押した時に呼ばれる
- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController {
[self dismissModalViewControllerAnimated:YES];
}
//ここまで

279 :
GKTapper
っていうサンプルコードあるからそれみながら確認してみたら?

280 :
>>272>>273
レスありがとうございます
自己解決しました
以前AppSToreに申請を出したアプリを開いたところ、ちゃんとProvファイルを選択できたため、
該当するプロジェクトを開きなおしたら治っていました
再現もしないので大丈夫そうです

281 :
>>279
レスありがとうございます!GKTapper早速開いてみました。
何が何やらな感じですが、ヒントを見つけるべくとりあえずにらめっこしてみます・・。
一緒にGameKitのレクチャービデオも見つける事ができましたので、合わせて見てみます。
英語で何が何やらな感じですが、とりあえずにらめっこしてみます・・。

282 :
よくSBやxib使うなってヤツいるけど、おれは使えるところは徹底的にSBやxib使って楽してる。
delegate一つ定義するコードも書くのを省きたい。フォントとか色とか特殊な処理以外で基本コードで書きたくもない。
何で使いこなせないから使わないって言わないの?
なんか関東で、iOSエンジニア募集ただしIB無しでコード作成できる方限定
とかの募集あった?ある?けど、募集者がIB使えないバカだと思って笑えたw

283 :
xib使いこなせないことは否定しないけどコードで完結した方が美しい。

284 :
>>282
いや、その募集への考え方はおかしいだろ・・・
応募してきた奴がIBでしか作れません!
って言ってきても困るだけだ
あと、IBを使いこなすのと、コードのみで完了させるレベルになるの、どう考えてもコードの方が難易度高いだろ
あれは絶対初学者のステップアップの妨げになってる
何で中身を知らないまま作り続けれるんだよ
コードのみでも書けるけど楽するためIB使うって考えるのはいいと思うが

285 :
>>274
coreDataです。
本来ならばテキストフィールドに入力された文字を記録するのですがそれも出来ないようです。英字や数値でも記録されないのでテキストフィールドのエラーとは別問題みたいです。


286 :
IBは使いこなせない!
MacBookでトラックパッドで作業しててマウス持ってないから
ドラッグが難しくて早々に諦めた。
多分IBの思想としてはロジックはコードで書いて
UIはデバイスごとにIBで分けろってことなんだろうけど
コードのいいところはテキスト処理が使えたり
コピペが楽なとこかな。人にも教えやすいし。
似てるけど微妙に違う画面(や部品)を作ったり
別アプリで使い回しするとき
GUIだといちいちポチポチクリックしないといけない。
あとプロパティ値を一括で変更するとか検索で一覧できるとか
Appleが怖いのは今はIBやSBを推してるけど
ある日突然方針を変えそうなところ。
CoreDataを推すようになったらSQLiteBookのサンプルが消えたのがひどい

287 :
>>284
>何で中身を知らないまま作り続けれるんだよ
それは極論だろ。コンソールアプリならともかく、GUI前提のモダンプラットフォームで、なんで情報を
表示するためのコードまで、いちいち書かないといけないのさ
逆に、「楽できるところは徹底的に楽をする」というのがプログラマーの根本的な信条として必要だと
思っている俺からすると、わざわざ苦労をしたがるのはどうしてだろうと思うけどな
その類の手間を減らすために、わざわざOSにUIパーツが用意されていて、みんなそれを使っているんだ
ろ?
すべて自作するって奴だって、OSのAPIやOpenGLなんかは利用してるだろ。IBでnib化するのも、OSの
UIパーツやAPIを利用するのも、他人が作ったライブラリを利用するのも、どれも、毎回毎回似たような
コードを書かないためなんだから、使い方を覚えれば、中身を知る必要まではない。特に初学者の内は、
覚えるべきことは他にたくさんあるし、そちらの方が、IBやnibについて理解する早道だろ
もちろん、自分が書いたコードだけでアプリが作れるなら、それが一番難易度は高いだろうな。でも、
OSのUIパーツやAPIを組み合わせる程度のコードと、IBで配置したnibに、難易度の違いは無い。メリッ
ト・デメリットの出やすい方向が違うだけで
技術者募集でIB不可の条件がでる理由は理解できる。IBはドキュメント化しづらいんだな。特に、工程
を行数やモジュール数で管理している様な旧態依然のところでは。あるいは、大手からの下請けのとこ
ろなのかもしれんな。まあ、その程度の話で、技術レベルの問題では無い。
IBが初学者のステップアップの妨げになるというのは、全く理解できない。知らなくてすんでいること
は、知るべき時が来たときに知ればいいだろ。その時が来る奴がどれだけいるかはわからんが、それま
では他の勉強をしていればいい

288 :
難易度が高いx
工数が増えて面倒なだけ○

289 :
初学者だがIBはまだ理解しきれないのでコードだけでやってる
楽なら使いたいとは思うけど感覚的に操作に馴染めないし仕組みが理解できない
いつかIBを知るべき時がくるかなー程度に考えてる
…から、>>287みたいな考え方があることに目から鱗だったわ
人それぞれなんだな

290 :
>>287
「全く理解できない」とかいうのは思考停止というか
頭が固いというか想像力がないというか人の話を聞く気がないのか
妨げるというか、ネット検索するんじゃなくて
自分でリファレンス見ながら格闘するレベルに達するまでの時間が
延びるとかそういう話じゃないかなあ
最初の1冊で
http://book.mycom.co.jp/support/pc/iphonesdk_book/
を選んだ人と
http://www.ric.co.jp/book/contents/book_844.html
では1本作り終わった時の習熟度が変わると思わないか
簡単な紙芝居アプリとか以外は
IBだけ知ってても完成できないけど
コードだけ知ってる人は完成できるわけだ。
そうすると他の開発をやってきたような旧タイプの人間は
余計なもの覚えさせられられてる感じがするんだよ
楽を出来るところを苦労してる感じ。
同じコードを書かないためというがコードで書いてれば
自作ライブラリも溜まってくるしコピペもできる。
IBやSBは毎回ある程度のクリックやドラッグ操作がいるだろ。
そのくせOSバージョンが上がって高機能になってくると
「これはIBではできないので残りはコードで」とか出てくるし
ARCも使う派使わない派分かれるのかな。

291 :
まだARC使ってないの?とか、まだretainとかreleaseとかやってるの?
って、言われますが、別に新しいことができるようになるわけでもないので
使用を調べることすらめんどくさいからんです。すいません。

292 :
誤変換はするわ… 予測変換そのまま放流するわ…

293 :
IBを使いこなすには、MVCへの深い理解が必要
ARCを使いこなすには、MRCへの深い理解が必要
どう考えても初心者用ではなくエキスパート用だろ

294 :
Appleのアプリが軒並みIBを使ってるのが効率いい証拠だろ。

295 :
xib の読み込みは時間がかかる。
コードのみの方が処理が早い。
あと、ARC(autorelease) 使わず release(NSAutoreleasePool) させていった方がメモリの節約ができる。
富豪的プログラムで済むうちはいいけど、リソースがシビアになってきたときに苦労するよ。

296 :
じじい

297 :
ま、IB も ARC もデベロッパーの間口を広げるためのものだよ。

298 :
ARCでアプリ何本か出したけど、retain/release でやってた頃よりはラクだなー
メモリの節約になってるかどうかの判断は難しいが…
40を越えると物忘れが増えてきてね、release漏れが多くてな(;´Д`)
ARCはありがたいよ

299 :
一応誘導
iphoneアプリ 個人開発者の雑談スレ3
http://anago.2ch.net/test/read.cgi/mac/1348093805/

300 :
まー多少は製品の品質は上げられるのは同意だよ。xib、ARC抜きはさ。
しかし開発効率とのバーターなんでどっちが正しいとかは状況次第なんだよな
俺はiPhone3GサポートやiOS5以下サポートという枷がなかったらxib、ARC使うわ
揚げ足だけどARC(autorelease)ってなんだよARCはautoreleaseに相当するものじゃねえぞ

301 :
>>300
ごめん。
autorelease 使うなら NSAutoreleasePool 使えよってことを言いたかったの。
なんかごっちゃになっちゃったね。

302 :
ARC+@autoreleasepoolはダメなのか?
俺はそれで遣り繰りしてるけど

303 :
不毛な論争だなw
どうでもいいじゃん。
その人が好きなようにすれば。

304 :
>>301
意味わからん

305 :
なんかプログラミングを高等な手段だと思い込んでる人がいるけどユーザーはそんなあなたのアプリを細かく見てないから
アプリはiPhoneが熱暴走しない程度に、快適にすらすらと動き、少しの間だけ面白い体験ができればいいんだよ
ARCもIBも書き方もただのプログラミングをする自分がほんの少し楽をするための手段なんだよ、深く考えるな、楽して儲けろ

306 :
熱い中すいません・・。
GKTapper見てましたが、心折れそうです。
実際iOS6用にauthenticateHandlerを実装しているサンプルとかどこかにあったりしますでしょうか?

307 :
真理やな

308 :
>>304
まめに release しろよってこと。

309 :
メソッド内で宣言した変数ってメソッドの処理終わったら勝手にリリースされるんだよね??
そう思って@autoreleasepool滅多に使ってないんだけど・・・。

310 :
@autoreleasepoolは普通は一番外側に1個あれば十分なんじゃないの?

311 :
tabbarアプリでUIWebViewをつかっています。webが表示されていない時はメモリをリリースしたいのですが、どうすればいいでしょうか?
webview自体をnilとかすると二度とwebが見れなくなってしまいます。
ARCは有効になっています。
よろしくお願い致します。

312 :
>>309
>>310
Instruments でメモリの使用量のピークを調べて調整すればいいよ。
>>311
UIWebView を作り直せばいいんじゃないの?

313 :
>>306
がんばれ

314 :
>>313
その一言がとんでもなく嬉しいです。ありがとうございます!
色々試してたら、奇跡的にリーダーボードをiOS6で表示させる事ができました。
合ってるのかもよくわかって無いまま。
シミュレーターだと「Game Center Unavailable-Player is not signed in」とアラートが出てサインインできていないですが、実機だとSandBoxで表示しました。
認証エラーの場合とリーダーボード閉じる動作と、あとスコア送信を何も入れていないので、まだまだこれからなんですがー。

315 :
俺も初めてGameCenter入れるときは苦労したわ
iOS6にしても特に問題無く動作してるんだけど、なんか変わったのか?

316 :
>>315
iOS5時代に作ったアプリが、iOS6に実機をアップデートしたら認証(おかえりなさい)は出るのですが、リーダーボード呼出ボタンを押すとクラッシュしてアプリが落ちてしまうのです。
調べたらauthenticateWithCompletionHandlerがDeprecatedらしくて、それが原因なのだとばっかり思って修正してますが、違うのかしら・・あわ。

317 :
>>311
足りなくなったらリリースされるから、そんなに気にせんでよろし

318 :
おお、帰ってきたらオススメが大量に来てて感激した
CUL全然聞けてなかったからものすごくありがたい。 感謝。

319 :
IB一切使わない派だったけど、auto layoutをコードで書くの激しく面倒だからIB使えるところはIBでいいかなって気になってきた

320 :
>>293
「使いこなす」にはIBやARCじゃなくても、初心者じゃだめだよ。初心者から
抜け出せてはじめて「使いこな」していると言えるんだから。これは言葉の綾
として、でも君が言う「使いこなす」がどの部分をさしているかわからないん
だよな。そんなに、初心者が使わなければならない様な部分で、難しいところ
ある?
>>295
>xib の読み込みは時間がかかる。
>コードのみの方が処理が早い。
最近自分で計測した?
iOS4あたりからはほとんど体感差ないぞ。それに、差が出る様な大きなnib読み
込みなんてそんなに何度も行う処理かな。
テーブルビューでカスタムセルとかnibから読み込むにしても全く問題ない。
思い込みとか古い知識で決めつけちゃいかんよ。
ARCも使いもしないで思い込みで書いてるよね。ARCは、メモリ節約の点では
autorelaseよりはるかに効率はいいよ。weakを実現するのに、すこし処理効率
が落ちるけど、メモリ効率には無関係だしね。基本、その変数のスコープから
外れるとrelaseされるから。
#スレ違いかもしれないけど、初心者に無用な誤解を生みそうなので書かせて
もらいますよ

321 :
ロケール言語ごとにiconを変えることは可能でしょうか

322 :
>>321
iconって言うのは、ホーム画面に表示するアイコンの話?
InfoPlist.stringsで設定可能なはずだけど、App Storeでのレビューが通るかどうか
iTunes Connectに登録するアイコン画像って、ローカライズできなかったと思うから、その
画像とホーム画面に表示されるアイコンが食い違うとリジェクト対象になるとか、昔どこか
で読んだ覚えがある

323 :
>>282だけど、あのさーおまえら考え方が逆なんだよ
IBもまともに使えなくて覚えられなくてコードで完璧に書けてると思うあたりが痛いよ
まずはIBに教えてもらうんだよ、教えてもらえよ

324 :
UIViewControllerのサブクラスを作って幾つかメソッドを追加しようと思います。
これをUITableViewControllerにも適用したい場合はUIViewControllerのカテゴリで追加するようにすれば良いと思うのですが。
この場合、既存のUIViewControllerにあるメソッドをオーバーライト出来ないですよね。
こういった場合、普通はどうするのがセオリーなのでしょう?

325 :
MyUIViewControllerを継承したMyTableViewControllerを作る
self.viewは-(void)loadviewでUITableViewに置き換えておく

326 :
誰かヒントだけでも…

327 :
>>326
サルできの掲示板にやさしい人たくさんいるよ

328 :
iPhoneのアプリでボタンを押すと、iPhoneに有線接続(Dockなど)されている回路をつなぐ(iPhoneから直接電流を流す訳では有りません)ことは可能ですか?
要するに、iPhoneを回路のスイッチにすることは可能ですか?

329 :
漠然とした質問だけど、可能だよ。
iPhone + アクチュエータとかで調べたら?

330 :
>>326
>>253

331 :
>>328
それって免許がいるのでは。

332 :
以下のコードにフェードアウトのアニメーションをつけたいのですが
どうすればいいのでしょうか
[image drawAtPoint:CGPointMake(x, y)];

333 :
IBやARCを使いこなすには深い理解が必要だ(キリッ)
じゃあIBやARCは必要ないじゃん。何のために作られたの?アホなの?

334 :
正方形のタイルマップを使ったパズルゲームを作ろうと思うんですがcocos2dで作ろうと考えています。
思ったんですがcocos2dを使わないならどうやって作るんですか?
テーブルを改変したり
タイル画像を敷き詰めてそのひとつひとつを座標にするとなると大変でしょうか?
あと新しいCollection Viewを使ってタイルマップ的に使用は難しいでしょうか?

335 :
>>333
理解してる人の作業を軽減させるためでしょ。

336 :
>>334
あえて使わない理由を述べよ

337 :
cocoスレ有るんなら使ったらいいのに
ttp://anago.2ch.net/test/read.cgi/mac/1345064804/

338 :
>>336
当方HTMLとJavaScriptしか経験がなくてHTMLのテーブルタグしかイメージできないんです。
JavaScriptでHTMLのテーブルの中身を取得するのはDocumentから階層をたぐって行くので分かるんですが
iphoneアプリだといったいどうやってテーブルの中身を取得する方法とかcellに当たるのが何なのかとかが
全くわからず混乱してます。
HTMLのテーブルに使い方が近い方法があればそれにしたいと思ってるんですが・・・

339 :
ウェブサイトのオフライン閲覧が出来るリーダの開発を考えています。
指定したURLのHTMLや関連リソースをダウンロード・ローカルに保存するようなライブラリって無いでしょうか。

340 :
>>276
「iOS 6に日本語入力に関係した深刻な不具合」
ttp://hitoriblog.com/?p=11667
Appleからのアップデートを待つか、バックグラウンドに移行したタイミングでキーボード引っ込めるようにコードを修正するしかないと思う。

341 :
>>339
「オフライン閲覧が出来るリーダの開発」って、「指定したURLのHTMLや関連リソースをダウンロード・ローカルに保存するようなライブラリ」を作ることなんじゃないの?

342 :
>>339
NSURLconnect

343 :
>>341
まぁ、その通りなんですけどw 
そのへんを一挙に担ってくれる便利そうなライブラリないかなーと。

344 :
>>338
HTML5でwebアプリとして実装するのは検討した?App Storeでは売れないけどさ。
その感じだとcocos使っても使わなくても勉強しなきゃいけない事の量は大差なさそうなんで、今後何やるか次第で決めるのがいいかも。
ゲームに特化するつもりならcocosの方が性能面やゲーム製作に便利な機能が充実しているので効率がいいと思う。
ゲーム以外のアプリも視野に入れてるならUIKitで用意されてる物を勉強しながら作るのもありだけど、効率は悪いと思う。
Collection Viewでも作れなくはないだろうけど、アニメーションさせたりし始めると大変かもね。あとiOS6以降限定になっちゃう。
とりあえずUITableViewってのがあるからそれの使い方から調べるのがいいかも。

345 :
UIProgressbarのアニメーションが終わってから次の処理したいのですがどのように記述すれば良いでしょうか?

346 :
iOS4.0対応のiPadアプリをリリースしたいのですが、最新版のXcodeでは作れなくて困ってます。
古いXcodeで作ったアプリでもリリースできますか?


347 :
iOS4.3じゃだめなの?

348 :
>>346
iPad 用の iOS 4.0 はなかったはず。
iPhone/iPod touch は 3.1 -> 4.0 -> 4.1 -> 4.2 で、iPad は 3.2 -> 4.2 だったような。
どっちにしても、Xcode 4.5 は iOS 4.3 以降にしか対応しないよ。
>>334
Collection View はゲームで使うものではないよ。まぁ、面選択には使えると思うけど。

349 :

現在リリース済みアプリのretina4inch対応に追われてるんですが、とあるアプリでつまずいてしまいました。
実機iPhone5での画面の4inch対応がどうにもうまくいかなくて試しにappDelegateのapplication:application didFinishLounchingWithOptions:launchOptions;の冒頭で
[UIScreen mainScreen].boundsをログ出力すると
{{0,0},{320,480}}が落ちてきます。
シミュレーターでは正しく{320,568}なんですが。
どうしたものかと困っています。

350 :
ずっと「リーダーボードを閉じる」という簡単なところでハマってしまっていて。
おかげ様でやっとの思いで閉じる動作するようになりました。
(「がんばれ」の人、ほんとありがとうございます!)
質問なのですが、
[self dismissViewControllerAnimated:YES completion:nil];が動作せずエラーになっていて、
iOS6の回転対応用に追加した(UIInterfaceOrientation)preferredInterfaceOrientationForPresentationを外すとエラーが無くなり動作しました。
関係もよくわかっていないのですが、外したままでも問題無いでしょうか?(アプリはポートレート固定です)

351 :
>>344
ありがとうございます。
目標がストアに出すゲームアプリを作ることなのでcocosに注力してみます!

352 :
>>349ですが
何度かシステム再起動やらcleanなどしてるうちに、
iPhone5シミュレーターでも{320,480}以外帰ってこなくなりました;-;
他のプロジェクトは正常に動作してるのでもう意味がわかりません。
targetの設定だとかbuild settingなどにretina4inchをシカトするような設定とかがあったりするんでしょうか。
どうかよろしくお願いします

353 :
引き続き>>349です。すみません。
当該プロジェクトで試しにiPhone4sを繋いでみたところ認識されず、
Schemeの選択肢に出てこなくなってるようです。
他のプロジェクトでは同時に両方とも選択できますし、当然OrganaizerにもiPhone5、iPhone4sともに表示されています。
この辺が何か怪しいんじゃないかという気がするんですが、どうすればいいのやら皆目です。
どうかよろしくお願いします。

354 :
またまた349ですが、とりあえずDefault-568h@2x.pngを
一度プロジェクトに登録し直す事でシミュレータの方は正常な値を取得できました。
ですが、実機の方は依然3.5inchのスクリーンサイズしか帰ってきません。
iPhone4sも表示されないままですし。
一応デバイス側もアプリ削除、電源オフ等、xCode側のリセットと共にやってみてはいるのですが、何か見落としがあるんでしょうか?


355 :
iPhone4のOSが5ならdeployment targetが6になってる。
Default-nn.pngは、xcodeのretina 4inchにドロップした?実機は大文字小文字区別するぞ。
あとはxibかstoryboardのscale設定とか。

356 :
>>355
ありがとうございます。解決しました。
iPhone4sの方は仰る通りでした。
Default-.pngに関しては名前等正確になってはいましたが、
厳密っぽいので、おそらくその辺りに不具合を抱えたのかと思い。
削除してプロジェクト終了、
再起動して再登録。更に削除して等、
数度繰り返していたら数値反映されました。
ありがとうございました。

357 :
再現性無いエラーはうっとうしいな

358 :
>>325
おおっ!目から鱗!
ありがとうございます。

359 :
カテゴリでも既存のメソッドをオーバーライドはできるけどね
警告が出るだけで動作する
NEXTのころとかGNUStepではNSObjectの-hashをオーバーライドとかよくやったよ

360 :
>>347
世の中のiPad全部を対象にしたいんです。
>>348
失礼しました。おっしゃる通り4.0ではなく3.2でした。
ということはXcode4.5リリース後に公開されたアプリは全てiOS4.3未満に非対応ということになるんでしょうか?

361 :
>>360
開発にかかるコストと初代iPadに対応する事で得られるリターン
どう考えても…

362 :
>>324
「既存メソッド カテゴリ オーバーライド」でググるといくつかページが出てくると思いますが、
既存メソッドは method_exchangeImplementations で別のメソッドとして置き換えておくと、
既存メソッドも使えて、かつオーバーライドっぽいことができますよ。
いわゆるmethod swizzling的な方法なので好き嫌いがあるとは思いますが…。

363 :
初回リリースは availability date で未来日付を指定することでアプリがapp storeに上がる日時を指定できますが、
アップデート時は更新版に対してavailability date で未来日付を指定すると
現行アプリまでapp storeから消えてしまうと聞きました。
12月24日に必ず更新したいのですが、
12月23日にも12月25日にもならないよう、指定日時に更新する方法はあるのでしょうか。

364 :
UIScrollViewについて質問です。
UIScrollViewの上にUILabelを置いてズームすると、
UILabelの画質の粗さが目立つのですが、綺麗に表示するにはどうすればいいのでしょうか。
scrollViewDidEndZoomingでviewをsetNeedsDisplayしたのですが改善されませんでした。
よろしくお願いします。

365 :
xcode4.2対応版の参考書見ながらやってるんですが、
下記のコードでエラーがでます
これは4.2と4.5の違いのせいですか?
場違いの質問だったら申し訳ないです
- (IBAction)inputText:(id)sender {
myLabel.text = myTextField.text;
}
@end

366 :
>>360
初代 iPad は armv7 だし、iOS 5.1.1 にできるから、iOS 3.2 にこだわる必要があるとは思えないけど、
iPad 専用アプリなら iPhone 5 の画面サイズに対応する必要もないので、Xcode 4.4 でもいいのかもね。
(いつ駄目になるかは知らないけど、しばらくの間は Xcode 4.4 でビルドしたものでも大丈夫な筈。)

367 :
>>365
その程度なら Xcode 4.5 でもまったく問題なく動く筈だよ。
エラーって、コンパイルエラー? それとも実行時エラー? エラーの内容は?

368 :
>>365
過去にまったく同じ質問が出てたような..
@Synrhesizeの書き忘れだと思うけど
4.5なら
_myLabel
にするか
self.myLabel.text
にすれば動くと思う

369 :
>>367-368
レスありがとうございます
_入れたところ問題なく行けました
コンパイル、実行時エラーも分かってない初心者なので
猛勉強してきます


370 :
>>359,362
なるほど、微妙にオーバーライド出来るのですね。勉強になります。
しかし、今回は生のUIViewControllerも使わないといけない事が判ったので、
此方の方法は別の機会にやってみようと思います。
ところで、 loadViewで
- (void)loadView
{
  self.tableView = [[UITableView alloc] initWithFrame: [UIScreen mainScreen].bounds style: self.style];
  self.tableView.delegate = self;
  self.tableView.dataSource = self;
  self.view = self.tableView
}
とやって、このTableViewControllerでpushViewControllerとかPopViewControllerとかやってると
落ちる時がありますね。
つーことで、こんな感じに落ち着きました。
- (void)loadView
{
  [super loadView];
  CGRect frame = self.view.frame;
  frame.origin = CGPointZero;
  self.tableView = [[UITableView alloc] initWithFrame: frame style: self.style];
  [self.view addSubview: self.tableView];
  self.tableView.delegate = self;
  self.tableView.dataSource = self;
}

371 :
>>364
iOS Scroll Viewプログラミングガイドの、25ページあたりにそれっぽい説明があるよ。

372 :
>>363
手動でリリースする設定にしておいて、レビューが通って指定日になったら手動でリリース。

373 :
ios5で、以下のようにコンストラクタで初期化した変数を
actionSheetのイベント時に取得しようとするとなぜか空文字になってしまいます
ios6では正常に取得できるのに、なぜios5ではできないのでしょうか
@property (retain, nonatomic) NSString* myWord;
self.myWord=@"test";//初期化
//actionSheetのイベント時
-(void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
NSLog("%@",self. myWord);←testが出るはずなのに空文字になる
}

374 :
初期化してるところ通ってないのでは

375 :
>>374 ありがとうございます
正確には以下のように初期化しています。
@property (retain, nonatomic) NSString* myWord;
self.myWord=[myTextView.text substringWithRange:[myTextView selectedRange]];//初期化
//actionSheetのイベント時
-(void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
NSLog("%@",self. myWord);←初期文字が出るはずなのに空文字になる
}

376 :
>>375
>self.myWord=[myTextView.text substring
このすぐ次に
NSLog("%@",self.myWord);
入れてみれば

377 :
ブレイクポイントで十分でしょ。

378 :
iPhone/iPad/iPod touch プログラミングRルという本を読んでボタンの作り方とか、
IBの使い方くらいまではなんとなく覚える事が出来たんですが、
ここからどうすればアプリを作れるのかが微妙にしかわかりません。
セオリーとか、よくある作法とかあると思うんですが、
何か参考にすべきソースコードやブログ、本みたいなものってありませんか?

379 :
あと、初期化はinitとかでやろうよ。

380 :
>>378
まずは、こういうアプリを作るという目的を作った方がいい。
ソースをきれいにするのは、目的のアプリが形になってからでいいよ。

381 :
質問です。
XcodeやSDKが最新バージョンの環境(iOS6)で、
旧バージョンのターゲットOS(iOS5)で動くアプリを新規開発できるのでしょうか?

382 :
>>381
サマリーにあるデプロイメントターゲットが対応OSの設定です。
4.3が設定してあれば、iOS4.3以降に対応したアプリがビルドされる。

383 :
古いXcode&SDKで作ったアプリのSubmitはフォーラムで公式にOKが出てるんだね
https://devforums.apple.com/message/738064#738064

384 :
ほーう

385 :
でも、iPhone 5 の画面サイズに対応するなら Xcode 4.5/iOS 6.0 SDK にしろって言ってるよね…。

386 :
今現在は、まだターゲットをiOS5でしておいた方が良いですか?

387 :
6でもいいんじゃね

388 :
地図が嫌で6にあげてない人もいるだろうに

389 :
使いたい機能がなければターゲットは下げられるだけ下げるだろ

390 :
>>387>>388>389
ありがとうございます、参考になりました。
自分はARC使うので、5に落ち着こうと思います。

391 :
SDWebImageという画像ライブラリを使ってます。
- (void)drawRect:(CGRect)rect
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSaveGState(ctx);
〜略〜
CGContextRestoreGState(ctx);
SDWebImageManager *manager = [SDWebImageManager sharedManager];
[manager downloadWithURL:画像URL
delegate:self
options:0
success:^(UIImage *image, BOOL cached)
{
[image drawInRect:CGRectMake(0,0,100,100)];
[self setNeedsDisplay];
}
failure:nil];
}
として画像の表示はできるのですが、<Error>: CGContextSaveGState: invalid context 0x0 などのエラーでまくります。
どうにかして回避する手段はありませんか。皆目検討付かず困ってます。
Blocks使ってるので違うスレッドだからという理由だろうと予想はしてるのですが…
よろしくお願いします。

392 :
drawRect:開始

[manager downloadWithURL: …. ];

drawRect:終了

downloadWithURL: のsuccess:ブロックが呼ばれる

[image drawInRect:CGRectMake(0,0,100,100)];
………でも描画すべきcontextがないのでエラー

393 :
drawRectの中でそんな事普通しない。
違うメソッドで取得したimageをインスタンス変数に格納しsetNeedsDisplay

394 :
つーかよくみたらdrawRectの中でsetNeedsDisplay呼んでるのかw
なんだよそれ。

395 :
でっすよねぇ、すいません。ごめんなさい。ゆるしてください。もうしません。もうちょっと頑張ってみます

396 :
>>394
それは別に良いと思うのだが
drawRect内で
【描画するimageある?】
 はい → 描画
 いいえ→ ダウンロード→ダウンロード終わったら、画像を取っておいてsetNeedsDisplay→drawRectに戻る
でいいのでは

397 :
>>396
ありがとうございます。>>393をヒントに違うメソッドでやってみて成功しました。エラーでませんでした。

398 :
>>396
いやそのループは変だろうw
それにdrawRect内の処理はなるべく軽くすべきでさ、
mainスレッドでやるわけだから、こいつが終わるまでTouchを受け付けないだろ。

399 :
>>398
そのフレームワークは知らないけど、asynchronousでダウンロードして、
ダウンロードが終わったらsuccessブロックが呼ばれるんだと推定したけど。

400 :
Blockって同じスレッドで実行される保証ないでしょ。
ちゅうか別スレッドで実行する為のもんだと思ってたんだけど。指定しない限り。

401 :
今のスレッドで実行されるよ。

402 :
>>401
すまん、GCDと勘違いした。
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_apply([ipaFiles count], queue, ^(size_t i){

403 :
>>383
公式出てるのか
よかった、安心できる。ありがとう

404 :
>>382
レスありがとうございます。

405 :
>>372
ありがとうございました。助かりました。

406 :
AdMob Mediation、iAdはiOS6以降のみ対応・・・orz

407 :
Deprecatedになったメソッドが完全に無効になる時期って決まってますか?
決まって無いにせよ、最低限いつ(どのバージョン)までは使えそうだとか、経験的な判断基準が知りたいです。

408 :
なんで?

409 :
>>408
今のところ有効なメソッドなら、もう少しネットとかで情報が増えてから修正をしたいと思うからです。
いつぐらいまではいけるだろう、となんとなくでも頭には入れておきたいので。

410 :
xcode4.5でターゲットをios6.0で途中まで作成してしまいました。
ios5.0でも動くようにしたいのですが、storyboardのAutolayoutをオフにすると表示がずれて
しまいます。
どうすれば解決するでしょうか?

411 :
初心者です。
AudioSessionProgramingGuideにおいて
再生中かどうかを調べる方法が書いてあったので
UInt32 otherAudioIsPlaying; // 1
UInt32 propertySize = sizeof (otherAudioIsPlaying);
AudioSessionGetProperty ( // 2
kAudioSessionProperty_OtherAudioIsPlaying,
&propertySize,
&otherAudioIsPlaying
);
とりあえずこれをdidFinishLaunchingWithOptions
の中に記述したのですが、何度かためしたところ
常にotherAudioIsPlayingの値が他のアプリの再生してた場合もしてなかった場合も
ともに0でない値を返します。何か設定を誤っているでしょうか。
調べてもよい解決策がみつからないどころか、そこで
困っている人もほとんど見かけられませんでした。
xcode4.5で行っております。
情報が不足しているかも知れませんがよろしくお願いします。

412 :
OS6で追加されたUICollectionViewを実験中なのですが、
TableViewの編集モードのような機能はあるのでしょうか?
編集モードがないなら、セルの追加・削除などは専用のボタンを作って行うのでしょうか?

413 :
わからんな
AudioSessionInitialize をやってからやってみた?


414 :
>>413
ありがとうございました!!
まさにそれが足りなかったみたいです。
貴重なお時間をご相談に使っていただきありがとうございます。
初心者ですいません。
気づけなかったのがお恥ずかしい限りです・・・精進します・・・・

415 :
Xcodeからシミュレータを起動してデバッグしてる時に、終了ボタンでシミュレータを終了できなくなって、
そのたびに、Xcodeごと強制終了させているんですが、このやり方は正しいでしようか?
もっとうまいシミュレータの終了のさせ方があれば教えてください。
そもそもシミュレータを終了できなくなるのは何かやり方を間違っているのでしようか?

416 :
>>415
おかしいに決まってるだろ。
新規プロジェクトでもそうなるのか?

417 :
>>415
いや常にそうなるわけではなくて、たまにシミュレータを終了できなくなるのです。
でそうなると、もう一度シミュレータを起動しようとしてもできなくなるのです。

418 :
あぁ、まちがった417は>>416宛てです。
ID変わっちゃったけど>>415です。

419 :
>>418
終了できなくなるときに動いてるプロセスを調べるしか無い。
何を実行したときに起こるのか特定すべし。
俺もなった事あった気がするが、覚えてない。

420 :
>>417
おれもずっとそれ
マシン古いからかな
操作をゆっくりしてやるとフリーズの頻度は下がる

421 :
自分のマシンもちょっと古いです。多分3年ぐらい前のMacbook
自分のプログラムが悪いんでしょうか? 特に何を実行した時とかじゃなくてデバッガでステップ実行中とかにランダムに起きてる気がします。
でも不思議なことに実機だとこういう現象はまだ起きてないんですよね。

422 :
俺も実機は安定だからXcodeのバグということにしてたw

423 :
Storyboardでボタン・ラベルを重ねて配置しています。
このときの重なり順の調整はどのようにすればいいのでしょうか。
例えば、StoryBoard画面でボタンがラベルの後ろにあって見えない状態から、
逆にボタンをラベルの前面にしてボタンを見える状態にしたいです。

424 :
左側のレイヤーの順番

425 :
レビュー結果に抗議した際のApple側の回答って大体何営業日くらいかかるものでしょうか?
もしかして、回答作業も通常のレビューと同じキューに入っちゃう感じでしょうか?

426 :
>>425
お返事欄に書いた場合→音沙汰なし
レビュー委員会に上告した場合→1〜2ヶ月

427 :
>>425
>>426
お返事欄で即日か翌日に返事くるよ。
英語で送るとスムーズだと思う。

428 :
質問です。
シミュレータ環境下で、Documentディレクトリ下のファイルにアクセスできるのでしょうか?

429 :
>>428
シミュレータでも実機でも、各アプリごとに Documents ディレクトリが作られて、そこにはアクセスできる。

430 :
>>424
ありがとうございます。
あそこの並び順に意味があるとは気づけなかった。

431 :
シミュレータだと、HDDの中をフルアクセス可能だぜ

432 :
シミュレーターで
ストレージ容量ぎりぎりの状態
メモリカツカツの状態
カメラ(GPS同様ダミーでもいいので)
をシミュレートしてくれたら良いのに。

433 :
カメラはほんと欲しい

434 :
カメラアプリは結局実機がないと、動作検証できないよね (´・ω・`)

435 :
>>426-427
ありがとうございます。
意見が割れてるようですが、あまり悠長に待てないので、土日が非営業日だと思って月曜まで待とうと思います。
ちなみに、お返事欄に英語でポストしました。なんちゃって英語かもですが、そのせいでスルーされていないことを祈るばかりですw

436 :
向こうの月曜日はこっちの火曜だから注意ね

437 :
となりの芝生は青く見える的な

438 :
>>429
レスありがとうございます。

439 :
以前のObjective-CとModern Objective-Cの差異は,読み易さだけですか?
最適化とか早さにも違いがでるのでしょうか?

440 :
>>439
>最適化とか早さにも違いがでるのでしょうか?
autoreleaseとARCなら、ARCのが速くてメモリ食わない。
for(id in collection)も、自分で回すより速い。
gccとllvmなら、llvmのが速い。

441 :
autoreleaseとARCって速さに違いあるって本当? 
プリプロセッサ的に処理してるだけかと思ってたわ

442 :
ありがとうございます。
Modern..にしない積極的な理由がありませんね。

443 :
>>440
なんでARCの方が速くなるんだよw

444 :
×速い
○メモリ効率がいい

445 :
>>443
autoreleaseで解放出来るオブジェクトを走査するのと、
コンパイル時にリリースタイミングを把握しとくのではどっちが早いと思う?

446 :
ARCだとコンパイル時にリリースタイミングを把握できる。ってちょっと意味がわからないんだけど、
ARCってコンパイル時にautoreleaseを自動で付加してくれてるだけかと思ってた。そうじゃないんだっけ?

447 :
>>446
autoreleaseじゃなくてreleaseじゃないの

448 :
合ってるのかわからないけど、ここに、質問と回答があった。
ttp://www.quora.com/Cocoa-Development/Why-is-ARC-faster-than-the-old-retain-release-autorelease-way-of-memory-management
人間の可読性を重視したretain/releaseのコーディングよりコンパイラの最適化によって速くなる可能性があるみたいね。
あと、retain/release/autoreleaseの仕組みがruntimeに組み込まれて速くなった的な感じ?理屈はわからんけど。

449 :
コードが長くなり、作業上不便なのでフォーカスリボンの三角でコードをたたむんですが、IBからヘッダファイルに関連づけしたタイミングで全開になります。
実行ファイルに自動記述してくれるのが理由だと推測しますが、開かないようにすることってできますか?

450 :
>>409
次のSDKリリースでヘッダから消えると思っておいた方が良い。
実体はさらに後まで残る(既存アプリが動かなくなるから)が当然ヘッダに無いメソッドは
審査で蹴られるはずなので面倒な事になる。
そして、「いつ次のSDKがリリースされるか?」の予想は新製品のタイミングぐらいでしか解らないので、
そのアプリをメンテナンスする気があるならすぐに取りかかっておいた方がいい。

451 :
>>445
autoreleaseがそうゆうGCみたいな動作をするなら断然ARCの方が速いだろうけど、そうゆう風な動作はしないはず。
確かautoreleaseは、autoreleasepoolってのに溜められて、
かっこ(})を抜けたらまとめてreleaseされる。
でもARCは溜めすらしないはずだから、ARCの方が速いんだと思う。

452 :
すいません、URLスキーマに関して質問があります…
URLスキームに文字数制限ってありますか?
画像をBase64エンコード?して連携させたいのですが、可能なのかと思って…
よろしくお願いします。

453 :
豪快だな...

454 :
ワイルドだな..

455 :
ファイルを受け渡す仕組みがあるけど

456 :
これから1から始めようとしている者なんですが
友人に相談してみたところ
objective-cよりもUIkitのことを知っておいたほうがいいと言われました
iPhoneプログラミングUIKit詳解リファレンスという書籍を買おうと思っているんですけど
これは初心者でもわかりやすいものなんでしょうか?

457 :
質問お願いします。cocos2dで開発しています。
SpriteをCCMoveToで動かしながら、
NSTimerのscheduledTimerWithTimeIntervalでカウントダウンをしたいのですが、
同じメソッド内でこの二つの処理を行うとSpriteの動きがおかしくなります。
(カウントダウンは正常に実行されるが、Spriteのアニメーションが高速で処理されてしまう。)
それぞれ個別に実行すると狙い通りに動いてくれます。
この二つの処理を並行して行うにはどのようにコーディングすればいいでしょうか?

458 :
>>456
>objective-cよりもUIkitのことを知っておいたほうがいいと言われました
プログラム経験はどれくらいあるの?
初心者といってもJavaとか.NETできるんだったら、iPhoneプログラミングUIKit詳解リファレンス買ってもいいと思うんだけど、
プログラム自体全く経験ないなら、絶対にやめたほうがいいよ。
この本はプログラムのコードだけで画面を作っていくんで、中級者向けだと思う。


459 :
IBくらい使えなきゃド素人
コードでGUI記述なんざ、IB使えるようになってからだ
IB分かりませんorzって恥ずかしい宣言してからコードで書け
IB使わないなんて本売りたいだけだろ
古本屋行けばUIKitの本なんかゴッソリあるぞ
今は新書を買うな、iPhone5対応は嘘だらけで意味ないし、xcode5がもうすぐ出るからな

460 :
iPhoneプログラミングUIKit詳解リファレンス
uikitは ios6からは、だいぶ変わったからな

461 :
>>458
>>459
どうもありがとうございます
IBだったりある程度プログラム自体に慣れてないとだめなんですね
明日古本屋まわってみてみます

462 :
セット名:春
値1:桜の画像
値2:タンポポの画像
値3:春についての文章
セット名:夏
値1:海の画像
値2:セミの画像
値3:夏についての文章
・・・
といったようなデータ構造があった上で、ユーザーがタンポポの画像で検索をすると春のセットがでてくるといった内容のアプリを作りたいと思ってます。
このような場合に適したひな型のようなものは存在しますでしょうか?
自分はプログラミング未経験で、iphoneアプリ開発をしようとしてる者です。
初心者向けのObjective-Cの本、Xcodeの使い方に関する本の2冊を読んだのですが、実際にアプリを作るとなると何をすればいいかわからなくて行き詰ってしまいました。
返答よろしくお願いします。

463 :
>>460
昔のだとだめなんですねありがとうございます

464 :
>>457
cocos2dではNSTimerは御法度
scheduleメソッドを使う

465 :
CoreData
Set<--->>Detail
nullify cascade
NSPredicate Detail.item = タンポポ
Self in set.details
で簡単、30分で作れる

466 :
>>463
初心者ならiOS3.2以降対応なら昔ので十分
本なんかに金無駄にするな

467 :
>>465
CoreDataというものがあるんですね!
入門書には書いてなかったのでびっくりしました。さっそくCoreDataフレームワークの勉強をしてこようと思います。

468 :
すみません。質問です。
加速度センサーを使って、imageViewのボールが動くようにして、
壁に当たって弾む度に効果音をならすようにしたのですが、
このボールをhiddenで消しても、ボールは見えなくなるのですが、
弾む効果音は無くなりません...
効果音を消すには、どのようなコードを追加すればいいのでしょうか?

469 :
効果音を鳴らすコード1行をここに書いてみ。

470 :
>>469
viewDidLoadに
NSString *path = [[NSBundle mainBundle] pathForResource:@"cursor3" ofType:@"wav"];
NSURL *url = [NSURL fileURLWithPath:path];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, &soundID);
で、準備して
AudioServicesPlaySystemSound(soundID);
で鳴らしてます。

471 :
if (ball.hidden == NO) {
 AudioServicesPlaySystemSound(soundID);
}

472 :
>>471
ありがとうございます。無事出来ました。
なるほど、ifを使えば良かったのですね。

473 :
>>464
schedule試してみます。
ありがとうございました〜

474 :
>>450
レスありがとうございます。
ミニゲームをたくさんリリースしてるような開発者さんとかは、その度に大変?
割り切っているのかな。
「iOS○○未満対応」とはならないですものね。
らしいというかどうなのか、心構えが無いと駄目ですね。
経験が浅いとわからない感覚だったので大変参考になりました!
メンテナンス周辺も意識して、今後の開発頑張ります。

475 :
新しく出たヒレガス本ってどう?

476 :
質問です(Xcode4.3)。
単体テスト終了後(または実行中)に、
NSLogの出力メッセージを見るにはどうすれば良いのでしょうか?

477 :
自己解決しました。失礼しました。

478 :
レビューに抗議した結果ですが、日本時間で本日午前0時ごろにAppleから回答がありました。
金曜日の夜にポストしたので、>>427さんの書かれた内容に近いですね。
あせって、盲目的にレビューに従わずによかったと思います。ありがとうございました。
日本時間で午前0時の回答ということは
土日にたまった分を向こうの始業時間直後に一斉回答した感じですかね。

479 :
>>474
ミニゲームを沢山リリースするならフレームワークにしてフレームワークごと対応。
まあ、理想論でなかなかそうもいかないけど。

480 :
Round Rect Buttonを設置し、押すたびにボタン内の文字(setTitle)を変更させるプログラムを作っています。
押すたびにあ、い、う、え、お、←な感じで。ボタンを50個ほど設置する予定です。
これをNSUserDefaultsを使って途中の状態を保存、読み込みをしたいのですが、
本、ネットを探してもわかりませんでした。
IBActionで変更されたsetTitleの文字をそのまま保存、読み込み出来るのでしょうか?

481 :
Xcodeってマルチコア対応ですけど、HTTがあろうが無かろうが実コア使うから、単純にコア数=速度の図式になりますよね?

482 :
>>480
titleの値を取得してそれを保存するんじゃダメなの?
インスタンスを保存する方がめんどいけど。

483 :
あっインスタンスってUIButtonのって意味ね

484 :
>>482
まだはじめたばかりなので・・・
いろいろ本やサンプル等をみて試しましたが、やり方がイマイチ分からずダメでした。
もう何度か本や、ネットとにらめっこしてやってみます。
ヒント、ありがとうございました。

485 :
>>480
ボタン押す毎にuser defaultに保存したら?

486 :
んなことするより配列インデックス現在地保存する方が早いだろ
ボタンが押されたら+1してボタンに設定してやりゃいい

487 :
>>485-486
色んなやり方があるんですね、参考にして頑張ってみます。
ありがとうございました。

488 :
>>479
なるべく一括修正でできるような当初の設計が大事ですね。
なるほどです。

489 :
単体テスト(iphone5.1シミュレータ)環境で、
Documents配下のファイルtest.txtが見つかりません(NSFileHandleの取得でnilが返る)。
どういう原因が考えられるのでしょうか?
<ファイルハンドル取得コード>
NSFileHandle *fHandle = [NSFileHandle fileHandleForReadingAtPath:path_file];
<path_fieの内容>
user/ユーザ名/Library/Application Support/iPhone Simulator/5.1/Documents/text.txt
<text.txtファイルの保存場所>
user/ユーザ名/Library/Application Support/iPhone Simulator/5.1/Aplications/[uuid]/Documents/text.txt
※Documentssと同じフォルダにあるアプリケーション名を確認していますので[uuid]の間違いはありません。

490 :
>>489
俺にはpath_fieとtext.txtファイルの保存場所が違っているように見えるんだが。

491 :
>>489
だから、iOS では Documents フォルダはアプリごとに存在するんだってばさ。

492 :
自分の出してるアプリなら、異なったアプリやMacのアプリから相互に共有出来るのね。
無料版と有料版や、iPhone版とiPad版で、同じデータが使える。
Web公開用のURLも作れる。期限付きだけど。
iCloud設計ガイド
https://developer.apple.com/jp/devcenter/ios/library/documentation/iCloudDesignGuide.pdf

493 :
>>489
このあたり参考にならないかな?
ttp://d.hatena.ne.jp/mottda/20101226/1293358000

494 :
>>490,491,493
レスありがとうございます。
>>493
そこで書かれているコードで取得したディレクトリで作ったpath_fileが>>489のもので、
ファイルハンドル取得コードの直後で、NSLog出力したものです。
>>490
>>489の保存場所が間違っているのならば、正しい保存場所はどこなのでしょうか?

495 :
情報の後出しは、やらないほうがよいと思うの。

496 :
>>494
だから >>491 が教えてくれているように、Documents はそれぞれあるんだから
path_fie と text.txt のパスは同じじゃないとおかしいでしょ?

497 :
>>496
レスありがとうございます。
path_fileのディレクトリはデバイス実行時のものを指定していますので、
Applicationディレクトリはありません。
実機ではこれで正しくDocumentsフォルダのファイルが読めます。
単体テスト環境(シミュレータ)でのtext.txtファイルの保存場所が
>>489で違っていれのであれば、正しい場所はどこでしょうか?
どこにtext.txtファイルを置けば良いのですか?

498 :
ん? documentDirectoryの取得の仕方を知らんのか?
NSString *fileName = @"text.txt";
NSString *documentDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [directory stringByAppendingPathComponent:fileName];

499 :
3行目訂正
NSString *filePath = [documentDirectory stringByAppendingPathComponent:fileName];

500 :
>>497>>428 かな? >>429 は読んだ?
iOS のディレクトリ構成について、根本的に理解できてないと思うけど。
ってのはさて置き、テスト用のファイルはどうやって Documents フォルダに置いてるの?

501 :
>>497
実機とシミュレーターはパスが違うよ。Documentsフォルダの絶対パスを指定する必要はない。
というよりも指定しちゃ駄目。
Documentsフォルダを>>498のような方法でいちいち取得してください。


502 :
質問です。
以下のような画面遷移を行いたいですのですが、
分からないところがあります。
・トップ画面はボタンのみ
・次画面テーブルビュー(チェックマークあり)
トップ画面をビューコントローラーで作成し、
ナビゲーションコントローラーで下位画面を
作成しました。
トップから次画面へは思った通りの動きとなるの
ですが、次画面に戻るボタンが表示されないので
トップ画面へ戻れません。
検索したところ、ナビゲーションルートに戻るボタン
を表示させる方法が分かりません。
無理なのでしょうか?

503 :
>>501自己レス
ごめん忘れて。いちいち取得って書くと誤解があるかもしれないから。
そもそも>>497が何やってるかさっぱりわからん。>>498のように取得してたら
Documentsフォルダが
user/ユーザ名/Library/Application Support/iPhone Simulator/5.1/Documents
となることはないよね。
>どこにtext.txtファイルを置けば良いのですか?
今はどうやって置いてるのよ?

504 :
よくわからんけど、バンドルしてるんじゃね?

505 :
>>497
安易に答え求めないで、アドバイス貰ってるんだから、まずそれを調べて理解したほうがええよ。
ちなみに、simulator/5.1配下のdocumentsフォルダがややこしくしてるんで、消してしまえ。

506 :
>>502
2枚目の呼び出し方がわからないので、動くかわからないけど、
viewDidLoadに
UIBarButtonItem *doneItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(donePush:)];
[self.navigationItem setRightBarButtonItem:doneItem animated:NO];
でボタンつくって、
- (void)donePush:(id)sender
{
[self dismissModalViewControllerAnimated:YES];
}
で、閉じるかもしれない

507 :
>>506
レスありがとうございました。
書き込んだ後にいろいろ試していて、
ナビゲーションバーにボタンを付け、トップ画面に
戻るようにしたら思うような動きとなりました。
(それで問題ないのか判断付かない部分ありますが・・。)
教えて頂いた方法でも試してみます。

508 :
>>507
一人で開発してるならStoryBoardでSegue使うと楽に戻れる予感

509 :
>>507
NavigationControllerのpushviewcontrollerで画面遷移してないの?
してるなら左上に戻るボタン出るはずだけど
3個以上画面があってそれを一気にトップビューコントローラーに戻りたいって言うなら506のようにするしかないが

510 :
Settings.bundleからSafariでURLを開く方法を教えて下さい。

511 :
Page-Based Applicationで、デフォルトのカレンダーを改変して囲碁の問題集を作ろうと思っています。
[出来てること]
問題は1問1ファイルのテキストで、黒石なら「●」、白石なら「◯」、罫線なら「┼」という感じで作っておくと
NSDictionaryで画像ファイルにマッピングされ、碁盤イメージが現れます。
全体として1枚のUIImageになるので、
そのUIImageを持ったクラスの問題数分の配列をModelControllerで_pageDataに代入してやると、
問題がページめくりで表示できるようになっています。
[知りたいこと]
今は問題が10問くらいしか入れてないので大丈夫なのですが、
将来的には1000問くらい入れたいのでメモリーが足りなくなるんじゃないかと心配しています。
そこで、今観てるページの前後合わせて5ページ分くらいだけ常に持たせて、
それ以上先(もしくは後)の問題は_pageDataの配列から削除、
ページめくりが行われたら必要に応じて読み込む、みたいなことってできますでしょうか?
_pageDataを生成する部分だけソース(ModelController.m)を載せときます。
- (id)init
{
self = [super init];
if (self) {
// Create the data model.
_gobanView = [[GobanView alloc] init];
_pageData = [_gobanView arrayStonesOnMokume];
}
return self;
}
もう1点、Page-Based Applicationで作ったアプリでは画面遷移はすべてページめくりになってしまうのでしょうか?
将来的に正解の点をタッチしたらページめくりじゃなくパッと画面が切り替わって正解図を表示するようにしたいのですが。
[分かってないこと]
RootViewControllerとDataViewControllerとModelControllerとの関係およびそれぞれの役割。

512 :
レスありがとうございます。
>>500
user/ユーザ名/Library/Application Support/iPhone Simulator/5.1/Aplications/[uuid]/Documents/の
下へドラッグ&ドロップです。
>>501,503
絶対パスでは指定していません。>>498の方法で取得しています。
実際に動かして取得したパスをNSLogで出力すると
実機とシミュレータとでパスが変わるようになっています(Xcodeの機能では)。

513 :
GLKViewControllerの上にTab Barを乗っけたら、
glkViewが呼ばれなくなったんだけど、なぜ?

514 :
StoryBoardって画面数が多くなると設定が面倒くさくなるような気がするんだけど
MacBookの広いディスプレイじゃなくても特に不便に感じないでしょうか?

515 :
>>512
バンドルの仕方がわからんのか?
そのやり方はシミュレータならファイルが見つかるが、実機じゃ意味ないぞ。

516 :
簡単な質問失礼します
メモ帳なるものを制作しているのですが、アプリを消した時にはメモしている文字も全部消えてしまうんですが、iPhone標準メモ帳のようにいつまでも残しておくにはどうすればいいんでしょう?

517 :
ファイルに保存、CoreData使って本体内のDBに保存、どっかのサーバに転送して保存…色々手段はありそうです

518 :
ファイルやDBに保存はそのままやったらアプリ消した時に一緒に消えるべ

519 :
組み込みメモの領域へアクセスはできないよ
iCloudなり各種BaaSなり使えばおk

520 :
難しい・・・
よくゲームとかで記録を保存しているのを見ますけど、あれはどうやってるんですか??

521 :
ごめん、アプリを消した、ってまるごと削除か。終了のこととおもっちゃった。すまんです。
だとしたら>>519方式ですかね。

522 :
>>521
いえ、終了であってます

523 :
だとしたら、>>517のいずれか…やりかたは色々あるすよ。ここで手取り足取りは厳しい気が。

524 :
終了なのか、、、それって基本の基本じゃ?
プログラミング自体初めて?

525 :
>>524
計算アプリとか単発ソフトは何度か作った事があります。
ただ今回のように保存させた事がないので始めて同様です。
保存方法はファイルへの保存を使おうと思います。

526 :
>>506
viewDidLoadに
UIBarButtonItem *doneItem = [[UIBarButtonItem alloc] initWithTitle:@"トップへ"
style:UIBarButtonItemStyleDone
target:self
action:@selector(donePush:)];
[self.navigationItem setLeftBarButtonItem:doneItem animated:NO];
- (void)donePush:(id)sender
{
[self dismissViewControllerAnimated:YES completion:nil];
}
でうまくいきました。ありがとうございました。
>>508,509
レスありがとうございました。

527 :
>525 FMDBってライブラリ使うと初心者でも簡単にSQLで保存できるぞ

528 :
初心者だとFMDBのビルドが難しいぞ

529 :
データベース(MySQL)と連携したい場合どの用にするのが王道でしょうか?
PHP等で仲介プログラムを書くか、xcodeで直接操作するぐらいしか思いつかないのですが皆さんどうされてますか?

530 :
>>529
「PHP等で仲介プログラムを書く」のが普通。

531 :
iAdいついて質問です。
わけあって小さめのViewController内にiAdを配置しています。
iAdがタップされた時にViewがモーダルっぽく表示されるのですが、
ViewControllerが小さいために途切れて表示されてしまいます…
何か解決方法はありますでしょうか…

532 :
>>510
そんなこと出来たっけ?

533 :
>>515
レスありがとうございます。
Macのどこのディレクトリにファイルを置けば、シミュレータでDocumentsデイレクトリ下に
あるように見えるのでしょうか?

534 :
>>529
C APIを使う。(xcodeで直接操作の意味が分からん)

535 :
すいません、初歩的な質問です。
NSString *str = @"あいうえお";
str = @"かきくけこ";
NSLog(@"%@",str);
としたらNSLogには「かきくけこ」と返ります。
それで今更知ったんですが、NSStringは不変文字列で、可変文字列にはNSMutableStringを使うとあります。
ちゃんとエラー無く「かきくけこ」が返りますが、不変可変の意味合いを勘違いしてますか?

536 :
>>535
NSStringが不変文字列というのは、
NSString *str = @"あいうえお";
の後で、[str appendString:@"かきくけこ"]と実行して、
"あいうえおかきくけこ"と変更することができないという意味です。


537 :
>>536
ありがとうございます、よくわかりました!

538 :
リジェクトされたアプリをあげなおすときって、
iTunes ConnectのAdd New Appを選択して情報を一から入れ直すのでしょうか?

539 :
その通り。なわけないだろ。iTunes Developer Guide嫁。日本語あるから。

540 :
質問なんですが、iOS6でアプリから写真にアクセスしようとした時に初回だけ「許可しますか?」って聞いてきますよね。
あれが表示される時のテストをしたいんですが、一回でたらもう表示されないですよね? 
アプリを削除してインストールし直しても表示されないんですが、あの警告をまた表示させるにはどうすればいいんでしょうか?

541 :
設定appにあるリセット欄でリセットできる。

542 :
>>541 できました。ありがとうございました。m(_ _)m

543 :
iPhoneアプリのオンラインゲーム(パズドラ、ミリオンアーサー、カイブツクロニクル)など。
聞いた話で不適格なのですが、このようなゲームは時間で体力などを回復するものですが、
開発者ツールを使い回復時間を調整できると聞いたのですが、可能なのでしょうか?
可能でしたら質問ばかりになってしまうのですが、windowsで起動できるお勧めソフトを教えていただけませんか?
windows iSDK を試したのですが、できませんでしたのでお願いします。

544 :
利益折半なら。

545 :
>>543
できない。
それより、windows iSDK ってなに?

546 :
>>544
自分ができましたら多少ですがitunescardをお渡しすることも可能です。

547 :
>>545
http://sourceforge.net/projects/uwisdk/
このようなものです。
これは主旨が違うソフトのようです。

548 :
>>543 です。
話に乗っていただける方いましたら、
kaihatuyou01@yahoo.co.jp
にお願いします。

549 :
通報しますた

550 :
iαppli Development Kit for DoJa-5.1をiPhoneに使う方法または、
同等の機能が付いているソフトありますでしょうか?
あと、アプリケーションのjamファイルを探してもないのですがカイブツクロニクル、パズドラのがどこにあるのか教えてください。

551 :
>>548
だからできないって。サンドボックスなんだし。
脱獄すればデータにアクセスはできるかもしれないけど
そんなの運営側も想定内だろうしすぐばれると思うぞ。
仕様的にも端末はただのコントローラーでしかなくて、
データはサーバー側で管理されてるはず。少なくとも自分ならそうする。

552 :
>>550
完全にスレチ。あと日本人?

553 :
泳がせとけばもっと身元がわかったかも鴨

554 :
まぁ、2chにIPは残ったな。yahooのメアドと組み合わせてSquareに垂れ込めば謝礼くらいくれるかもよ。

555 :
久しぶりに2chがアングラっぽく見えた

556 :
英単語を学習するアプリを作成してます
著作権に触れないように単語や訳を実装したいのですが、
どのような辞書からデータを引っ張ればよいでしょうか?
スレチかも知れませんが
良きアドバイスをお願いいたします

557 :
iTunes connectのApp Review Informationっていう連絡先の入力欄が最近できましたよね。
必須じゃないみたいですけど、入力しといた方がいいんですかね(審査が速くなるとか?)

558 :
オンラインゲームをクラックしたいんだったら、まずはパケットキャプチャでもしてみたら?
てゆうか開発者もここ見てんじゃないの?w

559 :
ネットや本で調べましたが解決しなかったので質問があります。
Storyboardでlabelを選んだときにAttributesタブのViewの所にある
Clears Graphics Contextの設定ONにしたいと思うのですが、
Storyboard無しで作った場合どのようなタグを打ち込めばよいのでしょうか?
ためしに
label.clearsContextBeforeDrawing =YES;
↑を試しましたが変化なしでした。
症状:写真の上にラベルを載せをラベルを変化させていくと
どんどん文字が上書きされて見えなくなります。
Storyboardで作った時は、もともとClears Graphics ContextのチェックがONになっていて
大丈夫でした。OFFにすると同じ症状がでました。

560 :
>>557
それ入力しないとバイナリのアップができなかった。

561 :
>>560
あぁほんとですね。前に申請した時はまだ必須じゃなかったんですが最近変わったんですかね。
ありがとございました。

562 :
ああやっぱ最近変わったのか

563 :
>>556
使いたい辞書の著作者に許諾とればいいんじゃね?辞書の巻末には普通、無断転載、複製は禁ずって書いてある。ただ、単語単体や、熟語なんかは気にせず参考にすればいいんじゃないかな?例文なんかの創作要素を丸パクリはNG。

564 :
>>563
アドバイス、助かりました。
ありがとうございます。

565 :
質問いいですか?
自作アプリを開いたまま数時間放置して再操作すると
tableViewのセルが表示されなかったり ASIHTTPRequestでリクエストしても
セルが表示されなかったりします。
どういうアプリかというと情報配信アプリです。UITableが5つありに各50個から100個くらい
セルが表示されます。
iPhoneを放置するとメモリ関連で何か問題が出て変数がリセットされたりするんでしょうか?
リクエストした結果が変数に記録されていない感じです。
放置してた開きっぱなしだったアプリを一度閉じて起動させると正常に表示されます。
よろしくお願いします。

566 :
オブジェクト指向というものについて質問させてください。
今までコードを書くときは全てViewControllerに書いてきました。
例えばタップしたところにボールが落ちてきてバウンドするようなアプリは、
アプリが起動したときに画面に表示させたい物があるときはviewDidLoadで書いて、
touchesBeganでタップされたときにボールを落とすみたいな感じで書いていました。
細かいところ(ボールの色/大きさや落ちかた、バウンド方法)も全部同じテキストのViewController.m内に書いていたのでメソッドがとても多くなりました。
最初はこのやり方が普通だと思ってたので特に苦痛ではなかったのですが、コードの行が増えるうちに辛くなって来たのでどうにかできないかと
調べていてどうも書き方がおかしいのかな?と気づきました。
最近、C言語からObjective-Cに移ったのでオブジェクト指向な書き方という物が分かりません、詳解第三版のほうも読んではいるのですがここの部分だけ
理解ができません...オブジェクト指向な書き方について分かりやすく解説してるサイトや本でも知っている方はいませんか?

567 :
Objective-C(又はiOS) 設計 
Objective-C(又はiOS) デザインパターン
なんかでググると幾つか出てくるかな。
デザインパターンに関してはJavaあたりが豊富に資料が出そろっている感じか。
まぁ、この手のパターンの詳解資料って勉強にはなるけど、参考にするかなぁ程度が良い。
無理に当てはめようとすると、かえってメンテ性や可読性悪くなるから。
ボタン押してビュー表示するだけなのに、なんでクラスが4つも5つも登場してくんだよってことにならないように。

568 :
Objective-Cプログラミングの概念
https://developer.apple.com/jp/devcenter/ios/library/documentation/CocoaEncyclopedia.pdf

569 :
オブジェクト指向とMVCアーキテクチャは関係ないよ
iOSの入門書だと端折ってることが多いけど、OSXの入門書はだいたい詳しく書いてあるから、
そっちをみてみるといいかも

570 :
>>565
UITableViewの見えていないセルは、画面をロックしたり、ホームに戻ったり、システムの勝手な
タイミングで解放される。見えているセルだけは解放されない。
だから、セルのみに値を持たせたままでは、値は勝手にリセットされる。必要なオブジェクトは
ViewController側で保持しておく。
ってことは理解してる?

571 :
>>570
返信ありがとうごいます。
自分はViewControllerを継承しているhファイルの中にNSMutableArrayを定義し mファイルのviewDidLoadで生成しています。
そのArrayの中にNSMutableDictionaryを入れてつかっています。セル数はNSMutableArrayのカウントからです。
セルが消えた後再読み込み機能を使いリクエストしてその結果をNSMutableArrayに入れていると思いますが
テーブルセルが表示されず 定義した変数が使えていないのでは?と思っています。
XCodeのIBを使っていて オレンジ色のコントローラーの中にViewControllerを継承したファイルを入れ子にしています。
なぜか-(void)initが実行されないため viewDidLoadの中で配列を生成しています。(一回だけ読み込み用のフラグあり)

572 :
IB使ってるならinitでなくinitWithNibName:bundle:が呼ばれると思うが。
viewDidLoadはメモリ警告が飛んできたらまた呼ばれるからフラグ管理してるのはいいけど、
データソースをそこで作るのはあまりよくないと思う。

573 :
>>572
なるほどオレンジ色のコントローラーはinitWithNibName:bundleが呼ばれるんですね。それは知りませんでした。
viewDidLoadではなくinitWithNibNameでデーターを生成して試してみようと思っています。
ありがとうございます。

574 :
IBでつくったViewControllerもinitWithNibName:bundle:じゃなくてinitWithCoderが呼ばれるんじゃなくて?

575 :
>>574
おっしゃるとおりオレンジ色のコントローラーに入れ子にしたViewControllerファイルは
initWithCoderが呼ばれました。initWithNibName:bundle:は呼ばれませんでした。

576 :
UISegmentedControlで
特定の箇所のみfontの色を変えることは可能でしょうか
以下のような順番で黒色フォントでUISegmentedControlを作った時
iphoneの箇所のフォントのみ青色に変えることは可能でしょうか
ipad ipod iphone mac ← iphoneの色を青に変えたい

577 :
今日から個人的にアプリ開発していこうかと思うんだけど、出遅れかな。凄くいいアイディアがあっても、メディア等で紹介されない限りまったくダウンロードされないかな??
それか、個人開発しまくって、関連企業へ転職するのが一番いいのかな?
今の市場がよくわからない

578 :
>>577
いいものは必ず評価される。
そうでなければその程度のアイデアだったってだけ。
そう考えて開発してるけど、ファンがいるだけで頑張れるよ。
銭勘定したら死ぬけどなw

579 :
>>577
他の業界よりは、個人でも勝負できる余地が多分にあると思う。今は単純にライバルが多い…。良アプリも多いし。

580 :
アプリを探すときはいかにも会社で作ってますみたいなのは避けて
個人がやってそうなものを選ぶ
そのほうが尖ってておもろいからね

581 :
良アプリがほとんど無いジャンルとかあるけどな。
俺はそこで行く。

582 :
>>578-581
ありがとう、心強い
はじめは稼ごうとは考えずに、趣味として続けてみる
最新バージョンのXcode使ってるんだけど、各機能が詳しく解説されてるページがなかなか見つからないな...
勘に頼るか、英語をある程度勉強しなければスムーズにいかないな

583 :
どなたか >>531 わかる方いませんか?

584 :
>>583
表示直前に呼ばれるADBannerViewDelegateメソッドがあるから、
それでビュー大きくすればいいんじゃない?

585 :
>>584
おお、なるほどです。
できるかどうかわかりませんが試してみます!

586 :
初歩的な質問です!とか言う人
初歩的なら質問せず自分で解決しろよw
といつも思う

587 :
iCloudって、シミュレータでは利用できないのかよ orz...

588 :
さっさと諦めがつけられて良かったじゃないか

589 :
ごめんなさい、アプリ開発に直接関係ないのですが…
iPhoneアプリ開発スレの次スレって無いのでしょうか、見当たらなくて…

590 :
>>589
なにそのシュールなレス

591 :
>>588
工作じゃねえよ
ネットに嘘の情報が蔓延らないように監視してんだろうが

592 :
月曜日の朝っぱらから誤爆すんなよ (´・ω・`)

593 :
Mac持ってなくてObject-C出来ないって詰んでます?
JAVA、Javascript、HTML、PHP、Rubyあたりなら大丈夫なんですが、Windowsでも大丈夫なツールないですか
Dreamweaverみたいなのも結局SDKいるしエミュじゃ作れないと聞きました

594 :
Mono touch使うとC#とかでiPhoneの開発もできるんじゃないのか
詳しくは知らんけど

595 :
Appleへの申請にXcodeかApplicationLoaderが必要なので、Macは必須です。
Java,JavaScript,HTML,PHP,Rubyはネイティブ動作はしません。せめてC/C++ができればなんとかなるかもしれませんが、UI部分はObjC必須です。
AppStoreに並ばなくてもいいなら、Webアプリでリリースしてはいかがでしょうか。

596 :
xibのプロジェクトをStoryboardに移行作業中です。テーブルセルを選択すると次の画面に遷移するところは,
tableView:didSelectRowAtIndexPath:がいらなくなって,prepareForSeque:senderで代用できる筈ですが,
なぜか遷移しません。prepareForSegue:senderも呼ばれません。
tableView:didSelectRowAtIndexPath:は呼ばれます。
しかたがないのでその中で,performSegueWithIdentifier:senderを
呼ぶとうまくいきます。
何か,設定を間違っているようなのですが,検討つきません。アドバイスください。

597 :
iOS 5.1です。
- (void)drawRect:(CGRect)rect
{
~略~
str = ...... ; // 文字数は不定。全角半角英数字。
[str drawInRect:strFrame withAttributes:strAttributes paragraphStyle:strStyle];
~略~
}
…とやって文字列は描画されるんですが、文字数が多くなった場合、strFrameに従って自動的に改行されたかどうか、
つまり描画した結果、行数が2行以上になるかどうかを判定する方法ってありませんか。

598 :
>>597
sizeWithFont:じゃだめかい?

599 :
>>596
ぶっちゃけ詳しくないんだがテーブルオブジェクトはdidSelectRowIndexっていうデリゲートメソッドから内部のセルのどれが選択されたか判別してるからそこを封鎖するとそもそも内部のセルがタップ感知してないんじゃないですかね????

600 :
>>598
ありがとうございます。そんなのがあったんですね、もっと修行しなきゃorz

601 :
アプリで使用したInactiveメモリーはアプリ内部で開放処理を行えるのでしょうか?
それともiOSが自動的に行うものなのでしょうか?
よろしくお願いいたします

602 :
Inactiveは実行中のアプリには属していない。

603 :
>>602
それではアプリ側からは開放できないという事でしょうか?

604 :
>>603
もう解放されてて使ってないんだよ。

605 :
>>604
メモリ管理アプリを使って対象のアプリを閉じたあとにInactiveメモリを確認すると領域を確保していていつまでもFreeにならない報告があるのですが

606 :
>>605
ディスクのバッファキャッシュになってるんだよ。
せっかくのキャッシュを必要もないのに捨てはしないでしょ。
メモリが必要になればその時は別の事に使われるよ。
/usr/bin/purgeを実行すれば強制的に全部捨てられるよ。

607 :
>>606
なるほど分かりました
ありがとうございました

608 :
メモリ管理アプリなんて使ってるバカユーザの報告なんざ適当にあしらって無視しろ

609 :
Push通知をアプリ起動中でも表示させる方法はありませんか?
よろしくお願いします。

610 :
あ、ここiPhoneアプリのスレだから/usr/bin/purgeは関係なかった...

611 :
Twitterの公式アプリのツイート表示などでURLやユーザー名などのテキストがクリックアブルになっているのはどういう実装か分かりませんか?
TextViewのDataDetectorでは無く特定の位置の文字をクリックアブルにしたいです
Labelの代わりにその位置だけカスタムなButtonを貼り付けて、ハイライト(選択時)の時に背景を濁らせてそれっぽくしてみたんですが、本家では指が領域を出た瞬間に操作がTableViewのスクロールへ移るようになっていてButtonではそこのところは上手くいきません
何方か、そのような実装を行った方が居られましたらご教示お願いします

612 :
AdMob Mediation、iOS4 で iAd って表示されてます?
adViewDidReceiveAd: は呼ばれるんだけど、bannerViewは何も表示されないっぽい。
AdMob の広告や iOS5 以降の時は表示されるので、実装は問題ないと思うんだけど、なんでだろ?

613 :
なぜかしら?

614 :
>>611
Twitterアプリの実装がどうなってるかわ知らないけど、
表示にUIWebViewを使えばできるんじゃね?

615 :
>>612
前のレスで似たような会話があったような気がする

616 :
>>614
WebViewってそんな使い方出来るんですか
ありがとう御座います
調べてみます

617 :
申し訳ございませんが、>>510についてお答え頂けませんでしょうか?

618 :
残念ながら俺には質問の意図が分らない。

619 :
店頭に行きましたがxcodeが入っておらず困っています
外出先でxcodeをメインに使う場合、
どのモデルがおすすめでしょうか
MacBook Air 13
MacBook Pro 13
MacBook Pro 13 Retina
MacBook Pro 15 Retina

620 :
>>611
要はbb2cみたいにひとつの文章のなかのとある一部分に色々仕込みたいでいいでよね?ここのその1〜3みればええです。
http://hmdt.jp/blog/?p=88
属性文字作成はNSAttributedStringで、タップ後の文字取得はcoreTextとtoucheEnded:で得たポイント使えばそのポイントにある文字の属性と内容を取得出来たような、、できたはず

621 :
>>620
正にそういうことです
ありがとうございます
助かります

622 :
iPhone専用アプリをiPad上で表示すると広告が出なくなります。
広告はiAdとAdMobを使用しています。
実装はhttp://www.uetamasamichi.com/archives/794を参考にしました。
iPhone上では動作するのにiPadでは動作しないのでもし、原因等がわかる方
いましたらご教授下さい。

623 :
SnowLeopardでXcode4.2という環境なのですが、この場合、最近出たiPhoneやiPod touch第五世代など、iOS6のデバイスを実機検証用として使いながら開発をする事は可能でしょうか?(アプリ自体はiOS5用に開発すると思いますが)

624 :
無理です。つながりません。
iOS6機の実機デバッグ時にはiOS6 SDK必須、
つまりxcode4.5以上が必須、
つまりLion必須。

625 :
デバッガはつながらないけど、アドホックで手動インストールすれば
とりあえず動くかどうか検証する事だけはできるのでは

626 :
>>624
>>625
なるほど。ありがとうございます

627 :
UIViewControllerのpresentedViewControllerで
ModalなViewControllerが表示されていることを知ることができるように、
とあるviewまたはviewControllerにおいて、UIPopoverControllerが表示されているかどうかが判別できるプロパティやメソッドは存在しないでしょうか?

628 :
>>618
ソフトバンクですと、
設定.app から 電話 -> ソフトバンクモバイルサービス にいって、My SoftBank ってやつです。タップすると、SafariでMy SoftBankが開きます。
http://beebee2see.appspot.com/i/azuYuuGfBww.jpg
もしくは、Nike + iPod の下の方にあります。http://beebee2see.appspot.com/i/azuY8aqfBww.jpg
これは、どうやればいいのでしょうか?

629 :
App storeで同名同機能で販売されてるアプリ、所謂パクリアプリをAppleに報告したいんですが、どこにメールすればいいのでしょうか?
対応は期待してないんですが、やられっぱなしってのも無いかな、と思いまして。

630 :
>>628
単にSafari起動させるだけならUIApplicationのopenURL

631 :
初のiPadアプリを10/14にアップロードしてWaiting For Review状態で、
iTunesConnectでアプリのSummaryを見てみると画面上部に黄色い枠に!マーク(Warning?)で
「Since your last Game Center submission, your app has been added to a group.
If you submit this version with Game Center group metadata, the approved app cannot be removed from the group.
To submit a new version without the Game Center group metadata, remove your app from the group.」
と表示されています。
これが原因でレビューに行かないんでしょうか?
どなたか同じようなメッセージが出た方いますか?
ちなみに、今作はGameCenterのリーダーボードのグループ機能を使ってみました。

632 :
>>628
できない。
例に挙げたものはドキュメント化されていない機能で実装されているみたい。

633 :
>>628
そもそも
My SoftbankもNike + iPodも、アプリの設定bundleじゃないじゃん。。。。

634 :
質問です。
下記のコードで配列_lineの要素が消えないようにするには、どうすれば良いのでしょうか?
_lines=[NSMutableArray array];
_line=[NSMutableArray array];
NSString *curword;
while(条件) {
curword=文字列;
[_line addObject:curword];
if (改行タイミング) {
[_lines addObject:_line];
[_line removeAllObjects];
}
//ここで_lineの内容をNSLogに印字すると登録したcurwordを表示
}
//ここで_lineの内容をNSLogに印字すると空

635 :
なんで一番最後で、_lineの内容を出力してるの? 出力するなら_linesの方じゃないの

636 :
>>635
レスありがとうございます。
出力はデバッグのためです。_linesの中には_lineが正しくセットされています。
_lineの中が空なのです。

637 :
改行してwhileを抜けてるんじゃないの?

638 :
>>634
_lines の中には _line が格納されており、その_lineの中身は空
ってことだろう。なぜならば、removeAllObjectsで空にしてるから。

639 :
それって仕様通りじゃないの? 何が問題なのかわからない。

640 :
まあ初歩的っちゃあ初歩的だけど、もうわかっただろう、これでいいじゃないかw

641 :
xcodeで、コードの左を押すと関数単位等で表示をまとめてくれる機能がありますが、
再起動すると全て開いた状態に戻ってしまいます
xcodeを閉じても状態を維持することはできないのでしょうか?

642 :
できないよ
そんな長いコード書くなってことだよ

643 :
質問です。
UIScrollViewのズーム中のスケール値が取得したいのですが方法がいまいちわかりません。
スケールを使いOffsetを行い、mapkitのピンみたいな物を作りたいのですが上手くいかな
いのでお知恵をお貸し下さい。
よろしくお願いします。

644 :
独自でUIAlertViewみたいなものを作成したいのですが、
自分以外の全てのuserInteractionEnabledを無効にするってできませんか?

645 :
タッチした座標をBTで飛ばしたいです
タッチした座標を取得できるのがUIViewのサブクラスで、
BTで飛ばすのはViewControllerでやるようなのですがどう処理すればいいですか?

646 :
>>644
そのビューの後ろに全画面の半透明ビューかぶせれば?

647 :
>>645
Notificationなり、Delegateなりお好きにどうぞ

648 :
>>637,638,639
レスありがとうございます。
何が問題なのかは分かったのですが、
_lineを_linesに登録した後で、「次の行」用の空の_lineを用意するには、
どうすれば良いのでしょうか?

649 :
まず何をやりたいのか仕様を説明しろよ
お前が「何が問題なのかは分かった」って、こっちは何がやりたくて何が問題なのかさっぱりだよ

650 :
>>646
半透明じゃなくて透明な
[UIColor clearColor];

651 :
>>643
UIScrollViewDelegate

652 :
>>645
タップの検出はUITapGestureが楽だな
BTってBluetooth?
ならば、うーんこれは別段大変じゃないが一言ではなぁ〜

653 :
>>648
>「次の行」用の空の_lineを用意するには、
どうすれば良いのでしょうか?
ヒント:オブジェクトを使う回そうとするな

654 :
>>650
ユーザーエクスペリエンスって知ってる?
初心者はまともにアプリ作れるようになってから、初心者に教えるようにしてね(^_^)

655 :
なんだこのやろう

656 :
質問です
標準マップアプリの「現在地」や「ドロップしたピン」のような文字は
UITextFieldでどのように作るのでしょうか?

657 :
吹き出し形のviewを描画します
その上に文字を描画します
そのviewを画面に描画します

658 :
>>657
ありがとうございます
言葉足らずで申し訳なかったのですが、吹き出しではなく
検索バーのTextFieldの中に表示される青や紫色の背景の文字のことです

659 :
ARCでプロジェクトを作ると、呼び込むライブラリとかクラスも全部ARCでないといけないのですか?

660 :
>>658
ダメ

661 :
-fno-objc-arcは?

662 :
>>659
ARCってコンパイラがretain/releaseコードを追加しているだけで何も変わらないから、その質問はセンス悪いよ

663 :
>>654
でも半透明じゃなくて透明なw

664 :
UIActionSheetのボタンの高さを変えることは可能でしょうか

665 :
>>649,653
レスありがとうございます。
[_line removeAllObjects];を
_line=[NSMutableArray array]; に代えたらうまくいきました。

666 :
頑張れば出来るんだろうけどリジェクトされそうで怖いな。

667 :
>>665
何がしたかったかさっぱりわからん。

668 :
>>650
タッチイベントを防ぐ目的なら透明はまずんじゃないかな?

669 :
>>668
非表示なのと色が透明なのは違う。
オススメかどうかは別として。

670 :
>>669
alpha値が0にならなきゃいいのね。

671 :
>>670
RGBA全部ゼロでもタッチイベント取れてるけど。

672 :
>>671
あれ?それは上に重ねた方のViewのイベント?

673 :
シラネ

674 :
おーい

675 :
>>651
レスありがとうございました。
無事ズーム中のスケール値が取得出来るようになりました。

676 :
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:"http://xxxx/xxxx.json"]];

これで実行すると、実機では、サーバ側の*.jsonを更新してもキャッシュが有効になってるようで、
アプリを再起動しても、サーバのApacheを再起動しても取りににいってくれません。標準ではcache expireは何分ぐらいでしょう?
cachePolicy:..... timeoutInterval:.... でキャッシュ関係なく持ってくるというメソッド・オプションがあることは確認してます。
が、既にリリース済みのアプリがこれを指定してなくて…

677 :
鯖側がタイムスタンプ更新してねえからじゃね?それ
HTTPレスポンスに更新日時含めるかキャッシュ破棄指示付ければ解決しそうな

678 :
ありがとうございます。
鯖側のファイルは更新した日時にはなっています。レスポンス…の件ですがアクセスログに記録されてないので
リクエスト自体届いてない気がしてます。若干スレチで申し訳ないですが

679 :
一回目のにつけるんだよ

680 :
あるゲームを作成しています。
androidに移植する事を念頭に置いているのですが
ゲームのメニュー部分(タイトルからゲーム画面へ移行するまで)のUIを
cocoatouchのUIコントロールで作らずに
webview + html+javascript(ローカルファイル)+jsからプログラムへの通知機能(逆も)
を使って作るというのはどうなんでしょうか?
GLで一からコントロールを自作するのは大変ですので

681 :
やってみたまえ

682 :
てか審査のとき電波無しでも動作するかテストされまっせ

683 :
>>680
Web appで出せとリジェクトされるんでね?

684 :
>>682
html+javascriptはリソースとしてプログラムに埋め込むから電波関係ないかな
>>683
どういうことですか?

685 :
>>680
ソーシャルガチャ系はそんな感じの作りっぽいの多いから平気じゃね?

686 :
2.12: Apps that are not very useful, are simply web sites bundled as apps, or do not provide any lasting entertainment value may be rejected

687 :
>>686
お前がアップルの代弁しなくていいよ。

688 :
>>686
メニュー部分のUIをhtmlでやるだけでゲーム自体はGLで作るのですが
その規約部分でひっかかるところがあるのでしょうか?

689 :
>>688
大丈夫だと思う。 ダメだったら報告頼む。

690 :
アプリの開発をして見たいのですがMBPとmini ならどちらが開発に向いていますか?

691 :
>>690
どこで作業するかによるだろ。

692 :
質問です。
ネイティブアプリもしくはWebアプリで、
「アプリを起動していないときにもプログラムを実行する」ことは可能でしょうか?
つまりアプリを閉じた状態で、プログラムを一定時間ごとに動作させたいのです。
例えば「一定時間ごとにフラッシュカメラを点灯・点滅させる」というようなことです。
もしくは出来ることと出来ないことがあればご教示ください。
オーディオ再生は出来るようなのですが・・・。やりたいのはオーディオ再生ではなく特定のプログラムです。
サードパーティのアプリとして起動しながらですることは可能なのですが、
アプリを閉じた状態ではこういったプログラムは実行出来るのでしょうか?
m(_ _)m よろしくお願いします。

693 :
>>688
phone gapていうのがある位だから全然おkかと。むしろ最近のAppleはその手法を推しているような気がする。

694 :
storyboardやautolayoutを整備しといてHTMLでUI構築を推奨はないわ
>>692
最大10分間可能
task completionでggr

695 :
>>694
レスありがとうございます。
10分間バックグラウンドで動くゲームアプリがありましたが、
そういうことだったんですね。
ありがとうございました。

696 :
アプリのアイコンはどのように設定すれば良いでしょうか?
いろんなサイトで7種類のサイズがいると書いていたので作ったのですが、設定するところには二種類しかありません。
全部フォルダに入れておけば大丈夫ですか?

697 :
>>696
ググってめんどくさがらずにちゃんと読んで理解しろ。
その程度の解説なら山のようにあるだろ

698 :
フハハハハ

699 :
質問なんですけど、 ARCの環境で
@property (nonatomic, copy) NSString *name;
とcopyの指定をして宣言したプロパティを持つクラスを作ったんですが、
@synthesize name = _name;
- (id)initWithName:(NSString *)name
{
 self = [super init];
 if (self) {
  _name = name; <=============(1)
 }
 return self;
}
(1) のところは、
_name = [name copy];
としなくても大丈夫なんでしょうか。 一応動いてはいるようなんですが...

700 :
大丈夫
プロパティはコンパイル時にメソッドに展開されるので、メソッド内でcopyメッセージ送信されてる

701 :
>>700
あぁそうなんですね。ありがとうございました。

702 :
self.name
でないとダメじゃなくね?

703 :
4.5.2プレビューでたね。
iTunes11はよ

704 :
@property (nonatomic, retain)の意味が分からず、
@property (nonatomic, retain) UIImageView *Image;
みたいにいつもコピペで使ってます。
@property (nonatomic, copy)とかの違いを教えてください!

705 :
>>704
わざわざここで聞かなくても、ググればいっぱい出てくるよ

706 :
>>702
ARCだから、_name = name; でおk

707 :
- (id) initWithId :(NSInteger)Id
{
BOOL test = [managerFile getStatus:Id];
}
BOOL test = [managerFile getStatus:Id];で警告
Incompatible pointer to integer conversion initializing 'BOOL' (aka 'signed char') with an expression of type 'id';
初歩的なことですいません。警告取れずです。。この警告は何者でどうしたら消えるんでしょう?

708 :
>>707
その getStatus は何を返すの?
BOOLとidは違うって警告だけども

709 :
>>708
ありがとうございます。また説明不足ですいません。
現在、簡略化して書いているのですが、警告が取れません。
こちらでYESかNOを返しているはずなんですが……。
+ (BOOL *) getStatus :(int)Id
{
if(StatusOn == YES)
{
return YES;
}else{
return NO;
}
}

710 :
YES NO は BOOL型であって BOOL *型じゃないよ

711 :
+ (BOOL) getStatus :(int)Id
失礼しました。
こういうことですね。ただ、警告はそのままです。。

712 :
そんなはずは、、、ヘッダも直した?

713 :
>>712
なぜか、うまく反映されていないかっただけみたいです。。
書き直してみたり、Cleanしたら、警告消えました。
お騒がせしました。><

714 :
RemotePushのテストをしているのですが、通知される時と通知されない時があります。
同じ端末で同じ条件でPushしてみても通知されたりされなかったりします。
こういうものでしょうか?

715 :
pushの実装は自分?
それともBaaSを利用?

716 :
>>714
そういうものらしい。 公式がPush通知は100%じゃないって言ってる。
ちなみにAndroidもそう。

717 :
みなさまお知恵をお貸しください。
関数電卓にあるENGキーのような動作を行いたいのですが
原理がよくわかりません。
NSNumberFormatterで見よう見まねで書いてみたんですが、
求めている動作になりません。

どのような考え方でコードを組めば良いのでしょう?

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

718 :
NSTimerが動きません。float同士を足したモノだと動かないのですが、どうすれば足せるでしょうか。
float valhunM = valhun*60;
float valbyou1S = valbyou1*10;
float valbyou2S = valbyou2*1;

float sumVal = valhunM+valbyou1S+valbyou2S;

// タイマーを作成してスタート
tm =
[NSTimer scheduledTimerWithTimeInterval:valbyou2S //←動く。sumValだと動かない。

719 :
>>718
NSLog(@"sumVal = %f", sumVal);
で内容を見ることができる

720 :
>>719
レスありがとうございます。
もう少しでつかめそうです。

721 :
変数名なんとかならないか

722 :
>>721
これが分かりやすいんで・・・。


723 :
UISliderのトラックの背景画像を、
右に行くほど黒くて、左に行くほど白くなっている画像に置き換えようとしたのですが、
ミニマムトラックイメージとマキシマムトラックイメージという
サムの左右に画像を設定するプロパティしか見つかりません。
トラック全体に一つの画像を指定するようなプロパティはないのでしょうか。

724 :
>>718
別のコードでうまく動きました。
どうもありがとうございました。

725 :
>>719,722
>>718ですが、
別のコードでうまく動きました。
どうもありがとうございました。

726 :
>>725
おまえはこういうとこで質問する資格ないよ。
もう来るな。

727 :
サーセンwwwwwwww

728 :
誰だお前?

729 :
UILocalNotificationのsetAlertBodyで指定する文字列の中に%があると
それ以降の文字が表示されないんですが、どうすれば表示できるでしょうか?

730 :
Storyboardの多言語対応で質問です。
1 Test.storyboard
2 Test.storyboard(English)
3 Test.storyboard(Japanese)
と配置してある場合、1にTextFieldを追加すると1と2のEnglishにのみ追加されて
2のJapaneseには変化がありません。
共通パーツは1に配置したら2、3両方に反映させたいのですが、そのような設定は可能でしょうか?

731 :
>>730
無理だろ。ローカライズは最後の最後に。

732 :
localizationの基本は英語でUIを完成させて、そこから各言語を派生させる
appleがinternationalization(i18n)ではなくlocalizationと書くのはそのため

733 :
UIViewに対して、addSubviewした後は、
releaseしないとメモリリークを起こすのでしのでしょうか?
UIImageViewなどは、addSubviewした後にreleaseしていますが、逆にViewControllerはreleaseした場合、アプリが落ちる場合もありました。

734 :
プロパティについて勉強中なのですが、
@propertyはどういう名前でセッター,ゲッターを作るかを指示をするもの。
ドット構文はどのセッター,ゲッターを使うかを指示するもの。
という理解で合っていますでしょうか?

735 :
>>731
>>732
ありがとうございます。
アプリ完成後にやることにしました。

736 :
iAdのdelegateで質問です。
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
- (void)bannerViewActionDidFinish:(ADBannerView *)banner
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
これをViewControllerに記述してdelegateの設定をしているのですが、シミュレーターでしか動作しません。
実機(iPhone5)だと上記の関数に一切飛んでこないのです。
何か個別に設定しなければならないのでしょうか?

737 :
書き忘れました。
実機(iPhone5)上で広告は正しく表示されています。
表示非表示回転クリック時のイベントが取れないのです。

738 :
>>699
If you need to set a copy property’s instance variable directly, for example in an initializer method, don’t forget to set a copy of the original object:
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/EncapsulatingData/EncapsulatingData.html#//apple_ref/doc/uid/TP40011210-CH5-SW35

739 :
>>699
>>738 の日本語版ね。68ページあたり。
「たとえば初期化メソッド内で、copyプロパティのインスタンス変数を直接設定する場合、元のオブ ジェクトを忘れずに複製してください。」
https://developer.apple.com/jp/devcenter/ios/library/documentation/ProgrammingWithObjectiveC.pdf

740 :
>>738-739
ほんとだ。試してみたら、コピーしないとダメみたいでした。 m(_ _)m
NSMutableString *name = @"AAA";
Hoge *hoge = [[Hoge alloc] initWithName:name];
hote.name = name;
NSLog(@"name=%@", hoge.name);
[name appendString:@"BBB"];
NSLog(@"name=%@", hoge.name);
● _name = name; の場合
name=AAA;
name=AAABBB;
● _name = [name copy]; の場合
name=AAA;
name=AAA;



741 :
UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"Test"];
って感じのことをやる場合、参考書やサイトにはStoryboard上の対象のViewControllerを選択して
Attributes InspectorのIdentifierの入力欄に文字列(この場合は"Test")を入れておけと書いてあります。
けど、実際に見てみるとTitle欄の下にあるはずのIdentifier欄が存在しません。
どっかで非表示設定になってるんでしょうか。
XCodeのバージョンは4.5.1を使ってます。

742 :
4.5.1だとIdentity Inspectorにあった

743 :
>>742
おお、発見しました。
今までタブが畳まれてて見失ってたようです。
ありがとうございました。

744 :
>>693
そんなのあるんですね。ありがとうございます。
>むしろ最近のAppleはその手法を推しているような気がする。
なんでそう思うのか教えて頂いてもいいでしょうか?

745 :
iPhoneOSProductTypes.xcspecファイルを開きたいのですが、miで開いても文字化けしてしまいます。
文字化けしないで開くにはどうしたらいいでしょうか。

746 :
それバイナリplistだからplutilか自分でコード組まなきゃテキストファイルにはならないよ

747 :
>>746
分かりました。ありがとうございます。

748 :
申請済みのアプリはスクショ入れ替えただけでもレビュー後回しにされるんですか?
それともdeveloper rejectしたときのみ後回しでしょうか?
Appleさんの音沙汰がなくて胃がキリキリしてきた。

749 :
毎回思うがwaitingはそのアプリが何番目に並んでいるのか表示するようにしろよな。
それと、バイナリに問題無くてmetadataのエラーでリジェクトされたんだけど、これってまた1から並び直し?

750 :
地図上のアノテーションのバルーンに実装されたボタンをクリックすると
対応した写真を表示するアプリを作成しています。
地図にアノテーションを立て、
選択するとボタンが実装されたバルーンを表示するところまでプログラムが完成しました。
実装したボタンを選択すると、新しい画面に遷移し、
新しい画面には写真と簡単なコメントを表示する画面に遷移するようにしたいのですが、
どのようにプログラムすればよいでしょうか?
ボタンがタップされた際に呼び出される以下のプログラムに
処理をかきこまなければならないことは分かりました。
-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control{
   //タップされた際の処理
}

参考書を見ながら開発していますが、XcodeやObjective-C初心者のため、
自分で考えて応用させることができず、困っています。
プログラム例などで教えていただけると嬉しいです。よろしくお願いいたします。

751 :
>>730
Storyboardファイルは言語共通で、テキストのみlocalizable.stringsで分け、
iOS6のauto layout使って実装しなさい、ってのがAppleの主張。

752 :
アプリのエラー落ちについて質問です。
iPadで、図形を組み合わせて形をつくり、図形のパーツ1つ1つにデータを入力するような
アプリを作ってそれをAd-Hocビルドで他の人にアプリを渡しました。
自分の環境だと、アプリは正常に動いてるのですが、渡した方の人の端末ではエラー落ちが頻発すると
言われました。そこでどのような原因でエラー落ちしているのか調べるため端末を貸して
もらえることになったのですが、肝心のエラーログを貸してもらった端末でどのように見るのかが
わからないため困っています。
どのようなエラーログが出ているか確認する方法、どこでエラー落ちしているか確認する
方法をご存知の方がいましたらご教授いただけると嬉しいです。
よろしくお願いします。

753 :
せっかく端末借りれたんやから、それMacに繋いでデバッグすればええやん

754 :
個人名のアカウント使っているのですがappstoreで屋号を表示出来ませんか?

755 :
来たか

756 :
まだだよ

757 :
コピペプログラマはプログラマを名乗るべからず

758 :
関係無いと話すと質問しにくくなるだろ?
こっち行けよ
iphoneアプリ 個人開発者の雑談スレ4
http://anago.2ch.net/test/read.cgi/mac/1350655099/

759 :
初心者です。
右も左も分からないところから
上司から命じられ、四苦八苦しつつアプリを作っていたところ、
AppStoreを介さずにアプリを配布したいと言われました。
以下の2つ以外に、方法はあるのでしょうか。
・脱獄する
・テスト機として登録する
簡単な神経衰弱アプリですが、もう少しで完成というところで
新たな難題を突きつけられ、困っています。
教えていただければ助かります。よろしくお願いします。

760 :
HTML5で作り直す

761 :
>>759
testflightじゃだめなの?

762 :
端末ごと配布する。

763 :
会社内配布がついこの間可能になったんじゃなかったか
不特定多数に配布したいってんならその上司に「ばかめ」と云ってやれ

764 :
>>760に一票

765 :
エンタープライズ契約って手もあるわな。

766 :
みなさんご回答ありがとうございます。
>>760
>>764
Webアプリにするってことですよね?
自分の技術力と時間が許さない点も問題ですが、
多分上司が許してくれません。
訳分からんこと言うな的な感じで怒られる。
>>761
ぐぐってみましたが、チーム内配布っていう記述がありました。
開発チーム内でのアプリの共有とかに有効なものなんですかね?
ただ、お客に配るって話なのでプロビジョニングとかは難しそうです...
多分ファイルの受け渡しすれば良いだけだから簡単だろとか考えてます。
>>764
配布対象がまさしく、不特定多数なんです...

767 :
もうAndroidにしる

768 :
つか、html5にすりゃAndroidでもいけっぞ。
神経衰弱ていどなら余裕だろ。

769 :
>>766
上司はなぜAppStore経由がNGだと言ってるんですか?
その理由次第で対応も変わってくると思うんですが。

770 :
Show Size InspectorのAutosizingってどうやったら表示されますか?
Editorを切り替えた時に一瞬だけ表示はされるんですが...

771 :
すみません、抜けてました。
配布するアプリの内容を、客に合わせて変えなければならないのです。
>>768
自分、神経衰弱程度で青息吐息の超初心者なんです...

772 :
みんなで集まってトランプすればいいよ

773 :
app storeのreviewって土日もやってるんでしょうか?
金曜にok出なかったら月曜まで待たなきゃダメと言う認識であってますか?

774 :
昔は日曜日にリリースされたこともあったけどなぁ
今はどうか知らん

775 :
>>771
>>769へのレスってことでいい?
その要件だったら、客ごとにメールかなんかでパスワードを配布して、
そのパスワードに応じて遊べるゲームが変わる仕様にすればAppStore経由でもありでしょ。
審査とおるかどうかはしらんけど。

776 :
>>775
なるほど!そういう手もあるんですね。
ありがとうございます。何とかやってみます。

777 :
UIBarButtonItemのフォントを以下のようにして変えたところ
長文のテキストを入れたときにtoolbarをはみ出して表示されるのですが
これを防ぐ方法はないでしょうか
[toolbarButton setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor,
[UIColor grayColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)], UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"Cochin-BoldItalic" size:18.0], UITextAttributeFont,
nil]
forState:UIControlStateNormal];

778 :
>>770ですが、自己解決しました
スレ汚しすいません

779 :
クラッシュレポートはすぐに送られてくるものなのでしょうか?

780 :
>>771
カスタムB2Bアプリがどうたらって聞いた事があるけどどうかな。
日本でも提供されてるっぽいけど。
http://s.news.mynavi.jp/news/2011/07/14/092/index.html
https://developer.apple.com/jp/programs/ios/distribute.html

781 :
ビルドした時、または実行する時にマスタ用のsqlite3データをシュミレータと
実機にインストールしたいのですが、調べてもやり方が分かりません。
何かヒントの単語を頂けないでしょうか?
sqlite3のファイル名は例えば「mst.db」です。
(拡張子がpngだと自動的にビルド時にコピーされるのですが・・・)


782 :
pngと同じようにプロジェクトに追加したのなら、pngと同じようにビルド時にコピーされるよ。
拡張子は無関係。

783 :
>>782
それだと更新出来ないでしょ。
Bundleに入れといて、起動時にDocumentsフォルダに無かったらコピー。

784 :
日本語のアプリ名を設定したいのですが
[File Inspector]の[Localization]に[+]が表示されてないのですが
どうすればいいでしょうか

785 :
xcode4.4 ローカライズでぐぐりたまえ

786 :
App Storeのアプリ説明をローカライズすると、対応言語国が表示されるようになります。
仮に例で「英語、日本語、中国語」の3カ国語を設定したとして話すと、
実際のアプリは英語のみの表示だったりします。
自分も上の例で、プロジェクトに中国語のローカライズファイルが無くても審査は通りました。
そこで質問なんですが、基本的にApp Storeの説明文とプロジェクトのローカライズ言語数は
イコールで無くても良いと考えてて良いのでしょうか?
通ったアプリが全て英語表示だったのですが、
ボタンやメニュー表示が主だったのでたまたま問題無いと判断されただけでしょうか?
(START、RANKING、GAME OVER のような単語、文章になるとダメ?)

787 :
あれってただのアプリ紹介の各国版なだけだろ?
アプリは英語のみでいいんじゃね?

788 :
>>787
レスありがとうございます。
全然別ものと考えてて問題は無さそうなんですね、参考になりました。
そのせいかな、なんとなく説明文の審査はゆるい気がしますけど気のせいですか?
中国語サッパリだったのでエクセル翻訳に頼ったのですが、実際読める代物かわからない。
言語対応でむしろ読みづらくなるとか考えると、日本圏外では英語の方が良かったりするのかもですね。

789 :
新作リリースについてですが、
iTunes ConnectのRight&Pricingで
日付指定してリリースしたのに、
リリース後にApp Storeのリリース日が
前日になってしまう場合があるのですが
理由と解決策をご存知ないでしょうか?
(例えば26日を指定しても、App Storeの日付欄は25日になっていて新着アプリ紹介欄の後ろに埋れてしまう。数日後にチェックすると26日になってたりする…)

790 :
時差の問題じゃね?

791 :
>>790
やっぱりそうですかね〜
アメリカの日付が変わる頃リリースすればいいのかな〜

792 :
>> 782
>> 783
遅れてしまいましたが、ありがとうございます。
あの後、プロジェクト設定のBuild Phases -> Copy Bundle Resourcesに
追加することによりシュミレータは○でしたが、実機が×でした。
頂いたキーワードでもう少し調べてみることにします。

793 :
初めてiPhoneアプリをiPadでも使えるようユニバーサル化しているのですが、Resoure-iPad内のxibを読み込んでくれません。色々検索して試してはいるのですが...どなたかお力添えをよろしくお願いします...

794 :
>>793
>Resoure-iPad内のxibを読み込んでくれません。
なにそれ

795 :
>>793
xibのプロジェクトの参照を削除して
xibをプロジェクトに追加し直すくらいしか思いつかないなぁ
それでダメなら
新規にxib作成して読めるかテストしてみたら

796 :
高速列挙についてですが、「順番が保証されない」との記述が多数なのですが、
http://teapipin.blog10.fc2.com/blog-entry-220.html
↑こちらには「順番が保証されている」となっていて混乱しています。
どちらが正しいのかご存知の方がいらっしゃったら、教えていただけると幸いです。

797 :
>>793
Info.plistにそれぞれの名前を指定出来る。Universalのnew project作って見てみ。

798 :
>>796
Arrayは配列だからobjectatindexが使える。順番を持たないのはnsset。

799 :
NSArrayの高速列挙は、順番を保証してるよ。

800 :
高速列挙とソウでない場合の処理速度の比較記事があった
比較すると高速列挙は早いんだね。
たぶん、体感的にはわかんないんだろうけど。
ttp://d.hatena.ne.jp/mosa003/20120229/1330508447

801 :
ループ毎に -[NSArray count] を使うのは、遅くなるわな

802 :
>>796
For collections or enumerators that have a well-defined order―such as an NSArray or an NSEnumerator instance derived from an array―
the enumeration proceeds in that order,
so simply counting iterations gives you the proper index into the collection if you need it.
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocFastEnumeration.html#//apple_ref/doc/uid/TP30001163-CH18-SW4
とあるから「順番が保証されている」のでしょう
心配ならば、これを使えばよいと思う
- (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))block;


803 :
クラッシュログについて質問です…
アップデートしたらクラッシュする! という問い合わせが多数あったのですが、
そのクラッシュログがこれと全く一緒なんです
iOS crash log, backtrace not available
http://stackoverflow.com/questions/12957605/ios-crash-log-backtrace-not-available
アプリが起動する前にクラッシュしてるってことでいいのでしょうか?
どこがバグってるんだろうと思ってずっと悩んでます…
どうかお力を…

804 :
>>803
自分でダウンロードしてみて、開いてみたら?
アプリが開くまえにクラッシュしたら、例のストアのバグ。
アプリアイコンをタップして開きかけたと思ったら、すぐに戻る。

805 :
>>804
自分の端末ではすべてうまく起動するんです…
例のストアのバグというのは? 連続して質問して申し訳ありません…

806 :
>794 >795 >797
ありがとうございます。Build PhasesにNibを追加し、画面遷移の場面で振り分けたら何とかできました。
画面遷移の部分全てで振り分けなければならないのであまりスマートな方法ではないのだと思いますが...
さらに初歩的な質問なのですが
hogeVC = [[HogeViewController alloc] initWithNibName:@"HogeViewController" bundle:nil];

hogeVC = [[HogeViewController alloc] init:sender.tag - 100
brightness:delegate.mBrightness
mode:delegate.mRightToLeft];
を同時?に行う為にはどうすればよいのでしょうか?
上の方法でやるとinitWithNibNameを使っているためinit:brightness:modeでやっていた箇所でつまずいてしまいました。
ヒントよろしくお願いします。


807 :
>>805
それはストアからダウンロードしたもの?
それが動くならストアのバグではないんでないの。
ストアのバグはそのリンクのFairplayのバグだよ。

808 :
ストアからDLしたものが起動しないことは人のアプリでもたまにある。そんときは削除してDLしなおせば大抵動く。
そもそも起動しないアプリが審査を通るはずないのだから。

809 :
>>807
はい、ストアからダウンロードしました…
一応アップルに聞くことにしましたが、日曜日なので結果わかるのはまだまだ先になりそうです

810 :
>806 すみません。とんでもない勘違いをしており自己解決致しました。

811 :
viewDidLoad内で画面に表示するUILabelとかを書いているのですが、
この画面に遷移するときのトランジションの後に時間差で描画されるのが気になっています。
全ての読み込みが終わるのを待ってから遷移したいのですがどうすればいいのでしょう。

812 :
>>811
viewDidAppearに書いてんじゃないの?

813 :
>>811
viewWillAppearにかいてみたら?

814 :
アプリ内で販売出来なくなってるー(`・ω・´〃)
これってブラウザでサイトから買わせないと駄目なの??

815 :
A6x8個 8GBメモリとかで動くMacOS XIのプロジェクトって既にあるの?
OS1〜2つ、サービス1つ、メール1つ、サファリ1つ、xcode1つ、とかでA6占有したらバカ速いMacが出来るバッテリーライフ72Hとかでwww

816 :
>>808
>そもそも起動しないアプリが審査を通るはずないのだから
甘い。

817 :
>>815
こっちへ来い
【低発熱】MacのCPUをARMに!【省電力】 
http://anago.2ch.net/test/read.cgi/mac/1217838728/

818 :
extern constについての質問です。
定数宣言に使われるとのことですが、
AddressBookフレームワークのlabel定数を見ますと
下記のように記述されています。
「定数名」は記述されているのですが、
「定数の値」は記述されていません。
「定数の値」は、どこに記述されている(記述する)のでしょうか?
<AddressBook.frameworkのABPerson.hの中>
extern const CFStringRef kABWorkLabel;

819 :
>>818
frameworkの中で記述されている。
が、普通は見れない。

820 :
externは宣言するよ、実装は別の場所だよってこと
コンパイラにシンボルだけ予約してねって伝えてる
Cの基礎だから勉強しておいで

821 :
NSCachedURLResponseでキャッシュされたデータからhtmlのページを開くと、
iPhone用でなくPC用のページが表示されてしまうのですが、どうすればよいのでしょうか?
iPhone用のURLをキャッシュすると、PC用と同じhtmlがキャッシュされています。
でiPhone用のURLをリクエストするとnullが返ってきて、PC用のURLなら開けるといった具合です。
なのでデータ自体は問題なくて、UIWebViewの読み込み時の設定に不足があるのかなと考えておりますが、どうなのでしょうか?
どなたかご教授願います。

822 :
Agentどうしてる?

823 :
>>819,820
レスありがとうございます。

824 :
アプリ開発中のアップデート部分のデバッグについて質問です
既にインストール済みアプリをiTunesを使ってアドホックインストールして
新しいバージョンのアプリをインストールした場合、セーブデータが上書きされるでしょうか?
例えばバージョン1.0.0のドキュメントに保存しているセーブデータの個数を
1.0.1のバージョンでは数個増やして再度保存したい場合、アドホックインストールではうまくいきませんでした
iOS4.xのものでは上書きされたのですが、iOS5.xだと同バージョンのアプリと見なされてしまって新しいバージョンを確認するには
一度アプリを削除して再度インストールする事でしかできませんでした
ただ、これだとセーブデータの上書き処理のデバッグができなくて困っています
こちらの問題の解決方法を知っている方がいましたら回答いただけますか?
よろしくお願いいたします

825 :
>>824
TestFlightというのを使うと早いと思う。
他の人にもデバッグ頼めるし、一石二鳥。

826 :
なんか、>>824の質問もそれに対する>>825のレスもなんかピントがずれてるよね。
ま、俺のつっこみもピントがずれてんだけどさ

827 :
>>824
「セーブデータ」ってなに?

828 :
>>825
回答ありがとうございました
>>827
すみません。セーブデータは忘れてください
単純にiTunesを使ってアドホックインストールする際に旧バージョンのアプリがインストール済みの場合
新バージョンのアプリを同期してインストールしようとしてもiOS5だと同バージョンと同じ扱いにされて新バージョンのアプリがインストールされずに、旧バージョンのままになっているという事です

829 :
>>828
×同バージョン
〇旧バージョン
訂正です

830 :
>>822
User-AgentをiPhoneとセットしたらうまくいきました!
ありがとうございました

831 :
>>826
TestFlightなら、iOSのバージョンに関わらずに、
アドホックでも同じbundleIDならアップデート扱いになるんよ。 便利。

832 :
既出だったらすみません。
UITableViewについて質問です。
セクション数:1固定 CELL数:[NSArray(テーブルに表示するデータ) count]
frameは0, 0, self.view.frame.size.width, self.view.frame.size.height
上記のTableViewを表示する親クラスにデータを渡すだけの4つの子クラスがあります。
ビルドして動かしてみるとテーブルの数とデータは4つとも全て表示されているのですが、
一番下までスクロールすると一番下まで全て表示されるものと一番下のCELLだけ見切れてバウンドされるものがでます。
また、AdHocで同じipaを使用してもインストールし直すと治ったり再発したりとすごく不安定です。
解決方法が分かる方いましたらよろしくお願い致します。

833 :
UIWebView内蔵のアプリで気象庁のページアクセスすると全画面表示されない。
http://www.jma.go.jp/jp/yoho/
Safariでもおなじだったけどこれはなぜですか?
UIWebViewはもちろんScale page to fit = YESにしています。

834 :
>>833
気象庁のこのページを作った人がレイアウトを全画面表示にしなかった。

835 :
質問させてください。単語帳アプリ(TOEIC対策的な感じで、解説が長文化します)を作ろうと考えているのですが、良くあるマーカー機能はどの様に実装すれば良いのか検討つかず困っています(選択部分のテキスト背景色を変えたいのです)。

836 :
おおざっぱな質問やなあ

837 :
uitableviewのセルの移動のアイコンを
常に表示させることは可能でしょか

838 :
質問です。
Xcode4.3でソースコードのバージョン管理したいのですが、
そういう機能はあるのでしょうか?

839 :
>>838
Xcode には git という分散バージョン管理システムが組み込まれていて、
プロジェクト新規作成時に git を有効にするチェックボックスがあるよ。

840 :
すでにsubversion使ってるならそれに乗っかれるし
新規ならgitで

841 :
mercurialも使えるで

842 :
>>835
sizeWithFont:を使えばできそうな気がする

843 :
>>836
申し訳ありません。
も少し詳しく書くと単一のテキストビュー内で複数の書式スタイルを実現するにはどうすれば良いのか?利用者に一部書式スタイルを使用できる様にするにはどうすればいいか?という質問です。
UITextViewではそれは不可能ですのでcoreTextやUIWebViewという手を考えたのですが、どちらも経験がなくやりたい事が出来るのかイマイチ分かりません。


844 :
あれ、textViewやFieldって、iOS6からattributedTextが使えるんじゃない。

845 :
うおおぉ!?
ありがとうございます。
今までiOS6をバカにしてゴメンなさい。
早速調べてまいります!

846 :
マップ以外はiOS歴代最高の環境だよね

847 :
確かにマップは酷いけど、一般ユーザーはそんなにマップ使ってるのかなとは思う

848 :
>>844
どこぞの調べによると、マップなんて問題ない。それよりドックコネクタが変わった方が問題
らしい

849 :
それOSと関係無いじゃん

850 :
コネクタもどうせ半年もあれば100均に来るんじゃね?

851 :
100均の1500円コーナーにな

852 :
[UIView beginAnimations:nil context:nil];

[UIView commitAnimations];
を、二回繰り返して二つのUIImageViewを動かしたいのですが片方しか動きません。
どうすればいいですかね??

853 :
>>839,840,841
レスありがとうございます。
既に作成したプロジェクト(hogeV1)では使えないとしたら、
新規に作成してgitを有効にしたプロジェクト(hogeV2)に、
hogeV1を丸ごとコピーするには、どうすれば良いのでしょうか?

854 :
beginAnimations 〜 commitAnimations は古いよ。
animateWithDuration:animate:completionを使うべき。
ひとつのアニメーション終了後にもうひとつのアニメーションを動かしたいなら、
最初のアニメーションの completion ブロックで次のアニメーションを動かせばいい。

855 :
>>852
時間差つけてる?

856 :
>>853
普通にプロジェクトのルートディレクトリでgit initすればいいよ
あとXcode単体よりコマンドラインを覚えるなりsourcetree使うなりしたほうが柔軟にgitの全機能が使えるよ

857 :
それがUnix屋のそもそもの過ち
git制御はxcodeで右クリックが全て、
差分のエディタから何から何までUnix/Linux系の他のツールより使いやすいから

858 :
いやいやケースバイケースだろ

859 :
コマンドラインは要らない
ただしpurge以外で

860 :
む?すみません今したいのが二つ用意したアニメーションを二つ同時に(内部的にじゃなく見た目的に)やりたいんですが
メソッドを変えるだけでいけそうですかね??nsthreadとか使い方を間違ってると自分で思ってたんですが、、

861 :
>>860
たぶん使い方間違ってる。
それとは別に新しい書き方は使うべき。

862 :
[UIView beginAnimations:nil context:nil];

[UIView commitAnimations];
thread=[[NSThread alloc]initWithTarget:self
selector:@selector(onCoffee)
object:nil];
[thread start];
-(void)onCoffee
{
[UIView beginAnimations:nil context:nil];

[UIView commitAnimations];
}
とりあえず今こんなですねん。そいや作ったスレ側のほうのアニメーションが動いてますねん。。

863 :
なんでスレッドを作るのさ。

864 :
>>862
なんか寒気のするコードだな。
Animationsと複数になっているぐらいだから
同時実行できるはず、
というか、CALayerの日本語ドキュメントに
書いてあったはずでは。

865 :
え?スレッド意味ないけか。ドキュメント読んできます。どーもです。

866 :
UIViewのアニメーションって、メインスレッドのみじゃなかったっけ?
新しい方の書き方を読んでくるついでに、Blocksも読んでおくと理解が進むよ。

867 :
iOSプログラマのなのにシェルコマンドも使えないひとがいるんですね(プークスクス
いや、煽りは別としてマジレスするとlipoもできないじゃん
ライブラリどうしてんの?

868 :
あー、典型的な嫌われるタイプですね。
昔のmac使いみたいに「違いが分かるオレイケてるっしょ?」感がキモイ。

869 :
>>867
たぶんコマンド使わない人はスタティックライブラリを自作したりしない

870 :
質問です。
xibの画面上でテキストフィールドの高さを調節したいのですが、
コード上でしか高さは調整できないのでしょうか?

871 :

質問です。
別環境で作成したマーカー式のARのようなものを移植したいのですが、使用するクラスと手順を教えていただけますか?
具体的には、
1.カメラ起動
2.カメラ用UIViewに表示(上に別のUIViewがあり、ボタンなどがあります)
3.秒間10〜30枚(まだ速度未検証です)カメラ用UIViewの画像をUIImageとして取得
ということがやりたいです。
AVCaptureSessionとAVCaptureVideoPreviewLayerを使用して2の所までは出来ました。
ここからAVCaptureStillImageOutputを毎フレーム実行すればUIImageが取得出来る… と思いきや1回実行するとシャッター音が鳴ります。
どうやら用途が違うようなので、別の方法でカメラの映像をUIImageを作る方法を知りたいです。
よろしくお願いします。

872 :
>>856-859
レスありがとうございます。

873 :
>>871
AVCaptureVideoDataOutputとか使えるかな

874 :
初めて質問します、よろしくお願いします。
iPhoneの開発でiOS5.1でやっております。
Z軸の加速度方向がマイナスでかつ、ボタンが押されたときにResouceに容易した1.aifという
短い音を鳴らすアプリを作っています。
加速度方向はとれているのは確認できたのですが、ボタンを押しても音が鳴らず
困っています。
どのように対処すればよいかどなたか御教授いただけますでしょうか。

875 :
ApnsPHPを使って1万件程度のRュ通知を実行したんですが、
届いている端末/そうでない端末 があって困ってます。
ApnsPHPのログ以外に、このデバイストークンに確かに送りました、というのを知る手段は無いですか。
(テストプログラムでデバイストークンを1つだけ指定した実行では届きます)

876 :
UIViewControllerのviewWillAppearの中で
UIView *view = [[UIView alloc] initWithFrame:self.view.bounds];
CGRect rect = view.frame;
rect = CGRectMake(10, 10, 100, 100);
view.frame = rect;
view.backgroundColor = [UIColor redColor];
[self.view addSubview:view];
CALayer* layer = view.layer;
layer.shadowOffset = CGSizeMake(15, 20);
layer.shadowOpacity = 0.5;
layer.shadowRadius = 5;
と書くと、ちゃんとviewの外側に影が付くんだけど、1行目を
UITableView *view [[UITableView alloc] initWithFrame:self.view.bounds];
にすると影が付かなくなる
UITableViewって影付かないんですかね?

877 :
>>874
>どのように対処すればよいか
問題の切り分け

878 :
>>877
ありがとうございます、874です
すみません、問題の切り分けとはどういうことでしょうか。。。?

879 :
まずは音を鳴らすだけのアプリ作ってみては

880 :
>>878
あなたの書き込みでは問題点も対処法も一切が不明なのです。エスパー待ちというジャンルの質問ですよ。
ボタンを押したが音がなりません。
仮にこれだけの動作に対する問題の対処としても想定される原因と対処は無数にあります。
ボタン。
UIの機能として正しく実装されてるいるのかどうか。
音。実行可能なサウンドファイルなのか。その実装に問題ないのか?
発音。どう言ったメソッドでどのような経緯で呼び出しているのか。
これらが秩序正しく実行されているか。
メインスレッドの処理を他の要素が阻害していないか。等々。
何が原因なのかということです。
原因を探れば問題も分かりますし、質問もできますよ。
問題を切り分けるというのはそういうことです。

881 :
>>879
>>880
ご指摘ありがとうございます!
なるほど、もう少し原因を探ってみたいと思います。
ありがとうございます。

882 :
CoreDataのライブラリでMagicalRecordを試しています。
mogeneratorコマンドを打つと以下のようなエラーがでます。
skipping entity NSManagedObject because it doesn't use a custom subclass
原因はなにが考えられますか?

883 :
NSManagedObject のサブクラス作ってないんじゃ?
定義画面でentity選択してNewから作れるよ

884 :
>>883
返信ありがとうごいます。
ファイルリストからsample.xcdatamodeldをクリッック Entity一覧画面に移動 
AddEntityをクリックPerson Entityを作成 Attribute にnameパラメーターを作成
この後でターミナルから以下のmogeneratorコマンドを打つとskipping entity NSManagedObject because it doesn't use a custom subclass.というエラーがでます。Personファイルが作成されないです。
mogenerator -m sample.xcdatamodeld/sample.xcdatamode -O ./

885 :
UIImagePickerControllerでUIImagePickerControllerSourceTypePhotoLibraryで写真一覧を表示したときに、最初から一番下に最新の写真(直前に撮影した写真)を表示させる方法はありますか?

886 :
>>884
Entity一覧画面のCONFIGURATIONS でClass設定してます?

887 :
解決しました。原因はNsManagedObjectSubClassファイルを作成してなかったからだと思います。
ファイルリストからsample.xcdatamodeldをクリッック Entity一覧画面に移動 
AddEntityをクリックPerson Entityを作成 Attribute にnameパラメーターを作成
ファイルリスト newFile NsManagedObjectSubClassファイルを追加 ← 追加
Person.h .mファイルが作成される ← 追加
mogeneratorコマンドを打つ 作成されたNsManagedObjectSubClassファイルを元に
_Person.h _Person.mファイルが作成される

888 :
それ>>883で言ったやり方のままですね。
これやると、>>886のClassに名前が入るから
うまくいくのだと思います。
先にClass名入れてやればいきなりいける気がしますけどね。

889 :
>>875
届く保証が無いから送った後は無理だと思う。

890 :
昨日マーカー機能について質問した
>>845
です。
結論から言うとIOS6のattributedTextではマーカー機能の実装は無理でした。
文字列の書式スタイル指定がNSmarkrangオンリー。ですので「ユーザーの選択範囲が文章のどの位置に相当し範囲はどれ位か」をキャッチするAPIが必要なのですが、今のところ無い様です。作る気力はありません。
次回iOSアプデに期待します。
そうこうしている内にUIWebView使ってマーカー機能の実装を説明してるブログを発見したのでそちらに浮気します。
iOS6ダメぽ…

891 :
>>889
ありがとうございます。expiryがサンプルにあった30(秒)だったので、これを長めにして送ってみたいと思います。試行錯誤ですね

892 :
範囲はデリゲートで取得できるよ

893 :
現在アプリをアップロードし、レビュー待ちです
CodeSingningはAutomatic selecterを使用していたのですが、
currently matchesをよく見ると、他のプロジェクトの物が表示されていました
Validateでのチェックは通っています
これはレビューにてリジェクトとなるのでしょうか?
それなら自分でリジェクトしようかと思っているのですが、
もう一週間くらいになるので勿体無くて悩んでいます

894 :
>>875
拡張フォーマット使ってるんだろうな?エラーは出てる?
Feedback Service見てるんだろうな?

895 :
>>890
マーカーはsizeWithFont使えば30分かからず実装できるよ。

896 :
テキストフィールドに特定の文字列、例えば"abc"が入力されたとき、特定の画像を表示させたいんだけど、
C言語風に
if(@@.text == @"abc"){
☆☆.image = [UIImage imageNamed:@"○○.jpg"];
}
じゃだめなんかな?

897 :
C言語でも==で文字列の比較はできない

898 :
>>890
自分がダメぽなのをiOSのせいにすんなよ

899 :
ホントに

900 :
>>897
勘違いしてた!
ありがとう!

901 :
::::::::        ┌──────────────┐
::::::::        | >>890がやられたようだな….  │
:::::   ┌───└───────────v─┬┘
:::::   |フフフ…奴は四天王の中でも最弱 …. │
┌──└────────v────┬───┘
| マーカー機能ごときで挫折するとは│
| 我ら四天王の面汚しよ…       │
└────v───────────┘
      AA略

902 :
871です。
>>873
リファレンス見たらそれっぽいので試してみます。
ありがとう

903 :
>>890
そのAPIは既にあるよ。CoreTextという名前だよ。

904 :
>>894
ありがとうございます。おそらく拡張フォーマットだと思います。
(ApnsPHPに頼っていたのせ、そこまで深く追いかけてないです)
エラーらしいエラーは特に出てない感じです。
Feedbackで帰ってきたトークン内に、
届かなかったいくつかの端末のデバイストークンはありませんでした。
ttps://github.com/duccio/ApnsPHP/blob/master/sample_push_many.php
このへんを参考に実装してます。

905 :
>>904
1万台に送ったんだよね?デバイス側は大丈夫?
https://developer.apple.com/library/ios/#technotes/tn2265/_index.html#//apple_ref/doc/uid/DTS40010376

906 :
Appleさんからバッジがなんとかってメールが来たんですが
これはなんですか?

907 :
バッジの種類が変わったよってことじゃね?

908 :
ちょっとお聞きしたいです
iOSのデバイスを無線LANアクセスポイント化し、
さらにローカルWEBサーバー化することは出来ますか?
ようは何台かあるスマホの内
1台(仮にAとする)がAP親機&サーバー化し、
そのAPに他のスマホが接続し、AのWebページをみる
てな感じで考えてるのですが、
やっぱりAP親機になるには脱獄したiPhoneか、
SIMロックフリーのiPhoneとかで
テザリングが出来るものじゃないとダメなんでしょうか?

909 :
>>905
ありがとうございます。デバイス側は同じバージョンで、受け取れているものがあります。大丈夫だと思っています
(つうちセンタをオフにしてるとかはありません…)


910 :
>794 >795 >797
レスありがとうございます。Build Phasesにxibを追加し、遷移の部分でinitWithNibNameで振り分けたら何とか動きました!
遷移の部分全てで振り分けなければならないのであまりスマートな方法ではないと思いますが....

911 :
↑ すみません。間違えて一度書き込んだ内容再度書き込んでしまいました。気をつけます。

912 :
prepareForSegueから次に表示するビューコントローラー(ModalView)に値を渡して、もらった値を書き換えて
dismissModalViewで閉じた所、親側(Modalを呼び出した側)でも書き換えた値が反映されていました。
特に親側に値を渡すコードは記述はしてません。
親側に渡す時もコードを書くと思い込んでいたのですが、これで良いのでしょうか?

913 :
すいません。質問です。
ModalViewController *controller = [[ModalViewController alloc]
initWithNibName:@"ModalViewController" bundle:nil];
controller.delegate = self;
controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:controller animated:YES completion:NULL];
で新しい画面を出そうとしています。
その際の画面の背景を透明にしたいのですが、.xibでbackgroundをclear color
に設定しても透明にならず、黒くなってしまいます。
コードで直接指定してもダメでした。
どなたか透明にする方法を知っていましたら教えてください。

914 :
背景を透過pngにするとか

915 :
>>913
一つ前の画面を透けて見せたいのなら、それは仕様上不可能。
モーダルでかぶせたら、一つ前の画面は自動的に消える。
別の方法でビューをかぶせれば消えない。

916 :
>>913
iPadなら、小さい画面でpresentしたら
下のviewControllerもみえるよ。

917 :
ArchivesのValidateに引っかかった人いますか?
いつも成功するんで、引っかかったらどんなメッセージが表示されるか気になる。

918 :
アイコンの画像抜いて試してみるといいよ

919 :
>>917
armv7sを消すと通るようになる
dev forumでもappleのvalidation serverが問題って話題になってるよ
iPhone5でフルパフォーマンスでなくなるけど動くからとりあえずarmv7sを抜いた

920 :
>>912
値の渡し方によるんじゃね?いまじゃexit iconもあるからね。

921 :
>>919
そこ凄い詰まった
2ラインしか変更してないのにアップデート通らなくなったから
泣いてたよ

922 :
>>919
すみません、まさに今それで引っかかってます。
どうやったら消せるんでしょうか。

923 :
自己解決しました。
http://hmdt.jp/blog/?p=594
を見たら分かりました。

924 :
BlueTooth通信で、送信側と受信側を別のアプリにする事は出来ますか?
送受信するデータ形式は同じ、別のアプリで試してみたんですがうまくいきません

925 :
Retina MacBook 使うと、IBとかSimulatorは、Retina表示になるの?

926 :
913です。
回答していただいた方々、ありがとうございます。
storyboarsでやって見たいと思います。

927 :
>>924
できると思う

928 :
>>907
遅くなりましたが、レスありがとうございました!

929 :
UTF-16で表現された文字列をデコードするにはどうしたら良いですかね?
例えば
NSString *string = @"\u3042\u3045\u3046" // あいう
NSLog(@"%@", string); // あいう
string = [self getUTF16String] // \u3042\u3045\u3046という文字列がはいる
NSLog(@"%@", string); // \u3042\u3045\u3046となってしまう

930 :
>>927
送受信するデータ形式が同じでも最初の他のデバイスを探す所で
いつまで経っても見つからないのですが、どうやるんでしょうか

931 :
そうやretinaのxcodeは見た事ねー
それにしてもIBに拡大機能が欲しい。

932 :
>>929
バックスラッシュ使ってる?

933 :
>>932
そうですね 多分こんな感じになってると思います
string = @"\\u3042\\u3045\\u3046"
ファイルを読み込んでるのですが、それがUTF-8で\u3042\u3045\u3046
みたいに書かれていて当然ながら文字列にしてもデコードされません
\\uで文字列を切り分けて NSLog(@"\u%@", @"3042") みたいなことをしてみましたが
\uの後が16進数じゃないって怒られます 何かいい方法ないですかね

934 :
すみません解決しました

935 :
質問させて下さい。
状況
UiScrollViewでpagingEnableをオンにしている時
やりたい事
0,1,2ページがあるとして0ページ目にコンテンツがある(boolで判定)とすると1→0,1→2ページ目は移動可能だが、コンテンツがない時(boolがNOの時)は1→2ページの移動のみ可能で1→0ページの移動は不可

bool YES;
0←○←1→○→2
bool NO;
0←×←1→○→2

考えたのですがどうやればよいのかわかりません。どなたかご教授願います。

936 :
935ですが自己解決しました。ずっと悩んでたのにここに書き込むと何故か答えが浮かびます。すみません。

937 :
>>935
どうやったら自分の悩みを他人に理解してもらえるのか。
書き込む時に、それを自分で考えて状況を整理すると、おのずと答えが浮かぶのかもしれんな。
あとお約束だけど、できたら解決方法も書いといたほうがいいと思うよ。

938 :
すみません、一画面アプリを作っていて、
画面内のボタンを押すと、その画面全体がpngになって印刷される、
というコードを書こうとしています。
検索して見つけたものをもとに、以下のコードを書いたのですが、
ボタンを押すと、なんとアイコンのボタンがA4の紙一杯に印刷されて来てしまいます。
myDataに画面を格納する、というのがどこかで間違っていると思うのですが、
何が違うか分からなくて困っています。
どうか、お教えいただけませんでしょうか。
コードを入れようとしたら、長くて投稿できませんでしたので、
分けて投稿させていただきます。

939 :
- (IBAction)WebViewPrint:(UIWebView *)myWebView{
UIGraphicsBeginImageContext(myWebView.bounds.size);
[myWebView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *tmp_image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *myData = [[NSData alloc] initWithData:UIImagePNGRepresentation( tmp_image )] ;
NSLog(@"myData:¥n%@",[[NSString alloc] initWithData:myData encoding:NSUTF8StringEncoding]);
UIPrintInteractionController *pic =
[UIPrintInteractionController sharedPrintController];
if(pic && [UIPrintInteractionController canPrintData: myData] ) {
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.jobName =[NSString stringWithFormat: @"job title"];
printInfo.duplex = UIPrintInfoDuplexLongEdge;
pic.printInfo = printInfo;
pic.showsPageRange = YES;
pic.printingItem = myData;
void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) =
^(UIPrintInteractionController *pic, BOOL completed, NSError *error) {
//self.content = nil;
if (!completed && error) {
NSLog(@"FAILED due to error in domain %@ with error code %u",
error.domain, error.code);
}};
[pic presentAnimated:YES
completionHandler:completionHandler];
}}

940 :
ボタンを押すと WebViewPrint: が呼ばれるんだと思うけど、その場合の引数 myWebView には WebView じゃなくてボタンが入ってるよ。
myWebView を引数じゃなくて IBOutlet にするといい。

941 :
>>940さん
outletをviewにあてて、
- (IBAction)WebViewPrint:(UIWebView *)myWebView{
UIGraphicsBeginImageContext(outView.bounds.size);
[outView.layer renderInContext:UIGraphicsGetCurrentContext()];
としたら、viewの画像が出て来ました!
ありがとうございました!!

942 :
UITabBarの背景を透明化して,バックのself.viewが透けて見えるようにしたいのだけど,
(ちょうどナビゲーションバーをトランスルーセントブラックナビゲーションバーに設定するようなかんじ)
サンプルをダウンロードできるとこってどこかにありますか?
ググったやつをまねしても、上手くいかなくて、まずはちゃんとしたコードを勉強したいのです。

943 :2012/11/02
>>938
なんと で吹いたw
TOP カテ一覧 スレ一覧 2ch元 削除依頼
スタバでドヤ顔でMacBook Air弄る奴[レポ用]★4 (749)
ソフトウェアを安く買おうとするのは貧乏人 8人目 (328)
MacBook Pro(Retina非搭載モデル) Part 183 (415)
Homebrew でゾクゾク UNIX ライフ2 (236)
Parallelsで様々なOSをうごかそう Part32 (905)
iPad版BB2Cを待ち望むスレ★2 (731)
--log9.info------------------
木村人気以外にスマップは何か取り得でもあるの? (269)
木村拓哉主演連ドラを懐かしむスレ (212)
草g剛 1 (301)
SMAP vs AKB48 、どっちが歌うまいのか? (227)
【サタ☆スマ】(゚ー゚(^〜^●)【コンビ】part51 (408)
鈴井貴之、SMAPの生歌に「ヒドくないですか?」 (619)
中居正広が福島の避難所を極秘訪問し被災者を励ます (728)
態度がでかい香取慎吾について (345)
■SMAP北京公演、スタンド席の半数は空席ざまあww (528)
木村拓哉はカッコイイ!! (733)
■SMAP香取慎吾、お年寄りを「クソR!」呼ばわり! (225)
【キムラ】木村は立派な猫兄さん【ゴロー】part8 (442)
木村拓哉 2 (656)
祝20周年!SMAP FaN×FuN PARTY 2011 part4 (569)
人気がありすぎるのでSMAP上海万博イベントが中止に (228)
【東日本大震災】被災者に届けたいSMAPの歌 (239)
--log55.com------------------
オルフェーヴル産駒応援スレッド part15
競馬予想TV!〜203回目(´・_・`)
金満血統王国第93巻
(競馬)ゼッケン
【容姿は下,収支は下の下】半笑い119【ゲゲゲのケン】
指定席専用スレッド【56席目】
☆Jump★障害レース総合スレッド83☆飛越☆
【府中】JRA 東京競馬場 51