[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 18:48 / Filesize : 260 KB / Number-of Response : 936
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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

関連スレ等は>>2以降

2 名前:名称未設定 [2009/05/22(金) 11:42:22 ID:8yZn9dHL0]
はい!誰も使わないようなゴミアプリ量産して楽しいですか!?

3 名前:名称未設定 [2009/05/22(金) 11:45:33 ID:AsAPLcDl0]
>>2
楽しいですよ〜
金儲けだけが目的ではないです

関連スレ
本スレ
iPod touch/iPhone ネイティブアプリ製作 ver.11
pc11.2ch.net/test/read.cgi/mac/1242262759/

iTunes Connectの契約関係
iPhone Developer Program Pending Contract 2日目
pc11.2ch.net/test/read.cgi/mac/1234796387/

Xcodeの使い方メイン
Xcode part7
pc11.2ch.net/test/read.cgi/mac/1218774554/

Mac用開発がメイン
Cocoaはさっぱり!!! version.13
pc11.2ch.net/test/read.cgi/mac/1241407525/

Carbonはさっぱり!!!
pc11.2ch.net/test/read.cgi/mac/1217108500/

その他いろいろ
Macでプログラミング{9}
pc11.2ch.net/test/read.cgi/mac/1216824430/



4 名前:名称未設定 mailto:sage [2009/05/22(金) 11:50:26 ID:oCAGvsww0]
なんでム板やiPhone板に立てないの?

5 名前:名称未設定 mailto:sage [2009/05/22(金) 11:52:53 ID:AsAPLcDl0]
なにはともあれ公式のレファレンス
developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html
日本語訳されたドキュメント
developer.apple.com/jp/iphone/library/japanese.html

関連図書(iPod touch/iPhone ネイティブアプリ製作 ver.11より)
【Cocoa全般、Objective-C】
 Mac OS X Cocoaプログラミング(ピアソンエデュケーション 、2002/06)アーロン・ヒレガス著、 村上雅章訳
 HappyMacintoshDevelopinTime 2nd Edition(ビー・エヌ・エヌ新社、2004/6)木下誠
 HappyMacintoshDevlopingTime 3rd Edition(ビー・エヌ・エヌ新社、2006/5)木下誠
 詳解 Objective-C 2.0(ソフトバンククリエイティブ 、2008/5)荻原 剛志
 たのしいCocoaプログラミング(ビー・エヌ・エヌ新社 、2008/8) 木下誠
 Xcodeプログラミング大全(アスキー・メディアワークス、2009/1/6) 柴田 文彦
【iPhone、和書】
 iPhone SDKプログラミング大全(アスキー・メディアワークス、2009/1)木下誠
 iPhone デベロッパーズ クックブック(ソフトバンククリエイティブ 、2009/2)エリカ・サドゥン著、(株)クイープ訳
 iPhoneSDKの教科書(秀和システム、2009/3)赤松正行
【iPhone、洋書】
 The iPhone Developer's Cookbook(Addison & Wesley、2008/10)Erica Sadun
 Beginning iPhone Development(APress、2008/11)Dave Mark
 iPhone SDK Application Development(O'Reilly、2009/1)Jonathan Zdziarski
 iPhone SDK Programming(Wiley、2009/3)Maher Ali



6 名前:名称未設定 mailto:sage [2009/05/22(金) 11:58:48 ID:IXZ/p5lIi]
>>1

関連スレ追加
Objective-C [ObjC part:4];
pc12.2ch.net/test/read.cgi/tech/1239721860/

7 名前:名称未設定 mailto:sage [2009/05/22(金) 11:59:29 ID:Fdy4QDoQ0]
>>1乙!!

8 名前:名称未設定 mailto:sage [2009/05/22(金) 12:07:08 ID:IXZ/p5lIi]
FAQ

Q: Windowsで開発出来る?
A: 出来ません。Macを買ってください。

Q: 一万円払わないといけないの?
A: シミュレータでの開発だけなら無料で出来ます。
実機への転送、App Storeでの配信にはiPhone Developer Program(年会費約一万円)への加入が必要です。

9 名前:名称未設定 mailto:sage [2009/05/22(金) 15:04:00 ID:U9kmBH4Li]
>>1乙っす

10 名前:名称未設定 [2009/05/22(金) 18:40:14 ID:jougPNfW0]
>>1にかいてある項目に番号がふってあるが
4が二つあるので



11 名前:名称未設定 mailto:sage [2009/05/23(土) 00:50:04 ID:jdz0gYss0]
儲かるアプリ作るのっていくらぐらい必要?
1万円で大もうけ出来る?

12 名前:名称未設定 mailto:sage [2009/05/23(土) 01:06:45 ID:D/gQ+UVn0]
おまえじゃ無理ってことははっきり言える

13 名前:名称未設定 mailto:sage [2009/05/23(土) 01:48:23 ID:BnSLHDmJ0]
>>4
iPhone板に立った開発スレがどういう経過を辿ったのか知ってるのか?
それはそれは酷かった

14 名前:名称未設定 mailto:sage [2009/05/23(土) 02:55:51 ID:QI9QCWW70]
ほとんどのアプリはたいして売れないって現実をつきつけられて期待しすぎた信者がファビョったスレだったな。

15 名前:名称未設定 mailto:sage [2009/05/23(土) 03:48:14 ID:6euyOCqYi]
例えば、NavigationController の RootViewContoroller から
MyAppDelegate のメソッドにアクセスするには、どうすればよいのでしょうか?

16 名前:名称未設定 mailto:sage [2009/05/23(土) 04:21:50 ID:aCjfWkCk0]
まずまな板を用意してだな

17 名前:名称未設定 mailto:sage [2009/05/23(土) 04:52:49 ID:xyEEVO7oi]
>>15
MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

18 名前:名称未設定 mailto:sage [2009/05/23(土) 10:57:49 ID:ZfErfsMX0]
まだ一つも売り物出してないんだけどさ、
ITリテラシーの低い情弱どもがレビューで騒いでるのを見ると
一万払ってシコシココード書いたのを小銭レベルで売るのがアホらしくなりそうだわ。

ある意味「信者」がユーザーの大半な方が
ポリシーを共有できていいのかもしれん

19 名前:名称未設定 mailto:sage [2009/05/23(土) 11:09:42 ID:oOLIIYLU0]
みんなに使ってもらおうと無料で公開しても、
「無料なので文句は無いですが、私が欲しかったxxxの機能がないので,
星一個。」
とか書かれるからな。

20 名前:名称未設定 mailto:sage [2009/05/23(土) 11:23:09 ID:rdu8Y63N0]
そりゃxxxの機能つけないのが悪いわ



21 名前:名称未設定 mailto:sage [2009/05/23(土) 11:42:25 ID:t2JTmqfqi]
愚痴はここのスレでなくていいんでないかい?

22 名前:名称未設定 mailto:sage [2009/05/23(土) 12:31:02 ID:tNCkvIFx0]
「iPhoneアプリ開発者が愚痴るスレ」も必要なようだな

23 名前:名称未設定 mailto:sage [2009/05/23(土) 12:38:47 ID:BnSLHDmJ0]
ひとまずPending Contractに関して愚痴るのはこちらでどうぞ
iPhone Developer Program Pending Contract 2日目
pc11.2ch.net/test/read.cgi/mac/1234796387/


24 名前:名称未設定 mailto:sage [2009/05/23(土) 13:15:02 ID:jdz0gYss0]
大して儲からなくて、無料だと文句言われるのかwww
自分用に作って終わるのが一番良さそうだな。

25 名前:名称未設定 mailto:sage [2009/05/23(土) 14:57:22 ID:jYx7SQ8f0]
>>22
愚痴だけじゃあれなんで、雑談スレはどう?
値段の付け方とか、プロモーション方法とか。

26 名前:名称未設定 mailto:sage [2009/05/23(土) 15:07:37 ID:lLKAxyeci]
>>25
あまり乱立させてもあれなんで、ペンコンスレを雑談兼用になればいいんじゃない?
プログラミング以外の話はすべてそこに集約してはどうだろう

27 名前:名称未設定 mailto:sage [2009/05/23(土) 15:38:15 ID:rIHlLX+W0]
>>26
ねーよ
勝手に他スレに迷惑かけるな

28 名前:名称未設定 [2009/05/23(土) 16:00:57 ID:NA36nwQR0]
マ板でやれ。

29 名前:名称未設定 mailto:sage [2009/05/23(土) 16:18:23 ID:i4k86/+5i]
なんでネイティブアプリ開発スレでやらないの?
あそこはもとから雑談含んでるスレだと思ってたが。

30 名前:名称未設定 mailto:sage [2009/05/23(土) 16:21:12 ID:BnSLHDmJ0]
>>28
あそこは何となく向いてない気がする



31 名前:名称未設定 mailto:sage [2009/05/23(土) 17:26:00 ID:Bcjq1COl0]
>>29
低レベルな人が許せない人がいて雰囲気が悪いから
こういう初心者も温かく見てくれるスレがあると
初心者にとってはありがたい。


32 名前:名称未設定 [2009/05/23(土) 17:42:55 ID:NA36nwQR0]
上級者スレは上級者の上級者による愚痴スレだからな

33 名前:名称未設定 mailto:sage [2009/05/23(土) 18:08:52 ID:OfIdOHcS0]
初心者だけが集まらなかったら、それはそれでカオスな事になるだろうけどな。

34 名前:名称未設定 mailto:sage [2009/05/23(土) 18:13:19 ID:OfIdOHcS0]
>>33
×集まらなかったら
○集まったら

35 名前:名称未設定 mailto:sage [2009/05/23(土) 18:38:18 ID:53XDl/WU0]
いろいろ愚痴りたいよなあ。
このスレで愚痴りながら初心者の相手してやろうぜ。

36 名前:名称未設定 mailto:sage [2009/05/23(土) 19:18:07 ID:OfIdOHcS0]
iPhone開発スレの基本リアクション

儲かると聞いたので開発したいです→テメェじゃ儲からねえよ氏ねカス
絶対に売れる自信があるんです→だったら金払って開発依託しろ氏ねカス
本当はアプリを作ってみたいだけなんです→ウエルカム!

37 名前:名称未設定 mailto:sage [2009/05/23(土) 22:02:00 ID:o9rJhs3c0]
.NETのAPIとの対応表が無いのはなんでなのですか?
Javaは用意してあるのにAppleはなぜ用意しないの?

38 名前:名称未設定 mailto:sage [2009/05/23(土) 22:09:51 ID:UGx/BYmC0]
.NETって何?うまいの?

39 名前:名称未設定 mailto:sage [2009/05/23(土) 22:28:24 ID:OfIdOHcS0]
>>38
不味くて食えたもんじゃない

40 名前:名称未設定 mailto:sage [2009/05/23(土) 22:48:24 ID:CeEdkYJ10]
UITableViewについて質問です。
Cellの内容を瞬時に変更することはできるのでしょうか。





41 名前:名称未設定 mailto:sage [2009/05/23(土) 22:51:46 ID:OfIdOHcS0]
>>40
reloadData

42 名前:名称未設定 mailto:sage [2009/05/23(土) 23:45:10 ID:OtvhZpY80]
>>36
儲かると勘違いしてるやつへの忠告は親切心からのものだぜ。

>>37
中身がまるで違うのに対応表なんてムリ。

>>38
できると儲かるらしいよ。Objective-Cより需要は多いだろうし。
しかも、ごちゃごちゃしてるから保守案件でもたんまり稼げる。

43 名前:名称未設定 mailto:sage [2009/05/24(日) 00:03:18 ID:HfsusODG0]
>>37
Javaとの対応表ってマイクロソフトが準備してるんじゃないの?

44 名前:15 mailto:sage [2009/05/24(日) 01:36:22 ID:FocE/Bbri]
>>17
すいません。書き方が悪かったようです。
例えば、新規プロジェクトを Navigation-Based-Application(プロジェクト名「test」) で作成したとします。
testAppDelegate に - (void)hoge; を追加した場合に、rootViewController から hogeメソッドを実行するにはどうすればよいでしょうか?

45 名前:名称未設定 mailto:sage [2009/05/24(日) 02:03:01 ID:UfJY+cJc0]
testAppDelegate *appDelegate = (testAppDelegate *)[[UIApplication sharedApplication]delegate];
[appDelegate hoge];

こんなんでOKです
appDelegateは別の名前でもよい
右側は現在起動中のアプリの代表クラスを取得する命令
そのままだとid値が返るのでキャストしている
アップルのサンプル見る限りではこの方法がスタンダードっぽい
別の方法としてid値をそのまま利用するなら下のような方法もある

id appDelegate = [[UIApplication sharedApplication]delegate];
objc.msgSend(appDelegate,@selector(hoge));

46 名前:名称未設定 mailto:sage [2009/05/24(日) 02:04:50 ID:UfJY+cJc0]
最後の行間違えた

誤 objc.msgSend(appDelegate,@selector(hoge));
正 objc_msgSend(appDelegate,@selector(hoge));

47 名前:15 mailto:sage [2009/05/24(日) 02:29:37 ID:FocE/Bbri]
>>45
ありがとうございます。
最初に
[[[UIApplication sharedApplication] delegate] hoge];
これは試していたのですが、キャストしてやればよかったんですね。

これでもうまくいきました。
[(testAppDelegate *)[[UIApplication sharedApplication] delegate] hoge];

48 名前:15 mailto:sage [2009/05/24(日) 03:10:51 ID:FocE/Bbri]
逆に、UIApplicationDelegate のメソッドが呼ばれた時に、
rootViewController が表示されているか判断して、
表示されている場合は、rootViewController のメソッドを実行することも可能なのでしょうか?

49 名前:名称未設定 mailto:sage [2009/05/24(日) 04:32:08 ID:ZqNdpccN0]
UITableViewを継承したクラスのなかで、下記のようなコードで指定行を表示するようにしたかったのですが、
まったく機能しません。

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:12 inSection:0];
[self scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];

書き方間違ってますでしょうか。

50 名前:名称未設定 mailto:sage [2009/05/24(日) 05:30:24 ID:joiQF9IDi]
>>48
if (rootViewController.view.superView) {
[rootViewController hoge];
}



51 名前:名称未設定 mailto:sage [2009/05/24(日) 06:34:29 ID:R4CNlZi90]
>>48
速度を気にしない処理ならNSNotificationでも良いと思う。

52 名前:名称未設定 mailto:sage [2009/05/24(日) 13:17:27 ID:qS58jhxG0]
>>47
そのメソッドだったら、別にキャストしなくても

[[[UIApplication sharedApplication] delegate] hoge];
で全く問題なく動くはず

53 名前:名称未設定 mailto:sage [2009/05/24(日) 15:35:39 ID:CnUiPHWR0]
警告が出るんじゃね?

54 名前:名称未設定 mailto:sage [2009/05/24(日) 15:45:17 ID:rtcNDZ1a0]
>>52
キャストを知ってる初心者も珍しいが、
一応初心者スレなんだし、メッセージングとか理解してないと危ないような
アドバイスはやめとこうぜ。

55 名前:名称未設定 mailto:sage [2009/05/24(日) 15:50:18 ID:KXMS/pef0]
>>52
動くには違いないけど、“全く問題なく”というのは言い過ぎ。

56 名前:名称未設定 mailto:sage [2009/05/24(日) 16:59:26 ID:CnUiPHWR0]
便乗すまん
キャストが正しいかどうかってどうやって判断すりゃええのん?
動的に型をチェックする方法がわからん

57 名前:52 mailto:sage [2009/05/24(日) 17:15:20 ID:qS58jhxG0]
確かに警告は出るが。。 >>47 は警告がでるけど動く事は、当初から認識してたのか

>>56
if( [object isKindOfClass:[Hoge class]]] )

または isMemberOfClass:

またクラス名の文字列を取得するのは, MacOS X だったら className だったんだけど、
iPhone だとこのメソッドが無いみたいで [[object class] description] で取得できる


58 名前:名称未設定 mailto:sage [2009/05/24(日) 17:36:55 ID:2LnMxi26i]
>>57
NSString * NSStringFromClass(Class class);
だよっ!

59 名前:名称未設定 mailto:sage [2009/05/24(日) 17:44:50 ID:3K8kbShj0]
>>57
つNSStringFromClass([Hoge class]);

60 名前:名称未設定 mailto:sage [2009/05/24(日) 17:45:54 ID:3K8kbShj0]
>>58
ごめ。かぶった



61 名前:名称未設定 mailto:sage [2009/05/24(日) 17:45:55 ID:CnUiPHWR0]
>>57-58
ありがとう!

62 名前:名称未設定 mailto:sage [2009/05/24(日) 19:00:23 ID:t1CYAEmk0]
皆さん、開発マシンは、何使ってます?
白ポカリでも、十分?
まだマックは未保持。

63 名前:名称未設定 mailto:sage [2009/05/24(日) 19:08:47 ID:Xrvo4hQM0]
全然OK。

64 名前:名称未設定 mailto:sage [2009/05/24(日) 20:36:52 ID:c0Q42Y+d0]
ポカリじゃ開発は難しいでしょ

65 名前:名称未設定 mailto:sage [2009/05/24(日) 20:51:57 ID:P0A7Ebu20]
>>62
> 白ポカリ
白ポカリや青ポカリじゃ無理。

66 名前:名称未設定 mailto:sage [2009/05/24(日) 21:00:29 ID:KXMS/pef0]
どんな餌でも釣れるスレだな

67 名前:名称未設定 mailto:sage [2009/05/24(日) 21:08:15 ID:c2tZcjh50]
こんちには みさなん おんげき ですか? わしたは げんき です。
この ぶんょしう は いりぎす の ケブンッリジ だがいく の けゅきんう の けっか
にんんげ は もじ を にしんき する とき その さしいょ と さいご の もさじえ あいてっれば
じばんゅん は めくちちゃゃ でも ちんゃと よめる という けゅきんう に もづいとて
わざと もじの じんばゅん を いかれえて あまりす。
どでうす? ちんゃと よゃちめう でしょ?

68 名前:名称未設定 mailto:sage [2009/05/24(日) 21:40:04 ID:y67e8R6Ii]
>>64,>>65
ツッコミたいのをグッと堪えたのに

69 名前:名称未設定 mailto:sage [2009/05/24(日) 22:17:57 ID:t1CYAEmk0]
>>62
自己レスです。
ポカリでは、無理ですね。
ポリカですね。
でも、ポリカでは、つらいですか。

70 名前:名称未設定 mailto:sage [2009/05/24(日) 22:37:00 ID:qS58jhxG0]
>>57-58 こんな関数があったとは(><)

>>69
ポリカ使ってるけど,全然つらくないよ。前が PowerBook だったから、すごい快適。
いろんなアプリをたくさん立ち上げてると,メモリ(2G)が足りない感じがあるし、
画面は大きいのが欲しいと思うときもあるけど。



71 名前:名称未設定 mailto:sage [2009/05/24(日) 22:52:36 ID:KXMS/pef0]
>>70
要するにポリカじゃつらいって事だろ?

72 名前:名称未設定 mailto:sage [2009/05/24(日) 23:04:01 ID:RJimGWo90]
ポリカって何?初心者スレなんだから初心者にも判るように正式名称で書け!

73 名前:名称未設定 mailto:sage [2009/05/24(日) 23:21:25 ID:qIas7pVF0]
>>69
現行のMacBook Whiteなら同じクロックのアルミと近い性能があるから問題なし。
NVIDIA GeForce 9400Mも載ってるし。

74 名前:名称未設定 mailto:sage [2009/05/24(日) 23:39:29 ID:UfJY+cJc0]
>>72
MacBook White
筐体がポリカーボネート製なので略に使用したものと思われる
一応今後も質問ありそうなので以下勝手にまとめる

iPhone向けアプリ開発はCPUにintel製積んでるMacならどれでもできる
デスクトップならMac mini、ノートならMacBookの一番安いのでも可能
明確な「これが出来ないから困ることになる」ってことはない
もちろんより快適にとか言い出せばきりはないので、その辺は導入にかけられる予算次第

75 名前:名称未設定 mailto:sage [2009/05/25(月) 00:11:35 ID:zkLPR6RJ0]
MacBook竹を開発用に買ったんだけど、
Xcodeと外部エディタとIBとシミュレーターと
Finderが開いてるとSafariのドキュメント
見ながら開発できねえや。

マルチディスプレイって、ケーブル買ってくれば
OKなんだよね?

76 名前:名称未設定 mailto:sage [2009/05/25(月) 00:35:31 ID:OjQ9cD6u0]
ディスプレイも買えよ

77 名前:48 mailto:sage [2009/05/25(月) 02:14:11 ID:DqYlnZNsi]
>>50
度々すいません。
その場合、rootViewController はどのように取得すればいいのでしょうか?
rootViewController *viewController = [[rootViewController alloc] ...
とかだと別物になってしまいますよね?

78 名前:名称未設定 mailto:sage [2009/05/25(月) 07:18:32 ID:zxIVntNwi]
>>77
App Delegateがインスタンス変数として保持し、そのメソッドのなかで>>50
または、>>51で言われているようにノーティフィケーションを使い、View Controller側の処理はView Controllerに自分でやらせる。
かな。

79 名前:名称未設定 mailto:sage [2009/05/25(月) 07:25:27 ID:rAO2jp990]
テンプレートの Navigation Controller を使ったアプリだったら,

testAppDelegate のヘッダに、rootViewController を参照する変数を作り、 Interface builder
で rootViewController と接続する。
(testAppDelegate がnavigationController とつながっているのと同じようにrootViewControllerをつなげる)


また別のやり方では, 
[navigationController topViewController] が rootViewController であるかどうか判定する。
判定のやり方は>>57

80 名前:名称未設定 mailto:sage [2009/05/25(月) 15:31:11 ID:KHXiKz4i0]
>>78,79
ありがとうございます。

以下の方法で、やりたいことが実現できました。

if ([NSStringFromClass([[navigationController topViewController] class]) isEqualToString:@"RootViewController"])
{
[[(RootViewController *)[navigationController topViewController] titleLabel] setText:string];
}



81 名前:名称未設定 [2009/05/25(月) 17:42:23 ID:6p17fcAq0]
動的にnavigationItemを追加したり、
削除したりって変更したりってどうやったらできるんだろうか?

pushとかpopしてnavigationItemが変わってるっていうならわかるんだけど、
例えば、UIViewにボタンが設置してあって、
そのボタンを押したらnavigationItemが変わるみたいな。

82 名前:名称未設定 mailto:sage [2009/05/25(月) 18:03:46 ID:ywUYztJz0]
>>81
UINavigationItemクラスのプロパティで変更できるよ。

UIBarButtonItem *button = [[UIBarButtonItem alloc] 〜]
self.navigationItem.rightBarButtonItem = button;
[button release];

とか。


83 名前:名称未設定 [2009/05/25(月) 19:09:39 ID:6p17fcAq0]
>>82
例えば、UIViewにボタンを設置して、
そのIBActionにUIBarButtonItemを追加するようなメソッドを指定しても、
ボタンを押しただけぢゃ追加されないと思うよ。

教えてくれた方法だと、例えばpopとかpushとかしてViewを再描画しないと追加されないでしょ?
それを、動的にボタンを押しただけで描画されるにはどうしたらいいのかな?ってわけさ。

84 名前:名称未設定 mailto:sage [2009/05/25(月) 19:56:24 ID:EKln9c8Z0]
>>83
ボタン押され時に再描画もすりゃいいじゃん。setNeedsDisplayとか使ってもいいし。

85 名前:名称未設定 mailto:sage [2009/05/25(月) 20:54:21 ID:IA5t1qp90]
こっちのスレの方が元スレより正常運転してるのが滑稽だ…

86 名前:名称未設定 mailto:sage [2009/05/25(月) 22:24:51 ID:JwgyP9yHi]
本スレは雑談だけに使えばいいさ
あっちにコード書いても“基本おじさん”に一括されて終わりだし

87 名前:名称未設定 mailto:sage [2009/05/25(月) 22:27:28 ID:8gjwm5L3i]
基本おじさんw

88 名前:名称未設定 mailto:sage [2009/05/25(月) 23:18:10 ID:fyqEhjML0]
You can't do it !

89 名前:名称未設定 mailto:sage [2009/05/26(火) 05:43:28 ID:S6udQu0+0]
禿携帯買って、禿げマク買うなんて釣られ過ぎ。
大して儲からないのに、どんだけ金使うの。

90 名前:名称未設定 [2009/05/26(火) 06:37:29 ID:TTeGRdfg0]
ViewControllerを二個つかったアプリを作っているんですが、画面回転に追従してこないのは何が原因なんでしょう?

AppDelegate内にAViewController,BViewControllerをIBで作成して各コントローラ単独では回転できるんですが、AViewControllerからAppDelegate経由でBViewControllerを呼び出すとAViewControllerは横画面なのにBViewControllerは縦画面になっちゃうんですが。
viewWillAppearで縦横を判断して回転させるみたいな処理が必要なんでしょうか?




91 名前:名称未設定 mailto:sage [2009/05/26(火) 08:48:37 ID:NTffK6lV0]
>>89
それが現実歪曲空間ですよ

92 名前:名称未設定 mailto:sage [2009/05/26(火) 10:43:36 ID:oF6CeKYh0]
>>89
こんなに楽しい遊びはないだろ。Frameworkきれいだし。

93 名前:名称未設定 mailto:sage [2009/05/26(火) 10:44:33 ID:oF6CeKYh0]
>>90
表示されてないときは、向きが管理されてない。

94 名前:名称未設定 mailto:sage [2009/05/26(火) 11:35:09 ID:Wz5MtZnn0]
表面だけ眺めてても見えないような、新たな使い方を発見する度にしびれるな


95 名前:名称未設定 mailto:sage [2009/05/26(火) 11:59:48 ID:iwboRq210]
>>90
どういうタイミングで、ってのは気にした事も無かったんだけど、
とりあえず
shouldAutorotateToInterfaceOrientation:
がちゃんと実装されていれば自動的に回転してるなあ
参考にならなくてスマン

>>89
海外旅行、ダイビング、登山、ドライブetc
大概の趣味はもっと金かかるぞ

96 名前:90 [2009/05/26(火) 13:04:18 ID:FJN1T14X0]
shouldAutorotateToInterfaceOrientationはYESを返す様にしているからBViewControllerの画面を表示させてから回転させるときちんと回転するんですよ。
AViewControllerで横画面にした状態からBViewControllerを呼び出すと縦に戻される原因が何かわからないんです。

>>93
viewDidAppearでも良いんですが自前で回転させるしかないの?

97 名前:名称未設定 mailto:sage [2009/05/26(火) 13:13:30 ID:y1bOQPGSi]
>>96
AとBをさらに一つのView Controllerに入れて管理すればできそう。
試してなくてゴメンだけど。

98 名前:名称未設定 mailto:sage [2009/05/26(火) 13:15:26 ID:Y2jToh1H0]
>>90
>ViewControllerを二個つかったアプリを作っているんですが、画面回転に追従してこないのは何が原因なんでしょう?

ContainerView的なものに入れ子にしてContainerViewControllerに回転の処理を書けば?
僕も試してそうなったから、結局入れ子にした。


99 名前:90 [2009/05/26(火) 13:35:19 ID:FJN1T14X0]
>>97-98
ひんとをアザース!www

100 名前:名称未設定 [2009/05/26(火) 13:39:03 ID:VP1JtW+60]
iPhoneのホーム画面UIを自作しようと思うんですけど、
アイコンをソートしたとき、グリッドに沿って移動するような動きをしますよね?
そこでつまずいていまして。。。
みなさん、作るとしたらどんなView構成で、どんなメソッド使いますか?

ちなみに、僕は今、UIViewにscrollViewとpageControllerが乗っていて、
scrollViewにUIView(これがアイコン)を乗せています。
各々のスクロール、タッチ、ドラッグはUIViewのtouch系メソッドで検出しています。




101 名前:名称未設定 [2009/05/26(火) 13:48:07 ID:VP1JtW+60]
>>100です。
自己解決したっぽいです!
お騒がせしました。

102 名前:名称未設定 mailto:sage [2009/05/26(火) 13:48:55 ID:Uk9k4a9w0]
自分だったら、
>各々のスクロール、タッチ、ドラッグはUIViewのtouch系メソッドで検出しています。

はやらない。アイコンの view はタッチに無反応となるようにして、
scrollView (または別のオブジェクト)が各アイコンのタッチ、移動などを管理するようにする。
他のアイコンの移動アニメーションなんかが楽になると思うから。

103 名前:名称未設定 [2009/05/26(火) 14:04:32 ID:VP1JtW+60]
>>102
とても参考になりそうです。
scrollViewのスクロールは、おおもとのUIViewControllerにデリゲートメソッドを書いています。
そのUIViewControllerから、アイコンのtouchを検出するにはどうしたらいいんでしょう?

アイコンは、アイコン用のUIViewクラスを複数呼び出してscrollViewにaddSubViewしてます。

104 名前:名称未設定 mailto:sage [2009/05/26(火) 14:14:16 ID:Uk9k4a9w0]
scrollView のサブクラスの touchesBegan... でviewController を呼ぶとか。

アイコンの位置は決まった場所なんだから計算して分かるし、pointInside:withEvent: で
判定してもいいし。

105 名前:名称未設定 [2009/05/26(火) 14:52:18 ID:VP1JtW+60]
>>104
僕は頭が足りないので理解度50%ですけど、
scrollViewのscrollViewDidScroll...と、touchesBegan...って共存できないと思うんですよね。

アイコンたちに、viewControllerのプロパティを設定しておいて、
そこからviewControllerにアクセスして。。。という方法に変更しようかと思います。
ドラッグ中の当たり判定は、透明のviewをscrollViewの上にグリッドに沿って設置して、
viewControllerから見るようにしようかと思います。

106 名前:名称未設定 mailto:sage [2009/05/26(火) 15:04:28 ID:Uk9k4a9w0]
>>105
MyScrollView に touchesBegan...を実装して,そこで

[ self.delegate scrollViewDidAcceptTouch: ...];
[super toucehsBegan...];

のように、タッチイベントがあった事を delegate か viewController に教えてやる。

あと、UIScrollView は意味不明な挙動をする事が多いから,サブビューのアイコンがタッチイベントを
受け付けるようにすると,後々大変かも?ってのもある。
(例えば,ページ切り替えジェスチャとアイコンタッチのジェスチャとが共存しにくいとか。)

107 名前:名称未設定 [2009/05/26(火) 15:14:29 ID:VP1JtW+60]
>>106
なるほど!理解しました!

>例えば,ページ切り替えジェスチャとアイコンタッチのジェスチャとが共存しにくいとか。

まさに、昨日苦戦して分岐分けしたところだ!
現状、ドラッグ開始したらscrollViewがスクロール禁止するようにしてるんだけど、
そのドラッグ開始のタイミングが微妙。
急ぎすぎると、スクロールしちゃうとかってバグがあったから、
こっちのほうが断然いけそうな気がする。

108 名前:名称未設定 [2009/05/26(火) 15:56:01 ID:VP1JtW+60]
>>106
やってみました。
一応、scrollViewからtouchを検出しました。
そこで、1つ疑問が。。。scrollViewに乗ってるアイコンたち、
どれがタッチされたかとかって、座標で見るしかないのかな?

109 名前:名称未設定 mailto:sage [2009/05/26(火) 16:52:57 ID:jIp8m6d70]
以下のコードでは、okMethodは実行できますが、ngMethodは実行時にエラーになります。

@interface MyObject:NSObject{
NSMutableString *myValue;
}
@property (retain) NSMutableString *myValue;
@end

@implementation MABValueModel
@synthesize myValue;

-(void)okMethod{
NSMutableString *_inputValue = [[NSMutableString alloc]initWithString:[self myValue]];
[_inputValue deleteCharactersInRange:NSMakeRange(0,[[self myValue] length]-1)];
[self setMyValue:[NSString stringWithFormat:@"%@",_inputValue]];
[_inputValue release]
}
-(void)ngMethod{
[[self myValue] deleteCharactersInRange:NSMakeRange(0,[[self myValue] length]-1)];
}

違いは、NSMutableString のクラスメソッドdeleteCharactersInRange:を、
propertyであるNSMutableString *myValueに実行させるか
一時変数のNSMutableString *_inputValueに代入してから実行させるかだけの
違いだと思うのですが、なぜ一方は実行できて、もう一方はエラーになるのでしょうか。
効率で考えると、一時変数の確保も解放もしないngMethodの方が良いと思っているのですが。
どなたか、このふたつの違いをお教えください。
cocoaスレで聞くべきかもしれませんが、宜しくお願いします。

110 名前:109 mailto:sage [2009/05/26(火) 16:55:07 ID:jIp8m6d70]
@implementation の行を間違えましたので書き換えました。
すみません。

以下のコードでは、okMethodは実行できますが、ngMethodは実行時にエラーになります。

@interface MyObject:NSObject{
NSMutableString *myValue;
}
@property (retain) NSMutableString *myValue;
@end

@implementation MyObject
@synthesize myValue;

-(void)okMethod{
NSMutableString *_inputValue = [[NSMutableString alloc]initWithString:[self myValue]];
[_inputValue deleteCharactersInRange:NSMakeRange(0,[[self myValue] length]-1)];
[self setMyValue:[NSString stringWithFormat:@"%@",_inputValue]];
[_inputValue release]
}
-(void)ngMethod{
[[self myValue] deleteCharactersInRange:NSMakeRange(0,[[self myValue] length]-1)];
}

違いは、NSMutableString のクラスメソッドdeleteCharactersInRange:を、
propertyであるNSMutableString *myValueに実行させるか
一時変数のNSMutableString *_inputValueに代入してから実行させるかだけの
違いだと思うのですが、なぜ一方は実行できて、もう一方はエラーになるのでしょうか。
効率で考えると、一時変数の確保も解放もしないngMethodの方が良いと思っているのですが。
どなたか、このふたつの違いをお教えください。
宜しくお願いします。



111 名前:名称未設定 mailto:sage [2009/05/26(火) 17:17:18 ID:Uk9k4a9w0]
>>1
>4. 質問は可能な限り具体的に。ただ「エラーが出ます」では
> エスパーかスタンド使いでなければ答えられません。エラー内容をちゃんと書きましょう。


112 名前:名称未設定 [2009/05/26(火) 17:22:35 ID:VP1JtW+60]
>>110
エラーとは関係ないけど、とりあえず、代入は必要ですよね?

-(void)ngMethod{
myValue = [[self myValue] deleteCharactersInRange:NSMakeRange(0,[[self myValue] length]-1)];
}

113 名前:名称未設定 mailto:sage [2009/05/26(火) 17:44:54 ID:7HZTBIqY0]
>>112
必要ない。っていうか、void だし…適当やなぁ…

>>109
myValue が nil と見た。あと、インスタンス変数にアクセスするのに、いちいち
[self myValue] なんてしなくていいよ。

- (void) ngMethod {
 if (!myValue || [myValue length] == 0)
  myValue = [[NSMutableString alloc] initWithString:@"empty"];
 else
  [myValue deleteCharactersInRange:NSMakeRange(0, [myValue length]-1)];
}

114 名前:110 mailto:sage [2009/05/26(火) 17:45:44 ID:jIp8m6d70]
>>111
すみません。
このメソッドが実行されると、デバッガコンソールに
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attempt to mutate immutable object with deleteCharactersInRange:'
と表示されます。
[self myValue]
は、NSMutableStringです。

>>112
そうなんですか
[_inputValue deleteCharactersInRange:~~~]
では、_inputValueの中身の文字列が変更されたので、
[[self myValue] deleteCharactersInRange:~~~]
とすると、[self myValue] の中の文字列が変更されるのかと思っていました。

115 名前:名称未設定 mailto:sage [2009/05/26(火) 17:48:42 ID:Y5CyaPOR0]
>>110
myValueを生成してないんじゃね?

116 名前:名称未設定 mailto:sage [2009/05/26(火) 17:48:54 ID:kJ5iINYMi]
>>114
- (void)setMyValue:(NSMutableString *)newValue {
if (myValue != newValue) {
[myValue release];
myValue = [newValue mutableCopy];
}
}

普通プロパティはNSStringにする気がする。

>>112
おい。

117 名前:名称未設定 mailto:sage [2009/05/26(火) 17:55:27 ID:iwboRq210]
生成の時点で正しくmutableとして生成されてないのでは?
あるいはどこか他のところで意図せずNSStringが代入されているとか
ngMethodに
NSLog( [[myValue class] description] );
を入れてみ?

118 名前:名称未設定 mailto:sage [2009/05/26(火) 18:03:26 ID:Uk9k4a9w0]
>>110
>[self setMyValue:[NSString stringWithFormat:@"%@",_inputValue]];

ここでも型が間違っているように,どこかで myValue に NSMutableString ではなくて
NSString をいれて仕舞っているんだと思う。


119 名前:110 mailto:sage [2009/05/26(火) 18:03:55 ID:jIp8m6d70]
>>117
NSLog( [[myValue class] description] );
を入れてみたところ、
NSCFString
と表示されていました。
「意図せずNSStringが代入されている」なのかもしれません。
一度、コード全体を確認してみます。
ありがとうございました。

>>113
> あと、インスタンス変数にアクセスするのに、いちいち
> [self myValue] なんてしなくていいよ。
ホントだ!ありがとうございます。

>>みなさん
ありがとうございました。
ちょっとテストコードで検討してみます。

120 名前:名称未設定 mailto:sage [2009/05/26(火) 18:08:03 ID:7HZTBIqY0]
>>117, 109
クラスクラスタで、NSString, NSMutableString -classは、両方 NSCFString
を返すので、確認できん。respondToSelector: も区別できん(両方 YES)。
なので、プログラマが気をつけるしかないかな?
@try {} @catch{} で、NSInvalidArgumentException を検出するくらいだが、
推奨されてないしね。



121 名前:名称未設定 [2009/05/26(火) 18:11:07 ID:VP1JtW+60]
>>113
>>116

okMethodでsetMyValueしてたからさ。
エラーとは関係ないけど。

122 名前:名称未設定 [2009/05/26(火) 18:13:30 ID:VP1JtW+60]
↑あ、deleteか

123 名前:名称未設定 mailto:sage [2009/05/26(火) 18:16:15 ID:7HZTBIqY0]
訂正 > 113
nil にメッセージ送っても問題ない事を忘れていた…orz

>>121
おぉ、ご明察。先にokMethod呼んでる可能性もあるね。

124 名前:名称未設定 mailto:sage [2009/05/26(火) 18:20:42 ID:TZq+2pwV0]
myValueにどうやって値を設定しているのか分からんが、これだとngMethodでこける。
myObject.myValue = @"hogehogefoofoobar";

こっちはいける。
myObject.myValue = [NSMutableString stringWithString:@"hogehogefoofoobar"];


そりゃそうやんなぁ。

125 名前:名称未設定 mailto:sage [2009/05/26(火) 18:40:04 ID:iwboRq210]
>>120
おおほんとだ
mutableでもNSCFStringが返るね
[object isKindOfClass:[NSMutableString class]]
でも判別できない(immutableなstringでもYESが返る)
ということで>>117は忘れて
まあそこでmutableなstringではないのはたしかっぽいけど

>>116みたいにセッタをかくのが確実だろうね

126 名前:110 mailto:sage [2009/05/26(火) 18:45:43 ID:jIp8m6d70]
いろいろありがとうございます。

ngMethodも動くようになりました。

>>123
myValueを設定している箇所が言われたとおりでしたので、
self.myValue = [NSMutableString stringWithString:@"hoge"];
としました。
ありがとうございました。

>>116
Mutableな時は、setMyValueはダメなんですね。
[self setMyValue :@"hoge"];
[myValue setString:@"hoge"];
self.myValue = [NSMutableString stringWithString:@"hoge"];
この三つの違いが分からなくなっていました。
文字を変更するだけの時はsetString:でokですよね?

127 名前:名称未設定 mailto:sage [2009/05/26(火) 19:01:21 ID:Uk9k4a9w0]
>>126
上から
- myValue 自体が @"hoge" (NSString) に置き換わる(型が変わってしまう)
- myValue のNSMutableStringインスタンス自体はそのままで、示す文字列が @"hoge" に置き換わる
     (あらかじめmyValue がNSMutableString でなければならない)
- myValue 自体が新たな NSMutableString に置き換わる。

128 名前:110 mailto:sage [2009/05/26(火) 19:19:54 ID:jIp8m6d70]
>>127
とてもわかりやすかったです!
ありがとうございました

129 名前:116 mailto:sage [2009/05/26(火) 20:57:45 ID:kJ5iINYMi]
>>126
>self.myValue = [NSMutableString stringWithString:@"hoge"];
>としました。

それはかなり良くない解決法ですよ。

どうしてもngMethodを使いたくて、"とりあえず"動かすなら>>116のほうがいい。
でも一番いいのは多分↓

@interface MyObject:NSObject{
NSString *myValue;
}
@property (copy) NSString *myValue;
@end

@implementation MyObject
@synthesize myValue;

- (void)okMethod {
NSMutableString *newValue = [NSMutableString stringWithString:self.myValue];
[newValue deleteCharactersInRange:NSMakeRange(0, [newValue length] - 1)];
self.myValue = newValue;
}

@end

130 名前:110 mailto:sage [2009/05/26(火) 22:03:53 ID:jIp8m6d70]
>>126
アドバイスありがとうございます。
後学のため、何故に「良くない解決法」なのか
詳しく教えていただけないでしょうか。

ご呈示いただいたメソッドは、仮の変数を使うと言う形ですね。
このメソッドの最後で、newValueはリリースする必要はありますか?

また、この場合、
@property (copy) NSString *myValue;
とした方が
@property (retain) NSString *myValue;
よりも良いのはなぜなのでしょうか?
self.myValue = newValue;
の時に、newValueのインスタンスそのものではなく、
newValueの中身(の文字列)がコピーされると言う認識で
あっていますか?

すみません、基本が分かっていない質問で申し訳ないです。



131 名前:90 [2009/05/26(火) 23:04:54 ID:Q/SHF4PC0]
二個のViewControllerを一つのViewControllerの子にしようとIBを立ち上げたのですがViewControllerの中にViewControllerを入れ子にできないのよね(´・ω・`)
まとめるっていうのはひとつのVIewControllerに複数のUIViewを入れるって事なのかしら?


132 名前:名称未設定 mailto:sage [2009/05/26(火) 23:43:28 ID:Wz5MtZnn0]
>130
そのプロパティにはNSStringの他にそのサブクラスのNSMutableStringなんかも警告無しに代入出来ちゃう。
NSMutableStringだと代入されたあとに中身が変わる可能性があり、
copyなら代入時の内容が次の代入までそのままであることが変なことしない限り保証されるけど、
retainだと保証されない。
副作用さえわかってれば、あとは好き好きだとおもうけど。

変なタイミングで中身変えられて困るようなものつくってるときに、
一緒に開発する相手が信用できない場合はcopyを選ぶかも。


133 名前:名称未設定 [2009/05/27(水) 07:20:49 ID:cHsJy+E80]
>131
ViewだけIBで書いて、あとはコードで書いたほうが手っ取り早い。

134 名前:126 mailto:sage [2009/05/27(水) 09:28:16 ID:4oe84EHTi]
まず、設定する側にNSMutableStringを強要するというのがバグの温床となる。
設定される側が、自分の責任で、NSStringが来ようがNSMutableStringが来ようが適切に処理するようにしておけば、
設定する側は何も気にせず値を入れられるようになり、プログラミングが楽で、バグが出る可能性も低くなるというのは分かってもらえると思います。
そういう意味で、ngMethodを'とりあえず'動かすならその場しのぎの>>126でなく、後々のためにも>>116の方がいいということです。

でも実は>>110のngMethodを動かそうとすること自体が問題です。
今回のngMethodでは
[[self myValue] deleteCharactersInRange:range];
としてしまっていますが、これはゲッタを介して得たインスタンス変数に、セッタを介さずに直接変更を加えてしまっています。
ngMethodは自分のオブジェクトの中でのことなので問題が表面化しませんが、
ngMethodが動くということは、外部からも同じく、セッタを介さずにインスタンス変数を直接変更出来るようになっているということです。

これでは、情報を隠蔽化するというプロパティ、アクセッサの役割を全く無駄にしています。
アクセッサの役割を活かすには、インスタンス変数への変更は
1),内部からインスタンス変数を直接変更する
2),内部からセッタを介して設定する
3),外部からセッタを介して設定する
に限定しておいた方がいい。

135 名前:129 mailto:sage [2009/05/27(水) 09:29:21 ID:4oe84EHTi]
>>134の続き

そこでmyValueをNSStringに変えてしまって、2の方法で目的を実現したのが>>129です。
別の方法として、myValueをNSMutableStringのままで、内部からは1の方法で目的を実現し、
かつ外部からは直接変更出来ないように(実は出来るけど、警告は出る)したのが以下です。

@interface MyObject:NSObject{
NSMutableString *myValue;
}
@property (copy) NSString *myValue;
@end

@implementation MyObject
@synthesize myValue;

- (void)setMyValue:(NSString *)newValue {
if (myValue != newValue) {
[myValue release];
myValue = [newValue mutableCopy];
}
}

- (void)okMethod {
[myValue deleteCharactersInRange:NSMakeRange(0, [myValue length] - 1)];
}

@end

ちょっと神経質すぎるかもしれませんが。

136 名前:130 mailto:sage [2009/05/27(水) 09:29:52 ID:53+HxMiOi]
>>132
ありがとうございます。
なるほど。違い理解できました。
保守性考えた時に良いんですね。

137 名前:134=135=129 mailto:sage [2009/05/27(水) 09:32:34 ID:4oe84EHTi]
ミスった。
>>134=>>129で、>>126へのレスです。
長文連投すいません。

138 名前:110=126 mailto:sage [2009/05/27(水) 09:43:08 ID:53+HxMiOi]
>>134-135
わかりやすい説明ありがとうございます。
良くない理由、理解できました。
コードの詳細は、これから頑張って理解します(笑)
良い流儀、潜在的危険な書き方などは、なかなか難しいですね。勉強します。

139 名前:90 [2009/05/27(水) 09:50:56 ID:q4FN99i/0]
>>133
そげな一言で片付けられるなら初心者スレに来ないですたい(´・ω・`)
1:IBでViewControllerをつくる。
2:新規ソース作成でViewControllerサブクラスを作成。ParentViewControllerとか名付ける。
3:ParentViewController.hのメンバに前述のAViewControllerとBViewControllerを含める。
こんな感じですか?

140 名前:名称未設定 mailto:sage [2009/05/27(水) 11:02:07 ID:te2IdrEg0]
>>139
iPhone用プロジェクトのUtilityアプリだっけ、Main ViewとFlip side Viewを切り替えるやつ、
あんな感じでWindow上にはRootViewControllerを乗っけておいて、
別に準備しておいたViewControllerを二つあとからコードで乗っければ良いんじゃないの?
乗っけ方はRootViewControllerのtoggleView:を参考にして



141 名前:90 [2009/05/27(水) 11:46:28 ID:q4FN99i/0]
なるほど。Utilityテンプレートを参考にするのですね。
あざーすwwww

142 名前:名称未設定 mailto:sage [2009/05/27(水) 11:55:49 ID:2Y2lfcdv0]
大事な言葉はふざけながら言わないほうがいい。

143 名前:名称未設定 mailto:sage [2009/05/27(水) 11:59:11 ID:0yz1IPK80]
>>142
人生に関しても初心者なんだよ

144 名前:名称未設定 mailto:sage [2009/05/27(水) 12:14:08 ID:mqiaW5Jm0]
まあ、答えてくれた人がリアルで知人・友人ってこともないだろうし、
お礼は一般的な表現にしたほうが良さそうだね
質問する側も答える側も気持ちよく使えるスレになったほうが結果として自分のためになるからね

145 名前:名称未設定 mailto:sage [2009/05/27(水) 13:28:26 ID:0yz1IPK80]
>>144
身近に詳しい人がいたら2chで聞かねーよw

146 名前:90 [2009/05/27(水) 13:38:29 ID:q4FN99i/0]
ありがdは良くてあざーすwwwはダメなの?(´・ω・`)

147 名前:名称未設定 mailto:sage [2009/05/27(水) 13:47:13 ID:CnwAWwcoi]
2chではこれくらい砕けた例の方がうれしいけどな。俺は。

148 名前:名称未設定 mailto:sage [2009/05/27(水) 13:47:53 ID:CnwAWwcoi]
×例
○礼

149 名前:名称未設定 mailto:sage [2009/05/27(水) 13:59:51 ID:g/++ORAl0]
>>146
それは常識で分かれよ

150 名前:名称未設定 [2009/05/27(水) 14:01:56 ID:cHsJy+E80]
>>146
>あざーすwwwはダメなの?

www付ける意味がわからん。
笑われてるみたいだ。



151 名前:名称未設定 mailto:sage [2009/05/27(水) 14:13:57 ID:eTmr/DIti]
Mac系プログラミングスレはお年寄りが多いから、言葉遣いには気をつけた方がいいぞ

152 名前:名称未設定 mailto:sage [2009/05/27(水) 14:17:53 ID:fXcy/FvG0]
ありがdやサンクスコはあってもあざーすwwwはないな。

153 名前:名称未設定 mailto:sage [2009/05/27(水) 14:25:45 ID:0yz1IPK80]
NGワード
・あざーすwww
・教えてエロい人

154 名前:90 [2009/05/27(水) 14:51:14 ID:q4FN99i/0]
>>151
サーセンwww


155 名前:名称未設定 mailto:sage [2009/05/27(水) 14:53:32 ID:mORqVUJu0]
ワロスw

156 名前:名称未設定 mailto:sage [2009/05/27(水) 15:18:09 ID:oyCOwV010]
>>154
>>151は煽りじゃなくて忠告だろ。お前最低だな。

157 名前:名称未設定 mailto:sage [2009/05/27(水) 16:47:26 ID:rQRiXzwK0]
あれで、真剣に謝ってるんだよ。そいういうのリアルに多いから。


158 名前:名称未設定 mailto:sage [2009/05/27(水) 19:38:57 ID:xXgfT+F10]
>>139

[rootViewController.view addSubView:subAViewController.view];
[rootViewController.view addSubView:subBViewController.view];

ControllerじゃなくてViewを入れ子にするんじゃないの?


159 名前:名称未設定 mailto:sage [2009/05/27(水) 19:41:41 ID:te2IdrEg0]
2chだから良いけどユーザーからのバグレポートにサーセンwwwとか返さないでくれよ?

160 名前:名称未設定 [2009/05/27(水) 20:06:01 ID:3QkPjo0K0]
質問させてください。
UIButtonを生成してaddSubViewするんですけど、
そのUIButtonをドラッグさせたいんです。

[button addTarget: self action: @selector(move:) forControlEvents: UIControlEventTouchDragInside];

このように、UIControlを追加して、
moveメソッドで座標を計算してUIButton自体を移動させたいんですけど、
どのようにしたらいいのでしょうか?



161 名前:名称未設定 [2009/05/27(水) 20:07:36 ID:3QkPjo0K0]
>>160の続きです。

Viewを移動するときは、- (void) touchesMoved: (NSSet *) touches withEvent: (UIEvent *) eventで、
CGPoint pt = [[touches anyObject] locationInView: self];
CGRect frame = [self frame];
frame.origin.x += (pt.x - self.startLocation.x);
frame.origin.y += (pt.y - self.startLocation.y);
self.frame = frame;
というふうに、移動するのはわかるのですが、
moveメソッドで、touchesを取得することができないんです。
試しに、UIButton生成時に、@selector(move:touches:)として、
touchesを出力してみると、
<UITouchesEvent: 0xd3ac90> timestamp: 33374.9 touches: {(
<UITouch: 0xd2b320>
phase: Began
tap count: 1
window: <UIWindow: 0xd18880; frame = (0 0; 320 480); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0xd196e0>>
view: <UIRoundedRectButton: 0xd2ba90; frame = (0 0; 50 50); opaque = NO; layer = <CALayer: 0xd2a3c0>>
location in window: {32, 58}
previous location in window: {32, 58}
location in view: {27, 33}
previous location in view: {27, 33}
)}

というような出力がでます。

<UITouchesEvent: 0xd3ac90>の中の<UITouch: 0xd2b320>が取れればいいのかと思ったのですが。。。
どうしたらよいでしょうか?

162 名前:名称未設定 mailto:sage [2009/05/27(水) 20:25:13 ID:22k+iuM/0]
まだリファレンスを通し読みしてるとこだけど、
タッチってタッチイベントがトリガーになってるから
スタート時に触れてる指は検出できないのかな?

163 名前:名称未設定 mailto:sage [2009/05/27(水) 20:43:16 ID:VazsfHjr0]
初心者だと既成のクラスだけを使うことに気が取られちゃうけど、
サブクラスをガンガン作るのが基本だし、楽。

ボタンを UIButton のサブクラスにして、そのクラスの
- (void) touchesMoved: (NSSet *) touches withEvent: (UIEvent *) event

で自分自身を移動させた方が速いような。[button addTarget:... なんてわざわざいらないし。


164 名前:名称未設定 [2009/05/27(水) 20:56:10 ID:s15SM/9n0]
教えて下さい。
オーガナイザに実機が登録できません
DEVICESの自分の実機名の横にある丸いやつは黄色になってます。

165 名前:名称未設定 mailto:sage [2009/05/27(水) 21:02:10 ID:+XMdFu5wi]
>>164
XcodeとiPhone再起動

166 名前:名称未設定 [2009/05/27(水) 21:15:35 ID:s15SM/9n0]
再起動してみました。
現象は変わりませんでした。
オーガナイザには下記のメッセージが出ます。

The Developer Disk Image could not be mounted.
Xcode could not find an appropriate Developer Disk Image to mount
on **** の iPhone. Please contact Apple for the 2.2.1 (5H11) device support package.

翻訳してみると
「Xcodeは、適切なDeveloper Disk Imageを見つけることができませんでした」

iPhoneがおかしいのでしょうか?



167 名前:名称未設定 mailto:sage [2009/05/27(水) 21:20:15 ID:WunSuCD2i]
SDKが古いってことはない?
2.2以前のままだったり。

168 名前:名称未設定 [2009/05/27(水) 21:29:40 ID:s15SM/9n0]
SDKは今年の一月にインストールしたやつです。
これって古いのでしょうか?

169 名前:名称未設定 mailto:sage [2009/05/27(水) 21:40:35 ID:7HWgZ/zji]
最新って3月じゃ。。。
とりあえず、2.2.1のSDKを入れ直してみては?

170 名前:名称未設定 [2009/05/27(水) 21:43:29 ID:s15SM/9n0]
了解しました。
最新のSDKを入れ直してみます。



171 名前:名称未設定 [2009/05/27(水) 22:27:50 ID:s15SM/9n0]
SDK入れ直したら認識しました。
SDKが古かったのですね。勉強になりました。

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

172 名前:名称未設定 mailto:sage [2009/05/27(水) 22:46:25 ID:0yz1IPK80]
早いなw
俺はダウンロードだけで2時間かかった

173 名前:名称未設定 mailto:sage [2009/05/27(水) 23:42:13 ID:wIEF1NkT0]
テレホーダイか?

174 名前:名称未設定 mailto:sage [2009/05/28(木) 00:22:53 ID:HCRi3vQK0]
[window addSubView: viewController.view];

こういう書き方間違ってないですか?

175 名前:名称未設定 mailto:sage [2009/05/28(木) 01:12:27 ID:Jf0hoENE0]
>174
間違っていると感じた理由を述べよ

176 名前:名称未設定 mailto:sage [2009/05/28(木) 03:25:24 ID:CAW0Jk+w0]
>>174
俺もそんな書き方するよ。

177 名前:名称未設定 mailto:sage [2009/05/28(木) 06:54:51 ID:e3ov4l76P]
なんだか挙動がいまひとつ掴めていないので皆の衆のお知恵を拝借致したく候。
フルスクリーン用のUIViewの派生クラスを作っているんですが、ステータスバーの位置でtouchBeganが拾えないのは何故なんでしょう?

やったこと:
1:info.plistでstatus bar initial hiddenをYESに。

2:ViewControllerのdidRotateFromInterfaceOrientationでUIApplicationのStatusbarの向きを明示的に設定。

3:IBでAppDelegateのWindowのframe/boundsを320x480に。StatusbarはNoneを指定。
4:UIViewの派生クラスが含まれるViewControllerのStatusbarはNoneを指定。
5:ViewControllerに含まれるUIViewとUIViewの派生クラスにはframe/boundsを320x480に。

Viewは全てClip subviewしてScale to Fillで統一してます。
コントローラのdidAppearでframe/boundsでCGRectを見るとちゃんと320x480に設定されているんですが、ステータスバーの領域でtouchBeganが飛んでこないっす。
何か足りないんでしょうか。この状態で90度Landscapeにすると画面の右端がステータスバーの幅分だなんだか挙動がいまひとつ掴めていないので皆の衆のお知恵を拝借致したく候。
フルスクリーン用のUIViewの派生クラスを作っているんですが、ステータスバーの位置でtouchBeganが拾えないのは何故なんでしょう?

やったこと:
1:info.plistでstatus bar initial hiddenをYESに。

2:ViewControllerのdidRotateFromInterfaceOrientationでUIApplicationのStatusbarの向きを明示的に設定。

3:IBでAppDelegateのWindowのframe/boundsを320x480に。StatusbarはNoneを指定。
4:UIViewの派生クラスが含まれるViewControllerのStatusbarはNoneを指定。
5:ViewControllerに含まれるUIViewとUIViewの派生クラスにはframe/boundsを320x480に。

Viewは全てClip subviewしてScale to Fillで統一してます。
コントローラのdidAppearでframe/boundsでCGRectを見るとちゃんと320x480に設定されているんですが、ステータスバーの領域でtouchBeganが飛んでこないっす。
何か足りないんでしょうか。この状態で90度Landscapeにすると画面の右端がステータスバーの幅分だけ反応しなくなります。け反応しなくなります。

178 名前:名称未設定 mailto:sage [2009/05/28(木) 06:55:56 ID:e3ov4l76P]
投稿失敗したから二回submitしたらなんか変になった…orz

179 名前:名称未設定 mailto:sage [2009/05/28(木) 07:11:29 ID:e3ov4l76P]
書き直しますた。

なんだか挙動がいまひとつ掴めていないので皆の衆のお知恵を拝借致したく候。
フルスクリーン用のUIViewの派生クラスを作っているんですが、ステータスバーの位置でtouchBeganが拾えないのは何故なんでしょう?

やったこと:
1:info.plistでstatus bar initial hiddenをYESに。
2:ViewControllerのdidRotateFromInterfaceOrientationでUIApplicationのStatusbarの向きを明示的に設定。
3:IBでAppDelegateのWindowのframe/boundsを320x480に。StatusbarはNoneを指定。
4:UIViewの派生クラスが含まれるViewControllerのStatusbarはNoneを指定。
5:ViewControllerに含まれるUIViewとUIViewの派生クラスにはframe/boundsを320x480に。

Viewは全てClip subviewしてScale to Fillで統一してます。
コントローラのdidAppearでframe/boundsでCGRectを見るとちゃんと320x480に設定されているんですが、ステータスバーの領域でtouchBeganが飛んでこないっす。
何か足りないんでしょうか。この状態で90度Landscapeにすると画面の右端がステータスバーの幅分だけ反応しなくなります。


180 名前:名称未設定 mailto:sage [2009/05/28(木) 07:15:45 ID:UEf8HiGki]
>>179
サイズが320x480になってても位置がステータスバー分下にずれたままなんじゃないの?



181 名前:名称未設定 mailto:sage [2009/05/28(木) 07:30:23 ID:e3ov4l76P]
書き漏らしましたがrectのoriginを確認すると0,0なんですが。
他にズレているのを確認する方法ってあるんでしょうか?
IB上でもSize&Positionは0,0に設定されています。

182 名前:名称未設定 mailto:sage [2009/05/28(木) 07:42:50 ID:OWeHaPT2i]
>>181
windowとviewのbackgroundColorを明らかに違う色にしてみたりして確認したら?

183 名前:名称未設定 mailto:sage [2009/05/28(木) 07:54:24 ID:e3ov4l76P]
>>181
なるほど!
Windowを赤
UIViewを緑
UIViewの派生ビューを青にしてみました。
画面は全面青になっているので作成中なUIViewが全画面になっているのは間違いないっぽいです。
WindowsのSpy+みたいに実行中のウインドウを確認できる機能ってXcodeにないんでしょうか。
透明なステータスバーがある様な気がしてならないんですが…

184 名前:名称未設定 mailto:sage [2009/05/28(木) 08:10:00 ID:JkcAL60Qi]
>>183
シミュレータのバグらしい。
実機で試してもなる?

185 名前:名称未設定 [2009/05/28(木) 08:52:22 ID:yUD3Ri7f0]
>>184
orz
情報ありがとうございます。
後ほど実機で試してみます。

186 名前:名称未設定 [2009/05/28(木) 19:53:14 ID:C4C9SL/w0]
質問させてください。

UIViewのアニメーションを使おうと思うのですが、
下記の用にした場合、途中でアニメーションを停止することはできないのでしょうか?

CGAffineTransform startAngle = CGAffineTransformMakeRotation(-1.0f);
view.transform = startAngle;
CGAffineTransform endAngle = CGAffineTransformMakeRotation(1.0f);
[UIView beginAnimations: nil context: nil];
[UIView setAnimationDuration: 1.0f];
[UIView setAnimationRepeatCount: 1e100f];
[UIView setAnimationRepeatAutoreverses: YES];
view.transform = endAngle;
[UIView commitAnimations];

187 名前:179 mailto:sage [2009/05/28(木) 22:16:49 ID:e3ov4l76P]
実機で確認したところ問題無くtouchBeganが拾えましたorz
シミュレータの不具合だそうですが、こういった情報はどちらで見つけられるんでしょうか?

188 名前:名称未設定 mailto:sage [2009/05/28(木) 23:08:12 ID:PW5hzmYx0]
>>187
君がその情報を入手したのと同じ場所だよ。

189 名前:名称未設定 mailto:sage [2009/05/29(金) 00:18:47 ID:uxWuGEcO0]
>>186
beginAnimations〜commitAnimationsによるアニメーションは、変化させている
プロパティと同じプロパティを変更するアニメーションを再設定することで、表示
時間や繰り返し数を変更できる(という仕様らしい)。

だから、提示された例の場合、

[UIView beginAnimations: nil context: nil];
[UIView setAnimationDuration:0];
[UIView setAnimationRepeatCount:0];
view.transform = CGAffineTransformIdentify;
[UIView commitAnimations];

とかすると止まるはず。
view.transformに設定する値は、endAngleと異なっていたら大丈夫
同じだと止まらないかもしれない。

190 名前:名称未設定 mailto:sage [2009/05/29(金) 00:38:17 ID:y8Cu8ZaN0]
Objective-Cのスレってないんですか?



191 名前:名称未設定 mailto:sage [2009/05/29(金) 00:39:56 ID:2dj8vJ7i0]
>>190
一応プログラム板にあるよ
Objective-C [ObjC part:4];
pc12.2ch.net/test/read.cgi/tech/1239721860/
でも過疎ってる...

192 名前:名称未設定 mailto:sage [2009/05/29(金) 02:26:12 ID:3CESnk220]

NSDataとNSStringの変換について質問させてください。
NSData自体はできてる(?)っぽいんですが、NSStringを出力させると何も出ません。
なにか勘違いしているでしょうか?


// テスト用データ作成
NSArray *array = [NSArray arrayWithObjects:@"A", @"B", @"C", nil];
// テスト用データをアーカイバーにてNSDataに変換
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];
// descriptionにて出力 (なんかたくさんバイト文字列の用な物が出る)
NSLog(@"%@", [data description]);
NSLog(@"----------------");
// UTF-8を用いて文字列に変換
NSString *strByte = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
// 出力(何も出ない!)
NSLog(strByte);


193 名前:名称未設定 mailto:sage [2009/05/29(金) 02:44:12 ID:2WCMrySC0]
NSArrayをNSDataに変換したのに
なぜNSDataからNSStringに戻そうとしてるの

194 名前:179 mailto:sage [2009/05/29(金) 06:03:24 ID:YqKcCg+TP]
>>188
なんと!過去ログをもう一度みてきます。
>>193
NSDataをシリアイズした後の戻し方を知りたいんじゃないかな?



195 名前:184 mailto:sage [2009/05/29(金) 06:58:05 ID:AF2ypBX6i]
>>187
公式のデベロッパフォーラムに同じ話題がいくつもあったよ。
あそこは検索使いやすいし、Appleの中の人も答えてくれたりするし、3.0の話しを堂々とできる唯一の場だし、
まだ覗いたことがないなら是非見ておいた方がいい。

196 名前:名称未設定 mailto:sage [2009/05/29(金) 10:16:20 ID:ChTbvyIc0]
>>192
>>194のいうようにNSDataをNSArrayに戻したいのであれば
NSLog(@"----------------");
NSArray *newArray=[NSKeyedUnarchiver unarchiveObjectWithData:data];
//出力
NSLog([newArray description]);

複数の文字列をまとめてエンコードしたいというのであれば
一つ一つdataUsingEncoding:でNSDataを作ってArrayに入れるべき

197 名前:名称未設定 mailto:sage [2009/05/29(金) 11:21:24 ID:3CESnk220]
>>196
>複数の文字列をまとめてエンコードしたいというのであれば
>一つ一つdataUsingEncoding:でNSDataを作ってArrayに入れるべき

実際は文字列を格納した配列ではなく

NSArray ◇-> NSDictionary ◇-> NSString + NSDictionary ◇-> 独自クラス ◇-> NSDictionary

というデータ構造をNSKeyedArchiverにてNSDataにして
それを文字列にしてDBに格納したいと思ってます。
独自クラスは<NSCoding>のプロトコルを実装しています。

NSCodingを実装していればそのルートオブジェクトを [NSKeyedArchiver archivedDataWithRootObject:obj]にて
一気にNSData -> NString とできると思ってるんですが間違ってますか?


198 名前:名称未設定 mailto:sage [2009/05/29(金) 12:03:34 ID:tRjXKpLy0]
つまりは、データベースに格納するために NSData <--> NSString の変換をやりたい
ということでしょう。

>>192 でやった
NSString *strByte = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
がダメだったのは、 data のエンコードが UTF8 ではなかったから。

多分 NSData を更に XML プロパティリスト化(NSPropertyListSerialization)すれば、
UTF8 でエンコードされた XML リストdata になるとおもう。

KeyedArchive NSData <--> UTF8 encoded NSData <--> NSString

ですね。もっと簡単なやり方もあるかも。


>NSCodingを実装していればそのルートオブジェクトを [NSKeyedArchiver archivedDataWithRootObject:obj]にて
>一気にNSData -> NString とできると思ってるんですが間違ってますか?

ただしいです。

199 名前:名称未設定 mailto:sage [2009/05/29(金) 12:05:58 ID:tRjXKpLy0]
>>198
>>NSCodingを実装していればそのルートオブジェクトを [NSKeyedArchiver archivedDataWithRootObject:obj]にて
>>一気にNSData -> NString とできると思ってるんですが間違ってますか?

正しくなかった(><)。 一気に NSData になるけど、そこから NSString は別の手段(>>198のような)
が必要ということです。

200 名前:186 [2009/05/29(金) 13:13:56 ID:RB4EVl7B0]


>>189



201 名前:名称未設定 [2009/05/29(金) 13:17:27 ID:RB4EVl7B0]
>>186です。

>>189
ありがとうございます。
無事、止めることができました。

いろいろ調べていると、UIViewのアニメーションはお手軽だけれどもを重い、
CAAnimationは複雑になりがちだけれども軽いという印象を受けましたが、
実際、どちらの方がよいのでしょうか?

また、CAAnimationにする場合、下記はどのように変更されますでしょうか?

CGAffineTransform startAngle = CGAffineTransformMakeRotation(-1.0f);
view.transform = startAngle;
CGAffineTransform endAngle = CGAffineTransformMakeRotation(1.0f);
[UIView beginAnimations: nil context: nil];
[UIView setAnimationDuration: 1.0f];
[UIView setAnimationRepeatCount: 1e100f];
[UIView setAnimationRepeatAutoreverses: YES];
view.transform = endAngle;
[UIView commitAnimations];

202 名前:名称未設定 mailto:sage [2009/05/29(金) 14:03:39 ID:3CESnk220]
>>198

ありがとうございます!!試行錯誤してできました。

// テスト用データ作成
NSArray *array = [NSArray arrayWithObjects:@"A", @"B", @"C", nil];
// テスト用データをアーカイバーにてNSDataに変換
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];

// NSPropertyListSerializationにてXML形式に変換
NSLog(@"-XML化---------------");
// Property Listの取得
NSString *error;
NSPropertyListFormat format;
NSData *xmlData;
NSString *xmlStr;
id propertyList = [NSPropertyListSerialization propertyListFromData:data mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&error];
// XMLデータ化
xmlData = [NSPropertyListSerialization dataFromPropertyList:propertyList format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];
xmlStr = [[NSString alloc] initWithData:xmlData encoding:NSUTF8StringEncoding];
NSLog(xmlStr);

// 復元テスト
NSLog(@"-復元---------------");
NSData *recoveryData = [xmlStr dataUsingEncoding:NSUTF8StringEncoding];
NSArray *arrRecovery = (NSArray*)[NSKeyedUnarchiver unarchiveObjectWithData:recoveryData];
NSLog(@"%@", [arrRecovery description]);


DBにシリアライズしたデータを格納するパターンってこんな感じなんですかね?
XMLだとデータサイズがちょっと大きいきもするので他のやり方があればお聞きしたいです。


203 名前:名称未設定 mailto:sage [2009/05/29(金) 14:26:20 ID:tRjXKpLy0]
>>202

それだと array -> data -> array -> xml data -> xml string
になってしまってる
property list = NSData なので、わざわざ property list に変換しなくていいよ

>id propertyList = [NSPropertyListSerialization propertyListFromData:data mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&error];
-> 削除

>xmlData = [NSPropertyListSerialization dataFromPropertyList:propertyList format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];

propertyList -> data



204 名前:名称未設定 mailto:sage [2009/05/29(金) 14:46:50 ID:3CESnk220]
>>203
>property list = NSData なので、わざわざ property list に変換しなくていいよ

そうなんですね!
でも言われた変更を加えたのですが落ちるようになってしまいました。


// テスト用データ作成
NSArray *array = [NSArray arrayWithObjects:@"A", @"B", @"C", nil];
// テスト用データをアーカイバーにてNSDataに変換
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];

// NSPropertyListSerializationにてXML形式に変換
NSLog(@"-XML化---------------");
NSString *error;
NSData *xmlData;
NSString *xmlStr;
xmlData = [NSPropertyListSerialization dataFromPropertyList:data format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];
xmlStr = [[NSString alloc] initWithData:xmlData encoding:NSUTF8StringEncoding];
NSLog(xmlStr);

// 復元テスト
NSLog(@"-復元---------------");
NSData *recoveryData = [xmlStr dataUsingEncoding:NSUTF8StringEncoding];
id arrRecovery = [NSKeyedUnarchiver unarchiveObjectWithData:recoveryData];
// ↑ここで落ちる
// -[NSCFData objectForKey:]: unrecognized selector sent to instance 0x528820


xmlStr は<data>要素にバイト文字列の用な物が5行くらい羅列されています。
たびたびすいませんが、なぜ復元で失敗しているんでしょうか?

205 名前:名称未設定 mailto:sage [2009/05/29(金) 16:05:49 ID:tRjXKpLy0]
見落としてた。復元のときに property List の変換が必要だから
propertyListFromData: をつかって、
XML data --> Keyed archive data
の変換をする。変換と逆の順序。

206 名前:名称未設定 mailto:sage [2009/05/29(金) 16:36:39 ID:3CESnk220]
>>205

ありがとう!できました。まだ分からない部分もあるけど勉強します。

// テスト用データ作成
NSArray *array = [NSArray arrayWithObjects:@"A", @"B", @"C", nil];
// テスト用データをアーカイバーにてNSDataに変換
NSData *testData = [NSKeyedArchiver archivedDataWithRootObject:array];

// NSPropertyListSerializationにてXML形式に変換
NSLog(@"-XML形式にシリアライズ---------------");
NSString *error;
NSData *xmlData;
NSString *xmlStr;
NSPropertyListFormat format;
// データをXMLフォーマットのPropertyListに変換
xmlData = [NSPropertyListSerialization dataFromPropertyList:testData format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];
// UTF-8にてNSStringにシリアライズ
xmlStr = [[NSString alloc] initWithData:xmlData encoding:NSUTF8StringEncoding];
NSLog(xmlStr);

// 復元テスト
NSLog(@"-復元---------------");
// XMLのシリアライズデータからNSData作成
NSData *xmlRecoveryData = [xmlStr dataUsingEncoding:NSUTF8StringEncoding];
// プロパティリストの作成
NSData *recoveryPropertyList = [NSPropertyListSerialization propertyListFromData:xmlRecoveryData mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&error];
// プロパティリストから配列を復元
NSArray *arrRecovery = (NSArray*)[NSKeyedUnarchiver unarchiveObjectWithData:recoveryPropertyList];
NSLog(@"%@", [arrRecovery description]);


207 名前:名称未設定 mailto:sage [2009/05/29(金) 20:28:09 ID:GOlLipZzi]
NSMutableArrayって、オブジェクトが入ってたらreleaseする前にremoveAllObjects必ず必要?
それとも、release時に自動で中のオブジェクト消してくれる?

208 名前:名称未設定 mailto:sage [2009/05/29(金) 20:52:04 ID:YKCi9pQg0]
3.0になってから、UICalloutViewのボタンが表示されなくなってしまったのですが
原因分かりますでしょうか?
そもそも、このAPIは使わない方がよいのでしょうか?

209 名前:名称未設定 mailto:sage [2009/05/29(金) 21:06:53 ID:tRjXKpLy0]
ドキュメントにのってないんだから、当然使っちゃダメ。

210 名前:名称未設定 mailto:sage [2009/05/29(金) 21:38:25 ID:jobu0BoV0]
>>202

>XMLだとデータサイズがちょっと大きいきもするので他のやり方があればお聞きしたいです。

配列の中身が文字列限定だけど、

-componentsJoinedByString:
-componentsSeparatedByString:



211 名前:名称未設定 mailto:sage [2009/05/29(金) 22:34:15 ID:uxWuGEcO0]
>>201
うーん、特に同じ内容のアニメーションをさせようとした時に、UIViewのアニメだから
重いとか感じたことはないけどなぁ。
そもそも、UIViewでやる場合はシンプルなことしかさせない(できない)からかもしれ
ないけど。
使い分けは、自分の場合は、できるならUIViewの方を使う。できない内容の場合は
CoreAnimationを使う。
あまりにも内容が複雑になって、どうしても重い場合はOpenGL使うしかないかと。

>また、CAAnimationにする場合、下記はどのように変更されますでしょうか?

このレベルなら機械的に置き換えるだけでできるよ。
ポイントは、明示的にfromValueとtoValueを設定するところで、CoreAnimationの場合の
transformはCATransform3Dを使う必要があるってこと。
この場で打ち込んでるので、タイプミスがあったら堪忍。

CGAffineTransform startAngle = CGAffineTransformMakeRotation(-1.0f);
view.transform = startAngle;
CGAffineTransform endAngle = CGAffineTransformMakeRotation(1.0f);
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform"];
animation.duration = 1.0;
animation.repeatCount = 1e100f;
animation.autoreverses = YES;
animation.fromValue = [NSValue valueWithCATransform3D:CATransform3DMakeAffineTransform(startAngle)];
animation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeAffineTransform(endAngle)];
[view.layer addAnimation:animation forKey:@"testAnimation"];


212 名前:名称未設定 mailto:sage [2009/05/29(金) 22:57:23 ID:3CESnk220]
>>210

なるほど。
結局XMLの<data>がバイト文字列みたいなものになったので大ジョブそうでした。

ただDBに保存したのを取ってきたときにURLエンコードがうまくできてなくて
「 」(スペース)が「+」になっててデシリアライズできなくて泣きそうだった。。。
ttp://iphone-dev.ensites.net/archives/573
これを参考にURLエンコードしたらできるようになりました。


213 名前:名称未設定 mailto:sage [2009/05/29(金) 23:32:22 ID:YqKcCg+TP]
100ミリ秒感覚でsetNeedsDisplayを発行し、drawRect内の描画でCGContextStrokePathを繰り返すと時折チラつくのですがオフスクリーンを明示的に作成してチラつかない様にする方法って無いのでしょうか。


214 名前:名称未設定 mailto:sage [2009/05/30(土) 01:07:31 ID:DscyZOP10]
>>213
秒間100コマなんて描画速度は出せないよ。
オフスクリーンとかの問題じゃないと思う。

215 名前:名称未設定 mailto:sage [2009/05/30(土) 03:27:50 ID:XnfNAeZC0]
>>214
100msだから1/10秒間隔だとおも

216 名前:名称未設定 [2009/05/30(土) 04:53:08 ID:E1dr8Aar0]
sleepのミリSec版ってなんだっけ?

217 名前:名称未設定 mailto:sage [2009/05/30(土) 04:58:56 ID:s1AL00jj0]
そもそもプリエンティブOSではミリセクの制御は無理。

218 名前:名称未設定 mailto:sage [2009/05/30(土) 05:55:41 ID:SlZeqEKnP]
>>214
オフスクリーンとかの問題です。WIndowsやJavaで既に動いているコードなので。

>>215
ネー

リファレンスにはdrawRectはOSが描画をまとめてオフスクリーンに描画するって書いてたんですが本当かよ?って感じです。


219 名前:名称未設定 mailto:sage [2009/05/30(土) 06:10:51 ID:XnfNAeZC0]
>>218
> オフスクリーンとかの問題です。WIndowsやJavaで既に動いているコードなので。

あー・・・うん。 じゃあわかるよね。 それで本当にわからないのかよ?って感じです。

220 名前:名称未設定 mailto:sage [2009/05/30(土) 06:18:54 ID:SlZeqEKnP]
本スレで沸いてた鬱陶しいのが初心者スレにも来てんのかなー。



221 名前:名称未設定 mailto:sage [2009/05/30(土) 06:28:37 ID:XnfNAeZC0]
いや、「WindowsとJavaで既に動いているコードだからオフスクリーンとかの問題です」って
理論のすごさに呆れただけ。レスした俺が悪かった。そこまで書いたら普通はスルー。

222 名前:名称未設定 mailto:sage [2009/05/30(土) 06:48:57 ID:SlZeqEKnP]
えっとそれじゃどう理論的に正しく無いのか教えて下さい。
線や点の描画なんてどんなOSやフレームワークでも似たり寄ったりでしょう?

223 名前:名称未設定 mailto:sage [2009/05/30(土) 06:50:01 ID:SlZeqEKnP]
あー、やっぱり良いです。
10ミリと100ミリの違いも判らない人が混じってるみたいだからそういう人は黙っててくれればおk

224 名前:名称未設定 mailto:sage [2009/05/30(土) 06:50:21 ID:zntYYg6D0]
>>218
>リファレンスにはdrawRectはOSが描画をまとめてオフスクリーンに描画するって書いてたんですが本当かよ?って感じです。

ちなみにその”コード”って
オフスクリーンへの描画
オンスクリーン、オフスクリーンの切替
は自動でやるとの前提で
素直に100msごとにdrawRectさせてる形?

225 名前:名称未設定 mailto:sage [2009/05/30(土) 07:00:21 ID:SlZeqEKnP]
>>224
Strokepathで描画しているので常にView全体を描画しています。
複数のPathの矩形を正直に計算するより320x480ぐらいの領域だったら全部書き直した方が速いのでdrawRectで処理しています。
drawRect自体はその描画機能をタイマーで呼び出しているだけですね。
ビューの作成時と回転時にオフスクリーンを作って描画機能はそのオフスクリーンに描画、drawRectでオフスクリーンへの転送ってのをやりたいだけなのですが。


226 名前:名称未設定 mailto:sage [2009/05/30(土) 07:08:49 ID:DscyZOP10]
>>215
うわ、すまん。勘違いしたorz

227 名前:名称未設定 mailto:sage [2009/05/30(土) 07:17:40 ID:pzmngmvY0]
setNeedsDisplay はいつ描画するかの保証は無い

228 名前:名称未設定 mailto:sage [2009/05/30(土) 07:26:04 ID:SlZeqEKnP]
自動でダブルバッファされるから自前処理は不要という話もあるんですがCocoaで明示的に書くにはどーするんですかね?

pc11.2ch.net/test/read.cgi/mac/1218774554/442

pc11.2ch.net/test/read.cgi/mac/1218774554/445


229 名前:名称未設定 mailto:sage [2009/05/30(土) 07:41:02 ID:jgS4wfwM0]
>>228
他の人が普通に出来てるんだから、おまえのやり方が悪いだけ。
ダブルバッファがどうこうと持論を展開する暇があるならソース晒してみろ。

230 名前:名称未設定 mailto:sage [2009/05/30(土) 07:47:42 ID:SlZeqEKnP]
>>229
「他の人が普通に」ねぇ…知る限りそういう使い方ができるソフトがないから自分で作成しているんですが。

CGContextRef drawContext = UIGraphicsGetCurrentContext();
CGContextSaveGState(drawContext);
(パスの描画なので中略。処理的には全画面でも50ミリ秒以内に十二分に収まる)
CGContextStrokePath(drawContext);
CGContextRestoreGState(drawContext);

匿名だと無責任に好き勝手言えて良いですね♪




231 名前:名称未設定 mailto:sage [2009/05/30(土) 07:56:00 ID:zntYYg6D0]
>230

描画じゃなくて
オフスクリーンとオンスクリーンを制御したい部分のソースってことだよ

って分かってないぽいけど、かなり大恥かいてる状態なので
そういう小馬鹿にした表現はやめたほうがいい

232 名前:名称未設定 mailto:sage [2009/05/30(土) 08:00:45 ID:SlZeqEKnP]
>>231
そのオフスクリーンの作成と転送方法がそもそもの質問なのですが…

初心者スレで恥も何もないでしょう。判らないから相談してるんですし。

233 名前:名称未設定 mailto:sage [2009/05/30(土) 08:12:52 ID:jgS4wfwM0]
>>232
態度が恥ずかしいって意味だろ。それくらい察しろ。
プログラムより先に物を教わる態度を学んでから出直せ。

234 名前:名称未設定 mailto:sage [2009/05/30(土) 08:19:36 ID:SlZeqEKnP]
サーセンwww
説教はどうでもいいから実例示せない素人以下は黙ってろクズがw

235 名前:名称未設定 mailto:sage [2009/05/30(土) 09:12:56 ID:doed5Jub0]
あっちのスレの最初の頃に一度いたな、こんな感じの奴
あんときはマルチスレッドの質問だったっけ
マルチスレッドと描画については当分答えるのひかえることにしようっと・・・。

236 名前:名称未設定 mailto:sage [2009/05/30(土) 09:18:16 ID:pIfyuA7Ti]
>>234
あなたは初心者じゃなさそうなので、ここじゃなく本スレで聞く方がいいと思います。

237 名前:名称未設定 mailto:sage [2009/05/30(土) 11:18:08 ID:uEgo8ORM0]
Nimblekit使った人いますか?

238 名前:名称未設定 mailto:sage [2009/05/30(土) 11:50:35 ID:1XtuN4Hn0]
>>234
貴様はまず状況を的確にかけよ。
チラつくってティアリングの事か?画面全部がチラつくのか?
実機かシミュレータか。


239 名前:名称未設定 mailto:sage [2009/05/30(土) 12:29:32 ID:SlZeqEKnP]
答えるつもりの無い講釈足れる阿呆が多いんでそろそろ遠慮しときます。
初心者スレだけに回答する方も初心者揃いだとは思わなかったwww

240 名前:名称未設定 mailto:sage [2009/05/30(土) 12:32:27 ID:AVMlNc6i0]
10回も書き込まないと分からないとは、
あなたも相当なものですね。



241 名前:名称未設定 mailto:sage [2009/05/30(土) 12:41:55 ID:SlZeqEKnP]
しばらくは俺も煽りに参戦させてもらうから覚悟しとけよw

242 名前:名称未設定 mailto:sage [2009/05/30(土) 12:56:58 ID:jgS4wfwM0]
これほど典型的なキチガいも珍しいな

243 名前:名称未設定 mailto:sage [2009/05/30(土) 12:59:25 ID:SlZeqEKnP]
アンチを作るとコミュニティがどうなるかを知らないほうが馬鹿なんだろうw
俺は楽しいけどなwww

244 名前:名称未設定 [2009/05/30(土) 13:01:59 ID:NiTymq0B0]
君はアンチじゃなくてただの病気だから。病院行きなさい。

245 名前:名称未設定 mailto:sage [2009/05/30(土) 13:03:55 ID:6Gms48oK0]
コミュニティwww

246 名前:名称未設定 mailto:sage [2009/05/30(土) 13:04:20 ID:jgS4wfwM0]
>>243
やめろよ。プロバイダが同じだから俺まで規制されちまう。

247 名前:名称未設定 mailto:sage [2009/05/30(土) 13:15:58 ID:MdmAT6Cqi]
みなさん、荒らしはスルーでお願いします。

248 名前:名称未設定 mailto:sage [2009/05/30(土) 14:29:40 ID:YfPp1FMF0]
>>220
本スレで沸いてた鬱陶しい教えて君ですね、分かります

249 名前:状況(初心者質問スレで) mailto:sage [2009/05/30(土) 16:31:09 ID:Oc4OgA0B0]
俺さ、マンガ書いてんだけど、どうも背景上手く書けないんだよね、これってペンがおかしいんじゃね?
・・・
だってさ、タブレットじゃ書けてるのに書けないから絶対ペンのせい。
・・・
んだよ、どうして俺が書けないか言えないなら黙ってろよ。
・・・
俺を煽るなら俺も煽りに参加させてもらうぜ!アンチ作ったら怖えぇんだぞ?
----------
なんだこの流れ。
ところどころ僅かに見える問題内容から推測すると、
むしろ、機械的に100msタイマーでsetNeedDisplayをどんどん発行してることによる
問題っぽいのだが、何人か指摘してるのに完全スルーしているのは
「俺のやり方は正解で、悪いのはライブラリのせい」と答が決まっているから?

250 名前:名称未設定 mailto:sage [2009/05/30(土) 17:28:43 ID:SlZeqEKnP]
「機械的に100msタイマーでsetNeedDisplayをどんどん発行してることによる
問題っぽい」

はいダウト。
グダグダ言ってないでコード書けよハゲ。



251 名前:名称未設定 mailto:sage [2009/05/30(土) 17:38:41 ID:pQa71Rll0]
この場合コードは書くのではなく消すのが正解だな

252 名前:名称未設定 mailto:sage [2009/05/30(土) 17:50:11 ID:pzmngmvY0]
UIView のサブクラスを作って、以下の drawRect: を実装


NSTimeInterval interval = [NSDate timeIntervalSinceReferenceDate];
double val = sin(interval);
[[UIColor whiteColor] set];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextFillRect(context, rect);
CGRect frame = CGRectMake( 90, 190 + val*100 ,100,100);
[[UIColor blackColor] set];
CGContextStrokeRect(context, CGRectIntegral(frame));

0.1 秒毎に setNeedsDisplay を呼んだ

結果、ぜんぜんちらつかない

253 名前:名称未設定 mailto:sage [2009/05/30(土) 17:53:44 ID:Oc4OgA0B0]
>>251
俺もそう思うんだが、どうにもわかってないっぽい。

254 名前:名称未設定 mailto:sage [2009/05/30(土) 18:33:08 ID:jgS4wfwM0]
>>253
限りなく正解に近いレスが付いてるんだけどな。
叩く事にしか意識が行ってないから気づいてないんだろ。

255 名前:名称未設定 mailto:sage [2009/05/30(土) 18:35:05 ID:doed5Jub0]
いや、まじ相手しないほーがいいって
プロジェクトキャンセルになったらもーこないかもしんないんだし

256 名前:名称未設定 mailto:sage [2009/05/30(土) 19:18:58 ID:SlZeqEKnP]
>>252
いつもそんな負荷の掛からない実用性の無いコードばっかり書いてるの?
ポイントを最低60以上あるPathを10個ぐらいStrokeしてみろよ。始点と終点が欠けるからさ。


257 名前:名称未設定 mailto:sage [2009/05/30(土) 19:21:20 ID:SlZeqEKnP]
>>254
解決したから言えるんだが正解に近いものなんてひとつもねーよボケ。



258 名前:名称未設定 mailto:sage [2009/05/30(土) 19:57:07 ID:jgS4wfwM0]
パスが秒間10コマで動く素晴らしいアプリに★1つ

259 名前:名称未設定 mailto:sage [2009/05/30(土) 21:53:41 ID:pzmngmvY0]
>>257
じゃあ二度とここには来るなよ。

260 名前:名称未設定 mailto:sage [2009/05/30(土) 22:05:06 ID:Oc4OgA0B0]
もうほっときナサ〜イ



261 名前:名称未設定 mailto:sage [2009/05/31(日) 00:54:04 ID:jpNgFdJHi]
みんな優しいなあ・・(T ^ T)

262 名前:名称未設定 mailto:sage [2009/05/31(日) 01:17:52 ID:VJpkOeUT0]
>>257
解決したんだ。おまえ天才かw

263 名前:名称未設定 mailto:sage [2009/05/31(日) 05:54:02 ID:Eq2dFbagi]
うわぁ。なんだこのながれ。
みんな、仕事でやなことでもあったの?

264 名前:名称未設定 mailto:sage [2009/05/31(日) 11:16:36 ID:NXMHIrKxi]
どうやって解決できたのか気になるんだが。
俺はアドバイスが全部的外れというのが真贋つかない。

265 名前:名称未設定 mailto:sage [2009/05/31(日) 12:04:02 ID:mtPp5Itu0]
>>264
もう放っておけよw

266 名前:名称未設定 mailto:sage [2009/05/31(日) 16:09:27 ID:+NhFq/Z90]
ただの負け惜しみなんだから放置でよろし

267 名前:名称未設定 mailto:sage [2009/05/31(日) 16:24:45 ID:y+Zvd1Jz0]
超絶初心者です。簡単すぎる質問だとは思いますが、どうしても分からないので教えてください。

プロジェクト作成->TabBarApplication->UITextfiledをそれぞれのタブ(FirstViewController,SecondViewController)に配置
という状態で,FirstViewController.mからSecondViewController.mにあるメソッドを呼び出すにはどうしたらいいでしょうか?

[オブジェクト名 メソッド名 : 引数]←言葉が間違ってたらごめんなさい
と書いて呼び出すということは分かるのですが、SecondViewControllerがどういう名前で生成されているのか分からず…。
[self nowstateedit : @"test"];
と打つことで同じクラスのは呼び出せるのですが。

とても初歩的な質問だとは思いますが、よろしくお願いします。

参考書として
詳細Objective-c2.0
基礎からのiPhoneSDK
iPhoneSDKプログラミング大全
は持っていますので、参考ページを指示していただけると助かります。

268 名前:名称未設定 mailto:sage [2009/05/31(日) 16:39:32 ID:bd56HHSdP]
直接呼び出すよりはSeconviViewのdelegateをFirstViewに作成するか、UIApplication経由でSecondViewのメソッドを呼び出すかどっちかだな。
楽なのは後者だが正当派なのは前者。どっちを知りたい?

269 名前:267 mailto:sage [2009/05/31(日) 16:44:21 ID:y+Zvd1Jz0]
>>268
素早いレスありがとうございます。
後者の「UIApplication経由でSecondViewのメソッドを呼び出す」でお願いします。
そっちのほうが,今後他の自作クラスのメソッドを呼び出す勉強にもなるような気がするので。

本当に助かります!!

270 名前:名称未設定 mailto:sage [2009/05/31(日) 19:55:25 ID:FYdiRzVx0]
iPhoneでコールバックって多用してもいいのでしょうか
GUIでネットワーク系のイベントを受け取って特定の
イベントを処理させたいです。



271 名前:名称未設定 mailto:sage [2009/05/31(日) 20:45:25 ID:75wSOkSm0]
DTSの苦労がわかるスレだな。

272 名前:名称未設定 mailto:sage [2009/05/31(日) 21:02:05 ID:c4ovGixG0]
>256
物量だけで言うなら、1万以上の頂点数から比べればカスみたいな話しだけどな

273 名前:名称未設定 mailto:sage [2009/05/31(日) 23:01:01 ID:VJpkOeUT0]
>>272
構ってやるなよ

274 名前:名称未設定 mailto:sage [2009/06/01(月) 12:38:48 ID:3T/JjDrp0]
>>243
どうにもならなかったな

275 名前:名称未設定 mailto:sage [2009/06/01(月) 19:41:23 ID:qdPz+P6A0]
≪世界的に有名なオンラインゲーム開発企業でiPhone用ゲームのプログラミング経験者募集≫
ttp://www.daijob.com/jobs/detail/297999

>・iPhone用ゲームのプログラミング経験2年以上
ワロタ

276 名前:名称未設定 mailto:sage [2009/06/01(月) 20:04:11 ID:wVuMCfP80]
>>275
『C、C++ (中級レベル以上)』て。
Objective-Cを使わない気なのか。
いったいどんな情報を基にしてiPhoneアプリ開発するのにその募集要項なのやら

277 名前:名称未設定 mailto:sage [2009/06/01(月) 20:06:50 ID:mf1wbFXe0]
必要経験満たす人なんているんだろうか....

というか英語能力:なしの時点でもう駄目な気がするw(公式ドキュメントとDeveloper Programの英語依存度的に)

278 名前:名称未設定 mailto:sage [2009/06/01(月) 21:12:10 ID:SeYnYzemi]
>>275
年収MAXで500万円って安っ

279 名前:名称未設定 mailto:sage [2009/06/01(月) 21:23:34 ID:9/s3TXqk0]
>276
まあゲームなら最初のviewさえ作ってしまえばあとは
ほとんどC++でいける。

280 名前:名称未設定 mailto:sage [2009/06/01(月) 22:02:16 ID:a7/6CuPR0]
>>275
どう考えても年収350万スタートだな。
そんな条件で仕事しなきゃならないほどMac系開発者って仕事ないの?



281 名前:名称未設定 mailto:sage [2009/06/01(月) 22:05:02 ID:mf1wbFXe0]
むしろMac系に限らず日本はプログラマーを軽視してるから年収が低い
こき使って用済みになったら放り出して終わり的な感じ
プログラマー板に行くとその現状がいろいろと明らかに

282 名前:名称未設定 mailto:sage [2009/06/01(月) 22:08:07 ID:8NjgUD3Qi]
>>280
この場合Mac系じゃなくてゲーム系じゃないの?

283 名前:名称未設定 mailto:sage [2009/06/01(月) 23:09:06 ID:3T/JjDrp0]
>>280
お前だって仕事が無いからiPhoneアプリを作らされてるんじゃないの?

284 名前:名称未設定 mailto:sage [2009/06/01(月) 23:32:57 ID:3BCoBALr0]
>>275
会社の適当さが分かるなw

285 名前:名称未設定 mailto:sage [2009/06/01(月) 23:45:25 ID:15TCKF9n0]
やっと実機で動かせるようになったのですが、
別のアプリを動かそうとすると前のものに上書きされてしまうのだけど
これはそういうものなのですか?

AppIDを「*」にしなかったのがまずいのかな

286 名前:280 mailto:sage [2009/06/01(月) 23:49:36 ID:a7/6CuPR0]
>>281
俺の周りのプログラマに、年収350万なんていないわ。

>>282
知り合いのゲーム業界の人(みんなも知ってるだろう複数のタイトルに関わった人たち)は、
みんなもっと貰ってるぞ。小さいエロゲ専門の会社とかだとどうかわからんけど。

>>283
俺の場合iPhoneアプリは本業じゃない。

287 名前:名称未設定 mailto:sage [2009/06/02(火) 00:02:03 ID:W1NbAVQy0]
>>285
そういうものです
ホーム画面を一つのファイルフォルダに例えると、AppIDはファイル名にあたるものです
同じ名前のファイルを同じフォルダへコピーしたら元のファイルは上書きされて残らない
これと同じことが起こっているわけです

画面に表示されるアプリ名やプロジェクト名は飾りみたいなものと考えたほうがいいです

288 名前:名称未設定 mailto:sage [2009/06/02(火) 04:30:02 ID:FXJvpEQQ0]
100ミリセク未満の単位で処理するなんてのは、無理なんだぜ。リアルタイムOSじゃないし。

プログラマの仕事の品質が低過ぎだろう。
事務員でも慣れればミスはしなくなるのに、PGはいつまでたってもバグ入りプログラムしか出荷出来ない。

289 名前:名称未設定 mailto:sage [2009/06/02(火) 07:24:35 ID:maCB0Hm7O]
キーボードの入力を英字のみに制限したいのですが、可能でしょうか?

290 名前:285 mailto:sage [2009/06/02(火) 08:19:43 ID:ZAJrlM6f0]
>>287
超わかりやすい説明サンクスです



291 名前:名称未設定 mailto:sage [2009/06/02(火) 11:32:27 ID:aSrnMMgd0]
>>285
アプリは、Info.plist の CFBundleIdentifier で識別される。
Xcodeでは、以下のマクロで定義されているので、
com.yourcompany.${PRODUCT_NAME:identifier}
Target Setting=>Build=>Packaging=>Product Nameを変更。
AppStore に出すときは、ちゃんと自分のに変更してね。



292 名前:名称未設定 mailto:sage [2009/06/02(火) 11:35:19 ID:aSrnMMgd0]
>>287
AppIDは、アプリのグループを定義する物だから、直接は関係無いよ。
CFBundleIdentifier が、com.yourcompany.hoge なら、
AppID は、* とか com.* とか com.yourcompany.* とか com.yourcompany.hoge で
なくてはならないって話だよね?

293 名前:名称未設定 mailto:sage [2009/06/02(火) 14:39:44 ID:6Y4/H/pA0]
>>288
プログラマおつw

294 名前:名称未設定 mailto:sage [2009/06/02(火) 20:10:16 ID:MzxjBfZG0]
以下のソースをデバッガで確認してみると、cell が再利用されず、毎回、cell == nil と判定されてしまいます。
再利用させるようにするためには、どのようにすればよいでしょうか?

-----
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"RootViewCell";
RootViewCell *cell = (RootViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
UIViewController *viewController = [[[UIViewController alloc] initWithNibName:@"RootViewCell" bundle:nil] autorelease];
cell = (RootViewCell *)viewController.view;
cell.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"RootViewCellBG.png"]] autorelease];
}
return cell;
}
-----
*RootViewCell .xib の Identifier には「RootViewCell」が設定されています。(owner は「UIViewController」)

295 名前:294 mailto:sage [2009/06/02(火) 20:20:25 ID:MzxjBfZG0]
ttp://d.hatena.ne.jp/KishikawaKatsumi/20081024/1224857278#c1240143956
ここに解答がありました。
ある程度インスタンスが作られるのは正常な動作なんですね…。

296 名前:285 mailto:sage [2009/06/03(水) 00:12:23 ID:fNYIY+PN0]
>>291
うーむ。
さっぱりわからないですぜ
とりあえずinfo.plistのBundle identiferに
AppIDのときいれた文字列をいれたら動いて
そこまでしかわかってないんだが。

まあきっと配信できるくらいのものが出来るようになったら(必死になって調べるだろうから)わかるだろうか。


297 名前:名称未設定 mailto:sage [2009/06/03(水) 00:29:04 ID:CyfakOoL0]
BundleIdentiferってのは
com.apple.safari
com.apple.iTunes
とかそんな感じ
アプリ毎に違うIDが必要なのは分かるでしょ?
com.apple.*で証明書発行しとけばどのアプリも同じ証明書でいけるよってこと
俺自分で登録してないから間違ってたらごめんだけど

298 名前:名称未設定 mailto:sage [2009/06/03(水) 00:37:31 ID:ueFMXoGH0]
>>297
「com.apple.*」じゃなくて「*」だけじゃない?

299 名前:名称未設定 mailto:sage [2009/06/03(水) 08:24:29 ID:S8ZraQ890]
*までの頭が bundle idと同じなならok。push使う時は*はng。

300 名前:名称未設定 mailto:sage [2009/06/04(木) 03:14:36 ID:0ptb6Ltn0]
UITableViewについて教えて下さい。
UITableViewをaddSubViewした時に実行されるメソッドは何になりますでしょうか。




301 名前:名称未設定 mailto:sage [2009/06/04(木) 15:11:34 ID:7W7H+Utli]
addSubview

302 名前:名称未設定 mailto:sage [2009/06/04(木) 15:39:56 ID:x3d3rC6Pi]
>>301
違ぇねぇw

303 名前:名称未設定 mailto:sage [2009/06/04(木) 19:21:15 ID:OsTqhy2c0]
TableView で setEditing したときに、配置したオブジェクトが右へスライドしますが
BackgroundView もいっしょにスライドするようにできるのでしょうか?

304 名前:303 mailto:sage [2009/06/04(木) 19:22:46 ID:OsTqhy2c0]
TableViewCell の BackgroundView のことです。

305 名前:名称未設定 mailto:sage [2009/06/04(木) 19:34:16 ID:X5X6UBZT0]
>>304
Backgroundのかわりに最背面にImageViewを配置してみれば?

306 名前:303 mailto:sage [2009/06/05(金) 12:11:55 ID:EyGjwVqk0]
>>305
Cell選択時は、
tableView:willSelectRowAtIndexPath:
tableView:willDeselectRowAtIndexPath:
あたりで ImageView を切り替えるということでしょうか?

307 名前:303 mailto:sage [2009/06/05(金) 16:00:15 ID:EyGjwVqk0]
試してみましたが、>>306 だとタイミングが合わないのでダメっぽいですね…。

308 名前:名称未設定 mailto:sage [2009/06/05(金) 16:24:50 ID:saB4prnc0]
backgroundView を登録するのじゃなくて、cell 上にある諸々の view の一つとして、
一番背後に imageView を配置するということだと思う。

309 名前:303 mailto:sage [2009/06/05(金) 16:56:31 ID:EyGjwVqk0]
>>308
はい、そのようにすると Cell Selection Style や、selectedBackgroundView が使えなくなってしまうため
>>306 のようにしたらどうだろうかと思ったわけです。
ですが、willSelectRowAtIndexPath だと、指をはなしたときにイベントが起きるため
オリジナルの動作とは違うものになってしまいました。


310 名前:名称未設定 mailto:sage [2009/06/05(金) 17:02:07 ID:DGSH1hxq0]
>>309
ImageViewがイベントをトラップしてるんじゃなかろうか。スルーしてみれば?



311 名前:303 mailto:sage [2009/06/05(金) 19:03:58 ID:EyGjwVqk0]
自己解決しました。

>>309
残念ながらトラップはしていませんでした。

結局、backgroundView、selectedBackgroundView は生かしつつ
スライドされるときだけ、左にはみ出して配置した imageView を表示させるようにしました。

*imageView は「sImage」として、hidden = YES にして配置
-----
UITableViewCell

- (void)willTransitionToState:(UITableViewCellStateMask)state {

[super willTransitionToState:state];

if (state == UITableViewCellStateEditingMask) {
sImage.hidden = NO;
}
}

- (void)didTransitionToState:(UITableViewCellStateMask)state {

[super didTransitionToState:state];

if (state == UITableViewCellStateDefaultMask) {
sImage.hidden = YES;
}
}
-----

312 名前:名称未設定 mailto:sage [2009/06/06(土) 09:09:35 ID:7RWY5kUF0]
TableViewってさ、選択してもスクロールすると選択解除されちゃうんだけど、
スクロールしても選択解除されない方法って無いかな?

313 名前:312 mailto:sage [2009/06/06(土) 12:51:24 ID:7RWY5kUF0]
sdk 3.0でコンパイルしたらスクロールしても解除されなくなったぜ・・・

314 名前:名称未設定 mailto:sage [2009/06/06(土) 13:21:04 ID:t4lhN40B0]
一応レスしとくとHIGに書いてある

「使用方法と動作」で述べたように、行項目が選択をサポートする場合、Table Viewはユーザのタップに応えて自動的に行をハイライトします。
この短時間のハイライトは、ユーザが意図した行をタップできたことをユーザに示し、ユーザの選択が処理されていることをユーザに知らせるフィードバック機構です。
リスト内の現在の選択を示す目的で、ハイライトしたままの状態には決してするべきではありません。
代わりにチェックマークを使用します(「Table Viewの要素」で説明します)。

315 名前:名称未設定 mailto:sage [2009/06/06(土) 14:00:19 ID:7RWY5kUF0]
ありがとう。
なんかアップルのそういう押しつけはちょっとうざいな・・・好きにさせろよって思う。
インデックス表示しちゃってるから、チェック入れても見えないかも・・・

316 名前:名称未設定 mailto:sage [2009/06/06(土) 14:24:16 ID:7JwLSKfY0]
すいません、xibファイルをなるべく使わない方がパフォーマンスがいいってどこかで見かけた気がするんですが、実際のところどうなのでしょう?なにか検証記事等あるのでしょうか?

317 名前:名称未設定 mailto:sage [2009/06/06(土) 14:27:05 ID:0LOgdA3Oi]
>>316
自分で検証してみるって発想はないの?

318 名前:名称未設定 mailto:sage [2009/06/06(土) 15:17:27 ID:Ds5afP830]
>>316
xibファイルの中身は最初に展開されてUIを構築するだけだからあんま変わらんような。
使わないとなると、本プログラム中で動的に途中途中で作成してくだけの違いっしょ。

>>315
頼むから標準ユーザーインターフェースの統一に関することを「押しつけ」とか
言わんでくれよ… 独自インターフェース使いたいなら没入型にして
自分で独特のインターフェース群を組めばいいんだからさ。
なんで”あっち”があんななのかが垣間見えて胃が痛い。

319 名前:名称未設定 mailto:sage [2009/06/06(土) 15:33:18 ID:7RWY5kUF0]
すまんすまんw
でも3.0で仕様が変わってるってことは、選択保持の要望が多かったのかもしれんな。


320 名前:名称未設定 mailto:sage [2009/06/06(土) 18:32:53 ID:emzt0YcP0]
いやこれに関してはAppleの言う事も理解できる。
同じようなUIなのにどうさがAppにやってまちまちだとユーザは混乱すると思う。



321 名前:名称未設定 mailto:sage [2009/06/06(土) 23:51:09 ID:XgHqYDEL0]
でも押しつけが有るのでは、アプリ作成が公開されてる意味は無いけどな。
そしてアポー自身が画期的なアプリを造る時だけ、押しつけ外の隠しUIが使われる罠。
アポーの手のひらでしか動けないのは窮屈。
何の疑問も感じないのは外の世界を知らずに洗脳されてる信者の証。

322 名前:名称未設定 mailto:sage [2009/06/07(日) 00:08:39 ID:mGShGs1Qi]
独自UIを作る能力もなく、与えられた物を組み合わせることしか出来ない豚が何か喚いております。

323 名前:名称未設定 mailto:sage [2009/06/07(日) 00:10:05 ID:tzL1QX4s0]
隠しUIwww

324 名前:名称未設定 mailto:sage [2009/06/07(日) 00:27:18 ID:V1pwfvdM0]
コテコテのドザ思考のヤツが、iPhone アプリの開発に手を出すのが
そもそもの間違い。

ドザが言い出す文句には、もうウンザリ。

325 名前:名称未設定 mailto:sage [2009/06/07(日) 00:30:38 ID:vHlPD1xN0]
UIの話は置いておくとしても
>アポーの手のひらでしか動けないのは窮屈
これは多くが思ってる事じゃない?

326 名前:名称未設定 mailto:sage [2009/06/07(日) 00:39:07 ID:tzL1QX4s0]
>>325
環境に文句を言う奴は無能

327 名前:名称未設定 mailto:sage [2009/06/07(日) 00:46:16 ID:86AOoHKR0]
>>321
オブジェクト指向もオーバーライドの概念もわからない子がなんで
こんなスレ覗いてるのかがわからない。ホント。隠しUIねぇ…

328 名前:名称未設定 mailto:sage [2009/06/07(日) 00:53:17 ID:TUnZIaa00]
Linuxから来た漏れは無制限にすると
何が起こるか知ってる。

329 名前:名称未設定 mailto:sage [2009/06/07(日) 00:53:30 ID:86AOoHKR0]
>>325
共通インターフェースを「使うなら」ユーザーの利便性のために使い勝手を他と同じにしなさい。
自分で独自のものを作るのならその限りではない。

この話のどこに「アポーの手のひら」とか出てくるのやら。
そもそもの話が「Appleの用意したライブラリを使用するとき」って前提なのに
なにに反抗して”支配からの卒業”wしようとしてんだ?
中学校の校舎のガラス割って廻るのはほほえましいが、
社会人が会社のガラス割って廻るのはそりゃ単に精神病院行きだw

330 名前:名称未設定 mailto:sage [2009/06/07(日) 00:53:34 ID:W4XFPLpU0]
普通にUI作ればいいじゃんっていうね



331 名前:名称未設定 mailto:sage [2009/06/07(日) 01:00:34 ID:ibjxvun70]
泣き出して鼻水巻散らかされても困るので、許してやろうぜw

332 名前:名称未設定 mailto:sage [2009/06/07(日) 01:08:35 ID:c4j2bQioi]
アポーの手のひらが嫌なら、ハードから自分で作ってしまえばいいじゃない

333 名前:名称未設定 mailto:sage [2009/06/07(日) 01:22:56 ID:vHlPD1xN0]
>>329
俺にUIの話振られても困るw
iPhoneOS含め環境の話。

>>326
至言です。自戒します。

334 名前:名称未設定 mailto:sage [2009/06/07(日) 01:24:59 ID:wSlzYNc/0]
>332
techcrunchの連中が作ってたみたいにな。

335 名前:名称未設定 mailto:sage [2009/06/07(日) 03:08:01 ID:CNwzaTgb0]
必然性のないオナニーインターフェースを再発明することでしか
開発者としての意義を見いだせない可哀想な人なんだよ

336 名前:名称未設定 mailto:sage [2009/06/07(日) 03:17:57 ID:YAf9XD0/i]
釣り煽りは本スレでやってよね

337 名前:名称未設定 mailto:sage [2009/06/07(日) 03:30:33 ID:W4XFPLpU0]
ゲームアプリのメニュー画面とか独自UIみたいなもんだよな

338 名前:名称未設定 mailto:sage [2009/06/07(日) 10:38:22 ID:TUnZIaa00]
>>337
それで思い出したんだけど、OpenGL Based
Applicationって標準のUIと混在できないのかな。


339 名前:名称未設定 mailto:sage [2009/06/07(日) 12:28:23 ID:a86uSCdY0]
>>338
もちろんできるよ。
こんな自由な開発環境なのに束縛されてるって感じる人は実力を疑うよw

340 名前:名称未設定 mailto:sage [2009/06/07(日) 12:31:41 ID:BrXoqc8Zi]
>>338
やってるゲームいっぱいあるやん(´Д`)



341 名前:名称未設定 mailto:sage [2009/06/07(日) 12:32:40 ID:BrXoqc8Zi]
被った。メンゴ(´Д`)

342 名前:名称未設定 [2009/06/07(日) 13:32:11 ID:hedEFFFj0]
初心者スレで実力を疑うとか阿呆か。相手は素人だろう。

343 名前:名称未設定 mailto:sage [2009/06/07(日) 13:57:06 ID:RngdSKj20]
私も初心者の素人。
たまにこのスレで自分でやれと怒られたりするけど、やり方わかるなら既にやってるさー。

344 名前:名称未設定 mailto:sage [2009/06/07(日) 14:10:14 ID:OKUoyuPE0]
iPhoneで動作するXML書き込み系のクラスってありますか?
NSXMLDobumentが動かないようなのですが

345 名前:名称未設定 mailto:sage [2009/06/07(日) 15:02:26 ID:W4XFPLpU0]
あります

346 名前:名称未設定 mailto:sage [2009/06/07(日) 17:21:36 ID:a86uSCdY0]
>>342
素人が能書き垂れてるから言ってる。

自由にできないから糞だっていうやつはまずやろうとしてみたのか問いたい。

347 名前:名称未設定 mailto:sage [2009/06/07(日) 17:25:58 ID:irUsUofR0]
>>346
またお前か

348 名前:名称未設定 mailto:sage [2009/06/07(日) 23:14:47 ID:1XUGEBMK0]
問いたいじゃなくて問えば?
人に話しかけるのが怖いの?


349 名前:名称未設定 mailto:sage [2009/06/07(日) 23:28:18 ID:61Hf8ezzi]
>>348


350 名前:名称未設定 mailto:sage [2009/06/07(日) 23:28:51 ID:h7Rj1/vt0]
スレッドの空気も読めないようなやつが使いやすいUIを作れるわけが無い



351 名前:名称未設定 mailto:sage [2009/06/07(日) 23:44:27 ID:W4XFPLpU0]
スレの空気を読むよりトライ&エラー、やってみようともしない奴の方が初心者スレとしては厄介だよ

352 名前:名称未設定 mailto:sage [2009/06/08(月) 00:14:09 ID:+nNDbJbB0]
やらないから、いつまでも初心者なのだ

353 名前:名称未設定 mailto:sage [2009/06/08(月) 00:50:09 ID:9QAPH7JA0]
上のほうでユーザーインターフェースについて あばれてるのがいるが
アップル、ドザの問題ではないぞ
Winにも未公開APIあるし、押し付けがましい作法もあるし



354 名前:名称未設定 mailto:sage [2009/06/08(月) 05:04:19 ID:CoCLc1QE0]
共通UIを使うメリットは、どんなアプリでもそれをどう操作するのか、操作したらどんなことが起こるか
いちいち各ソフトのマニュアル見なくてもユーザーが期待するような動きをすることに有る

Windowsでウィンドウの右上にある×印を左クリックしたらウィンドウが回転するアプリを作ったとして一体誰が得をするのか
ウィンドウの最大化ボタンを押したらウィンドウが最小化したり終了するアプリを作ったとして誰が得をするのか

結局誰も得をしないから×印でアプリは終了するし、ウィンドウの最大化ボタンを押せばウィンドウが最大になるようにする
押し付けうんぬん言ってる人はこれらも押し付けだ自由にやらせろとか言いたいようだ

355 名前:名称未設定 mailto:sage [2009/06/08(月) 14:11:44 ID:cnKpFBHG0]
そのへんゲーム作ってる人とそれ以外で感覚の相違が出てるのかなーとか思った。
没入型アプリは画面を全部自前で作って制御すんのがあたりまえだからね。

iPhoneを使い慣れてから、そうだな無料アプリで言うとPacmacLite辺りを
やるとわかるけど慣れてる部分といちいち違ってていろいろイラッとする。
あれは最初期に出たアプリでそういう比較に出すのも可愛そうではあるんだけどね。
あきらかにケータイ屋さんが作ってるよね。

356 名前:名称未設定 mailto:sage [2009/06/08(月) 15:51:50 ID:r+U7thoD0]
UITableViewのデータを書き換えた際の全体のリロードについて教えてください。
dataSourceにあるデータとなる配列を違うデータに書き換えて
[tableView reloadData]
をしても書き変わりませんでした。
(見えなくなって新たに見えた部分は書き変わります。
 最初に構築されたUITableViewCellの数も変わりません。)

データをすべて1度破棄して新たなデータでUITableViewを再構築するには
どうすればいいんでしょうか?


357 名前:名称未設定 mailto:sage [2009/06/08(月) 16:14:57 ID:p+VJPcPW0]
>>356
reloadDataは自動的に更新してくれるのではなく、
再描画の必要なセルをデータソースに問い合わせるだけです。
tableView: cellForRowAtIndexPath: が呼ばれる毎にIndexPathに対応するセルを返してください。

358 名前:名称未設定 mailto:sage [2009/06/08(月) 17:25:16 ID:r+U7thoD0]
>>357
>tableView: cellForRowAtIndexPath: が呼ばれる毎にIndexPathに対応するセルを返してください。

そこは実装実装しているんです。

- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
MyCell *cell = (MyCell*)[tableView dequeueReusableCellWithIdentifier:@"MyCell"];

if (!cell) {
cell = [[[MyCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"MyCell"] autorelease];
}

cell.text = [names objectAtIndex:indexPath.row];

return cell;
}


違うところが間違ってるのかなー。
ちょっと調査してみます。

359 名前:名称未設定 mailto:sage [2009/06/08(月) 17:48:43 ID:Q+dRvcvG0]
>>358
まず自分で調査してから質問しろよ・・・
1. reloadDataを読んだらすぐにcellForRowAtIndexPathで問合せが来ているか?
2.問合せが来たとき[names objectAtIndex:indexPath.row]は正しく更新後の値を返しているか?

360 名前:名称未設定 mailto:sage [2009/06/08(月) 18:18:40 ID:r+U7thoD0]
>>359
>>>358
>まず自分で調査してから質問しろよ・・・

すいません、最小限の構成で試してはいたんですがそれでも間違ってました...
結局、[UITableView reloadData]が呼ばれてないというオチでした。
汚してすいません。




361 名前:名称未設定 mailto:sage [2009/06/08(月) 18:34:02 ID:MqHJceih0]
もうお嫁に行けない

362 名前:名称未設定 mailto:sage [2009/06/08(月) 18:53:48 ID:2ZsKFgQii]
そうだ、出家しよう。

363 名前:名称未設定 mailto:sage [2009/06/09(火) 00:52:36 ID:2K6Y2z/p0]
NSURLConnectionを非同期で利用したいのですが
通信が完了した場合、mainスレッドにどうやって戻せばいいのですか?

永遠に帰ってこずに挙句の果てにはiPhoneフリーズしますw

364 名前:名称未設定 mailto:sage [2009/06/09(火) 01:45:19 ID:r/0i+jR00]
iPhoneフリーズなんてどうやったらそうなるのかむしろ知りたい

365 名前:名称未設定 mailto:sage [2009/06/09(火) 04:38:57 ID:uSey6YsQ0]
ObjCのメモリ管理は糞だし、しょうがない。
オートリリースを余分に呼ぶだけで簡単にクラッシュさ。

366 名前:名称未設定 mailto:sage [2009/06/09(火) 04:56:42 ID:ontIny2n0]
他の言語なら適当に作って適当な時間動いて問題が出なきゃすなわち問題ナシだからな!

…もうおまえは社会の迷惑だからプログラマ辞めて田舎カエレw

367 名前:名称未設定 mailto:sage [2009/06/09(火) 05:10:36 ID:dYi2RBsj0]
>>363
どういう実装しているかわからんが、普通に使えば、非同期で動作して、
通信の状況に応じていろんなデリゲートメソッドを送り出すので、それ
を適切に処理して行く様な実装にする

「iPhone NSURLConnection」とかでググれば、けっこう情報があるよ




368 名前:名称未設定 mailto:sage [2009/06/09(火) 05:32:05 ID:dYi2RBsj0]
>>365
そりゃ、メモリの解放指示を「余分」に呼び出せば例外もでるだろうよw
なぜ余分に呼び出すかな

369 名前:名称未設定 mailto:sage [2009/06/09(火) 08:21:51 ID:03wOq/G50]
>>365
逆に余分にfreeしてもクラッシュしない環境を教えてもらいたい

370 名前:名称未設定 mailto:sage [2009/06/09(火) 14:33:10 ID:hWeH9qau0]
基本組み込み用だし余計なことはしないのが鉄則



371 名前:名称未設定 mailto:sage [2009/06/09(火) 21:40:49 ID:mxKwiHD80]
>なぜ余分に呼び出すかな

おそらく生まれて初めてメモリをfreeするようなプログラムを書いて
コードが間違っててバグった。>Objective-Cのせいニダ

372 名前:名称未設定 mailto:sage [2009/06/09(火) 21:43:40 ID:P44PMBJh0]
ネットを介さないiPhone同士での通信対戦ゲームを作ろうとした場合、
実機での動作検証はどうしたら良いのでしょうか?
やっぱり2台買わないとダメ?

373 名前:名称未設定 mailto:sage [2009/06/09(火) 21:47:33 ID:/pKUaJjz0]
iPhone持ってる友達を探せ
あとは…シミュレータと通信対戦とかw

374 名前:名称未設定 mailto:sage [2009/06/09(火) 21:50:56 ID:21XWR3+F0]
>>iPhone同士での通信
>>実機での動作検証
買わないといけないことはないが

375 名前:名称未設定 mailto:sage [2009/06/10(水) 00:12:22 ID:Wwhzf1yc0]
APNSについての質問なんですが、
下のコードを実行すると…

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
        NSLog(@"deviceToken: %@", deviceToken);
}

コンソールに、
deviceToken: <8bXXXXX3 28fXXXXXX XXXX5b91 aXXXXXX3 XXXXXX3a b6aXXXXX 8XXXXXXb 9XXXX7b9>
のような感じでdeviceTokenが表示されますよね。

このdeviceTokenを文字列として取得したいのですが、どうすればNSStringに変換できるのでしょうか?

376 名前:名称未設定 mailto:sage [2009/06/10(水) 00:18:35 ID:oybbK05z0]
既出

377 名前:名称未設定 mailto:sage [2009/06/10(水) 00:30:10 ID:Wwhzf1yc0]
>>376
すみません。
本スレをしっかり確認していませんでした。
pc11.2ch.net/test/read.cgi/mac/1242262759/75
この質問と同様ですね。
失礼しました。

378 名前:名称未設定 mailto:sage [2009/06/10(水) 00:30:11 ID:7G81JEQ40]
>>376
初心者スレで「既出」じゃねーよw

379 名前:名称未設定 mailto:sage [2009/06/10(水) 00:52:06 ID:46fR/YhAi]
このスレ内で既出なら「既出」で済ませてもいいかもしれんが
他スレなら最低でもURLとレス番は挙げて欲しいわな

380 名前:名称未設定 mailto:sage [2009/06/10(水) 01:16:17 ID:oybbK05z0]
おっとスレを間違えた
そんなに噛み付くなよ短気だな
>>377すまんかった



381 名前:名称未設定 mailto:sage [2009/06/10(水) 06:31:51 ID:9Sy1e/ER0]
>>372
GameKitのP2Pを使う場合は、実機同士で無いとダメ(シミュレーター未対応)とドキュメントに
書いてあった気がする
あと、あれはBluetoothだから、iPhone(3Gじゃ無い奴)と初代touchでは使えないので注意

382 名前:372 mailto:sage [2009/06/10(水) 14:36:52 ID:G1ky2Nr10]
>>373,374,381
ご返答有難うございます。

今日3GSスレを覗いたところ、機種変更して3G本体はSIMカードを抜いて残せば、
回線の新規購入をしなくても、3Gと3GSの両方で動作確認ぐらいはできるみたいですね。
やはりお金はかかりますが。

100mぐらいは離れて屋外で遊ぶ物を考えているので、
wifiのアドホックモードのP2Pを使う事を考えています。

383 名前:名称未設定 mailto:sage [2009/06/10(水) 22:57:06 ID:OXYHB6mI0]
OS3.0 では ipod のライブラリの曲へのアクセスが許される、
ということらしいですが、
iphone シミュレータには ipod のアイコンすら無いです。

iphone 本体にあるライブラリの曲へアクセスし、
再生するアプリを作成したのですが、
・iphone シミュレータに曲を登録する方法
・登録した曲をアプリからアクセスし、再生する方法
ってわかるかたいらっしゃいますか?

それとも まだ公開されていない?

384 名前:名称未設定 mailto:sage [2009/06/10(水) 23:21:23 ID:9LmSPZL40]
>>383
詳細はNDAにひっかかるんで言えないが、サンプルコード見ろ。

385 名前:名称未設定 mailto:sage [2009/06/10(水) 23:32:29 ID:WwFKx3ae0]
NDAよくわからんけど、ブログとかでiPhoneのプログラムネタを書くのは良いんだよな??

386 名前:名称未設定 mailto:sage [2009/06/10(水) 23:39:47 ID:A9hlpM4r0]
>>385
いいから教えろよ


387 名前:名称未設定 mailto:sage [2009/06/10(水) 23:51:49 ID:XY8Zia+60]
>>386
おいおまえ

388 名前:名称未設定 mailto:sage [2009/06/11(木) 00:07:59 ID:26j9J0Wq0]
>>385
3.0のことはまだ正式公開されてないから書いたらアウト。2.21のことはいくら書いてもかまわない。

389 名前:名称未設定 mailto:sage [2009/06/11(木) 00:19:34 ID:+BBTGNeS0]
という夢を見た

390 名前:383 mailto:sage [2009/06/11(木) 01:00:10 ID:e3VLQ7Te0]
>>384
ありがとうございます。
そうなんすか。てっきり今週のWWDCとかで公にされているのかと思ったのですが・・・

ちなみに、サンプルコードのプロジェクトかわかりますか?
syssound とか見てみたんですが、サッパリです。



391 名前:名称未設定 mailto:sage [2009/06/11(木) 02:04:10 ID:MKeDz/MZ0]
>>390
それじゃなく、ライブラリから曲を選んで(もしくはランダムで)再生する、そのものズバリのやつがあるだろ。
わりと最近更新されたものだぞ。

392 名前:名称未設定 mailto:sage [2009/06/11(木) 02:42:03 ID:5tTyE3Y2i]
iPod Library Access Programming Guideってそのものズバリなドキュメントも出とるね

393 名前:383 mailto:sage [2009/06/11(木) 02:42:53 ID:e3VLQ7Te0]
>>391
参考になりました!

394 名前:名称未設定 mailto:sage [2009/06/11(木) 16:30:04 ID:UEflJ5820]
チャットアプリケーションを練習がてら作っているのですが,
    if((servHost = gethostbyname(hostName)) == NULL) NSLog(@"Unknown host!\n");
のように書いた場合,localhost(127.0.0.1)以外はエラーが返ってきます。iPhoneではgetbyhostnameは正常に使えないのでしょうか?

ググっても本読んでも見つけられませんでした。よろしくお願いいたします。

395 名前:名称未設定 mailto:sage [2009/06/11(木) 17:41:28 ID:lsAYVu060]
>>394
まず何より先に、>>1 の 4 (下のやつ)を読め

396 名前:名称未設定 mailto:sage [2009/06/11(木) 18:43:09 ID:/V6zqHPE0]
Navigation Controller の ToolBar を有効に(IB で shows toolbar にチェック)した場合、
最初のビューの ToolBar のボタンは IB で設定できますが、
ビューが切り替わったときはどのように設定するのでしょうか?
また IB で設定できるのでしょうか?



397 名前:名称未設定 mailto:sage [2009/06/11(木) 19:42:23 ID:JzZrFuXw0]
>>388
ありがと〜!

398 名前:名称未設定 [2009/06/11(木) 22:54:39 ID:85vVBUlS0]
シューティングゲームを作りたいのですが、飛んでくる球を表示する方法、
UIImageViewを生成して表示する方法が分かりません。。
iPhone SDKの教科書は読んで理解したのですが、次にどの本を読めばこれが出来るでしょうか?
どなたか教えていただけると嬉しいです _ _

399 名前:名称未設定 mailto:sage [2009/06/11(木) 23:11:06 ID:gkuEQAjp0]
まずPC上で何の言語、プラットフォームでもいいから、自分でシューティングゲームが作れるようになってからiPhoneでやれ。
じゃなきゃ諦めろ。

400 名前:名称未設定 mailto:sage [2009/06/11(木) 23:13:18 ID:tJ0aql2lP]
現在出てるiPhoneの本、基礎すぎるし
InterfaceBuilderに頼りすぎで困る

逆引き系欲しい




401 名前:名称未設定 mailto:sage [2009/06/11(木) 23:25:44 ID:Hm/3CcS10]
つーかマクもそうだけど、IBで造れないものは、かなり敷居が高くなる現実。

402 名前:394 mailto:sage [2009/06/11(木) 23:26:54 ID:yn/4sot+0]
>>395
すいません、書き方が悪かったです。
エラーが返ってくるのではなく、NULLが返ってきます。

"localhost"は正常にIPへの変換ができますが,それ以外ではNULLを返されます.よろしくお願いいたします.

403 名前:398 [2009/06/11(木) 23:27:15 ID:85vVBUlS0]
>>399
レスありがとうございます。
ProccesingとOpenGLで作ったことがあります。

404 名前:名称未設定 mailto:sage [2009/06/11(木) 23:29:11 ID:qwiNtuvt0]
nsnotificationと
単純なコールバックではどちらが遅いですか?



405 名前:名称未設定 mailto:sage [2009/06/11(木) 23:34:09 ID:tJ0aql2lP]
>>403
OpenGLできるなら、
GLESベースで作ったら早いやん。
アップルのサンプルのGLSpriteだっけ

GLのテクスチャの画像読み込みあるし、
プリミティブ(スプライト)描画も乗ってる。

あとは、サウンド系のサンプルもってきたら
シューティング作れる


406 名前:398 mailto:sage [2009/06/11(木) 23:39:22 ID:85vVBUlS0]
>>405
そうなのですが、OpenGLではテクスチャを扱ったことが無く、
iPhone SDKの教科書を読んでObjective-Cの楽しさに目覚めたので
出来ればそのあたりの技術を使いたいのです。。
InterfaceBuilderで事前に配置した画像だけで、シューティングもどきは作れるので
あとはPNG画像から画像オブジェクトを生成して画面に表示する方法を知りたいなと。
わがままばっかりいってすみません _ _

407 名前:名称未設定 mailto:sage [2009/06/11(木) 23:47:21 ID:TFTXF4Gc0]
>>406
ゲームで画面描き変えるのにいちいちObj-CやUIKitなんか使ってたら重くなるぞ。
どうしてもやりたいんなら参考書とか以前にAPIリファレンス読め。

408 名前:名称未設定 mailto:sage [2009/06/12(金) 00:05:52 ID:MOCdZ5R10]
>>406
やってみるのも勉強になると思うけど、まず間違いなくOpenGLで書き直す事になると思う。

409 名前:名称未設定 mailto:sage [2009/06/12(金) 00:14:19 ID:frbdTcte0]
>406
408に同意
OpenGLだからってObjective-Cが使えない訳じゃないから

410 名前:398 mailto:sage [2009/06/12(金) 00:49:01 ID:lVh/1W080]
>>407-409
レスありがとうございます。
APIリファレンスは読んでみたのですが、何がなんだか。。
とりあえず皆さんのレスから、相当イレギュラーなことをしようとしていることが分かったので
普通にOpenGLでやってみようと思います。
ありがとうございました。



411 名前:名称未設定 mailto:sage [2009/06/12(金) 01:01:02 ID:EVKUi+CX0]
IBからボタンを作成した場合、enabledプロパティやsetEnabledメソッドは効果がないのでしょうか?

412 名前:名称未設定 mailto:sage [2009/06/12(金) 01:07:32 ID:CZiebMxXi]
>>402
gethostbyname() ちゃんと動いたよ。
hostName に何を渡したの?
試しに "wwww.google.co.jp" を渡したら、
72.14.203.104 が帰ってきたよ。

413 名前:402 mailto:sage [2009/06/12(金) 01:40:29 ID:jQ5jsi1d0]
>>412
レスありがとうございます。私も試しにwww.google.co.jpを渡しましたがNULLが返ってきました。
プログラム的な問題ではなく、PC上の問題なのでしょうか…?iPhoneシミュレータ、実機両方ためしましたが同じ結果です.

414 名前:名称未設定 mailto:sage [2009/06/12(金) 01:53:44 ID:M/SJy5Doi]
>>413
そういう時はコード晒すと話が早いと思う。

415 名前:名称未設定 mailto:sage [2009/06/12(金) 01:53:47 ID:74eagpTRi]
>>413
w が一個多かった。あせ。
こちらではシミュレータ、実機ともに動いたよ。

接続環境が違うのかなぁ?
Mac のターミナルで ping www.google.co.jp してみた?
あと、実機の Wi-Fi を切って 3G にしたら?

416 名前:名称未設定 [2009/06/12(金) 14:31:43 ID:45UdQPMt0]
質問させてください。
今、AppStoreで無料上位にある「Video Downloader iWoopie」というアプリですが、
リリース日がAppStoreでは3/27となっていますが、
実際にstoreに並んだのは6/3のようです。
この日にちの違いはどうしておこるんでしょう?

また、ここからが本題なんですが、
上記を踏まえて、5月頭から第三者の権利を侵害している可能性があるアプリ(myVideoなど)に対する
規制が厳しくなったように感じます。

実際に、自分も同じような機能のアプリを有料にて申請したところ、
Appleにリジェクトされてしまいました。
なぜ、「Video Downloader iWoopie」はその規制をすり抜けることができたのか、
わかる人いらっしゃいますか?

自分の見解としては、
1.無料だから
2.アプリの審査自体は5月頭の規制強化前に終わっていたから

417 名前:名称未設定 mailto:sage [2009/06/12(金) 14:57:18 ID:hErLHDi60]
>>416
リリース日はデフォルトではアップルのサーバにアップロードした日。
アップルのチェックに時間がかかれば実際の公開日とリリース日にずれがでる。
リジェクトされたりしなかったりするのは、いろんなことがチェックの担当者の個人裁量だから。
名前変えて別アプリとして再提出したらすんなり通るかも。

418 名前:名称未設定 [2009/06/12(金) 15:01:25 ID:45UdQPMt0]
>>417
Sun Limited Mt.さんも同じ内容でリジェクトされているんです。
www.syuhari.jp/blog/archives/1425

またmyVideosも同じ内容で、このままでは今後アップデートが一切できないといっています。
www.myvideo2iphone.com/joomla/index.php

なので、担当者の個人裁量とか、名前を変えて〜とかっていう可能性は低いと見ているんですが...

419 名前:名称未設定 mailto:sage [2009/06/12(金) 15:12:25 ID:rOhKR+MNi]
>>418
ならもう諦めるしか無いんじゃ…

420 名前:名称未設定 mailto:sage [2009/06/12(金) 15:15:26 ID:hErLHDi60]
>>418
著作物の複製が権利侵害でアウトなのは当然わかってるんだよな?

権利侵害アプリを放置しまくってるアップルがそういう対応をしたってことは、
最近になって訴えられそうになったってことなんだろ。



421 名前:名称未設定 [2009/06/12(金) 15:24:55 ID:45UdQPMt0]
>>419
まだ、無料で申請するという手段が残っているんですが...
望みは薄いんですよね。

>>420
それは当然ですが...


やはり、「Video Downloader iWoopie」が気になるんです。
アップロードした日にちが3/27であって、
実際にリリースされたのが6/3...

少なくとも、Sun Limited Mt.さんは、審査にだいぶ時間がかかったと書かれておられるので、
「Video Downloader iWoopie」もこの審査にひっかかるはず...と思ったんですが...

無料なら望みはあるのかなぁと思い。
試してみようかな。

422 名前:名称未設定 mailto:sage [2009/06/12(金) 15:37:51 ID:rOhKR+MNi]
>>421
有料と無料で審査基準が変わるなんて話は聞いたことがないぞ。
ある理由で有料で弾かれるなら、無料でも同じ理由で弾かれるだろうと俺は思う。

423 名前:名称未設定 [2009/06/12(金) 15:43:20 ID:45UdQPMt0]
>>422
そうなんですよね。
無料で申請しても、あとから有料に変更できたと思うので。
なんで、やはり望みは薄いんですよね。

424 名前:名称未設定 mailto:sage [2009/06/12(金) 18:15:52 ID:iRBntRoL0]
>>417
>リリース日はデフォルトではアップルのサーバにアップロードした日。
ではなくて、アップロード時に自分で設定する公開開始日だと思う(値段決
めるところで設定する奴)。あくまでも自分の経験からだけど

デフォルトでは当日になってるから、いじらないとアップロード日と同じ事に
なる
これ、リジェクトくらってから変更しても最初に設定した日付とかわらないみ
たいだから、変なシステムだよな


425 名前:名称未設定 [2009/06/12(金) 22:23:56 ID:w86/boxm0]
UIImageViewの派生クラスにsetNeedsDisplayをかけてもdrawRectが飛んで来ないのですが原因は何が考えられるでしょうか?
UIIViewの派生にするとdrawRectは飛んで来るのですが…

426 名前:名称未設定 mailto:sage [2009/06/13(土) 01:11:50 ID:6qJWp1660]
俺が思うに、iPhoneアプリのiWoopieはウェブの自サイトiWoopieから落としてるからセフ。
アクセスするウェブサイトが著作を侵害してることと、アプリ自体が著作を侵害することとは切り分けて考えられてると思う。
(と言う解釈はやや強引だが。)
もしくは単にレビュワーの気まぐれor見落とし。

427 名前:名称未設定 mailto:sage [2009/06/13(土) 02:25:20 ID:MNU8/ibN0]
iWoopieって利用規約とか著作権のこととか細かく載ってるよね。
アプリ起動してほぼ最初に読めるし。
そういうところもあるんじゃない?



428 名前:名称未設定 mailto:sage [2009/06/13(土) 04:23:46 ID:6qJWp1660]
Winnyは確かにファイル共有できるけど、それはユーザの責任でソフトウェア自体は裁かれるべきではない
というような感じかね、考え方としては

429 名前:名称未設定 mailto:sage [2009/06/13(土) 06:58:37 ID:7BQZwZJu0]
なんかちがう。
マクで犯罪予告も出来るけど、違法行為は禁止って規約上なら問題ないって感じ。

430 名前:名称未設定 mailto:sage [2009/06/13(土) 13:32:34 ID:6qJWp1660]
そして最終的にはレビュアーの判断と



431 名前:名称未設定 mailto:sage [2009/06/13(土) 20:49:58 ID:bOBiGO0o0]
話の流れをぶった切ってすまん
UIToolBarを配置してUIBarButtonItemをいくつか置いたんだけど、
例えば二つ同時に押して離すと二つともイベントが実行されちゃうんだよね。

これって一つだけにできないかね??
exclusibeTouchをYESにすりゃ余裕じゃんと思ったら、
そんなパラメータUIBarButtonItemには無かった・・・

432 名前:名称未設定 mailto:sage [2009/06/13(土) 23:40:59 ID:wZfT4HFDi]
>>424
Inkinessのリリース日と実際にiTunesStoreにならんだ日、これはフェンリルのサイトで確認できる、を比べてみろ。
最近は、開発元が設定した日にiTunesStoreに並んでも、リリース日がその日になるわけじゃない。
おそらく審査が通った日になってる。

433 名前:名称未設定 mailto:sage [2009/06/14(日) 00:20:30 ID:vSrQWvX20]
>>431
すまんと思うならもっと丁寧な書き方しろよカス

434 名前:名称未設定 mailto:sage [2009/06/14(日) 01:03:02 ID:5Gdiu3z10]
>>432
いや、俺のアプリは審査の通った日ではなく、アップロードした日でもなく、自分で
設定したリリース日だったよ。>>424の通り。

たぶんApp Storeの担当者の気分次第なんだろ。


435 名前:名称未設定 mailto:sage [2009/06/14(日) 01:41:48 ID:wSxzt/er0]
>>424リリース日は、登録時は登録日にしておいても、リリース後に実際のリリース日に変更できたよ

436 名前:名称未設定 [2009/06/14(日) 08:44:25 ID:J4YyB1Il0]
>>435
Pricingのところを変更しても実際のリリース日に変更できなかったんですが。
どこで変更するのか教えて下さい!

437 名前:名称未設定 mailto:sage [2009/06/14(日) 09:34:36 ID:WyER2DbD0]
>>433
話の流れを無視してすみません。

UIToolBarを配置してその上にUIBarButtonItemをいくつか配置したのですが、
例えば二つ同時に押して離すと二つともイベントが実行されてしまいます。

これを一つだけイベントが実行されるように抑制できませんでしょうか。
exclusibeTouchをYESにすれば出来ると思ったのですが、
そのようなパラメータはUIBarButtonItemにはありませんでした。

ご教授よろしくお願いいたします。

438 名前:名称未設定 [2009/06/14(日) 09:47:17 ID:J4YyB1Il0]
>>437
親のビューからMulti touchをdisableしているの?

439 名前:名称未設定 mailto:sage [2009/06/14(日) 10:25:46 ID:aCMIfVzo0]
まあにちゃんも中尾の気分で(ry

440 名前:名称未設定 mailto:sage [2009/06/14(日) 10:35:17 ID:WyER2DbD0]
>>438
はい、親ビューも親ウィンドウもツールバーもmultipleTouchEnableはNOになっています。




441 名前:431 mailto:sage [2009/06/14(日) 10:45:11 ID:WyER2DbD0]
自己解決しました。
ツールバーのsubviewを全部拾ってexclusibeTouchをYESにしたら上手くいきました。
(UIToolbarTextButtonとかいうクラスのビューがツールバーに載っかっているようでした)

442 名前:名称未設定 mailto:sage [2009/06/15(月) 09:42:54 ID:LeMKqYjU0]
>>416
配信開始希望日と審査通過日を比べて、どちらか古いほうがリリース日になるよ。

たとえばアップロード時に6月20日に設定しておいて、
審査通過日が6月15日だった場合、
何もしなければ20日に『15日リリース』として公開される。

逆に6月14日配信開始希望で、18日に審査通過したら、
18日に『14日リリース』として公開される。

だからセオリーとして、配信開始希望日は最初はかなり未来の日にちに
設定しておいて、審査が通ったらすぐその翌日に変更するのが良い。




443 名前:名称未設定 mailto:sage [2009/06/15(月) 10:55:45 ID:dg1iWgjM0]
>>442
変な仕組みだよな。
おかげで何度も機会ロスしたよ。

444 名前:名称未設定 mailto:sage [2009/06/16(火) 00:10:39 ID:W4vHdme10]
以前とつめていた会社の債務の連帯保証人に
なってしまって1億6500円万負債抱えてて
カードが使えないのですよ

どうやってiPhone Developer Programに加入すれば
いいのですかね?

445 名前:名称未設定 mailto:sage [2009/06/16(火) 00:11:58 ID:+x943zdp0]
>>444
VISAデビットは?

446 名前:名称未設定 mailto:sage [2009/06/16(火) 00:22:47 ID:W4vHdme10]
>>445
口座凍結くらってるから弁護士と相談してみるわ


447 名前:名称未設定 mailto:sage [2009/06/16(火) 00:44:22 ID:GgUIfgyC0]
しんでうまれかわるといい

448 名前:名称未設定 mailto:sage [2009/06/16(火) 01:12:55 ID:aZ7lQ9lii]
>>444
1億6500円万とな

449 名前:名称未設定 mailto:sage [2009/06/16(火) 04:16:19 ID:7WQo0LH50]
>>444
そんなのに加入してる場合かw

450 名前:名称未設定 mailto:sage [2009/06/16(火) 04:42:17 ID:tHuptC8F0]
小遣い稼ぎしてる場合じゃないな。借金返せ。



451 名前:名称未設定 mailto:sage [2009/06/16(火) 06:09:49 ID:G836o5gW0]
会社に内緒で副業してる人ってどれくらいいる?


452 名前:名称未設定 mailto:sage [2009/06/16(火) 06:32:43 ID:idbUOSgX0]
>>451
お前さんだけだと思う

453 名前:名称未設定 mailto:sage [2009/06/16(火) 06:41:26 ID:G836o5gW0]
>>452
いや。オイラはまだ開発に手をつけてないんだす。
不況でボーナスもカットされるのわかってるから、
副業解禁されないかなーと妙に期待している段階。

454 名前:名称未設定 mailto:sage [2009/06/16(火) 08:54:44 ID:g72K1aOw0]
>>453
服務規定なんて会社によってマチマチだから、ここで聞いても参考にならないと思う。
何の問題も無い人もいれば、クビだけでは済まない人もいる。

455 名前:名称未設定 mailto:sage [2009/06/16(火) 09:38:26 ID:VOJibT+Pi]
>>444
iPhoneで一発逆転頑張れ

456 名前:名称未設定 mailto:sage [2009/06/16(火) 21:50:18 ID:P8rU5nwh0]
>>436
過去の日付に変更しても画面上は変更した日の日付になったけど、Storeで見たら過去の日付に変更できてた。

例えば、1日に登録、10日にリリース、15日にリリースに気付いて、その日にリリース日を1日から10日に変更登録すると、画面上は強制的に15日に表示されるけど、Storeではリリース日が10日に変更されたってこと

457 名前:名称未設定 mailto:sage [2009/06/17(水) 00:23:24 ID:t171/gOM0]
>>444
1億6,000万の保証人になれたんだから、それ相応の人なんじゃないの?
頑張って返済もしくは解決して、いいアプリ造ってくれよ。
どこの誰か解らないが応援するよ。

458 名前:名称未設定 mailto:sage [2009/06/17(水) 14:31:59 ID:ZOUij2Eg0]
>>457
連帯保証人なんて誰でもなれるべ

459 名前:名称未設定 mailto:sage [2009/06/17(水) 21:09:16 ID:Yb+t7j4YP]
彼女に頼めよ

460 名前:名称未設定 mailto:sage [2009/06/18(木) 16:50:09 ID:stX4g8RN0]
iPhone 3.0 SimulatorをアクティブSDKに設定したところ
[window addSubview:viewController.view];
↑の部分でコンパイルエラーが出るようになりました。
type of accessor does not match property "view"
どのようにしたら解消されるでしょうか?よろしくお願いいたします。



461 名前:名称未設定 [2009/06/18(木) 18:53:01 ID:zT7VxIZqi]
UINavigationController を利用して UITableView と UIView を行ったり来たりするアプリを作っついます。
UITableView のセルへの描画内容に変更があったときはreloadDataで反映できたのですが、
UIView の描画内容を変更させたいときは、どうやったら良いんでしょう。

最初に描画したものがそのあとずっと残ってしまう感じです。

462 名前:名称未設定 mailto:sage [2009/06/18(木) 19:15:46 ID:SCB+ipF70]
>>461
つsetNeedsDisplay


463 名前:名称未設定 mailto:sage [2009/06/18(木) 19:29:27 ID:CppV8iWl0]
>>460
viewControllerは何のインスタンス?

464 名前:名称未設定 [2009/06/19(金) 02:33:58 ID:oQuzqDlS0]
画面遷移で、トップのナビゲーションから右方向ではなくて左方向に画面遷移する方法ってありますか?

465 名前:名称未設定 [2009/06/19(金) 02:36:10 ID:dEMSRYzEi]
>>462
ありがとうございます。
うまくいきました



466 名前:名称未設定 mailto:sage [2009/06/19(金) 02:45:57 ID:ol/nLS100]
SDKを3.0にしなくてもまだStoreにアプリをリリースすることは可能でしょうか

467 名前:名称未設定 mailto:sage [2009/06/19(金) 07:30:04 ID:BOoukEQeP]
クラスの変数で静的な変数は定義できないの?
@interface UNKO : NSObject
{
static int staticval = 1 ; //こんな風に
}


468 名前:名称未設定 mailto:sage [2009/06/19(金) 08:23:59 ID:yEe4JEcf0]
UILabelで表示するテキストのフォントファミリーについてなのですが、
Times New Romanのボールドやイタリック体だとInterfaceBuilder上では表示されるのに、
シミュレータ上ではUILabelそのものが表示されなくなってしまいます。
(レギュラーだとシミュレータ上でも表示されます)。

これはシミュレータの仕様なのでしょうか?

469 名前:名称未設定 mailto:sage [2009/06/19(金) 11:23:42 ID:PKFkJxCZ0]
>>468
シミュレータだけではなく実機でもうまくいかないはず。
IB上で選択できるフォントは開発機(Mac)にインストールされたフォントなので、
iPhoneとは直接関係無い。フォント指定がうまくいったように見えるのは
偶然レギュラーのフォント名が同じで、その他のスタイルのフォント名が異なるから。

…という認識なんだけど合ってるかな?
ちなみに、自分のアプリでは実行時に直接指定してます。


470 名前:名称未設定 mailto:sage [2009/06/19(金) 14:02:58 ID:cmDK8sdmi]
PostScript名は同じだと思うんだけどね。
ボールドだとTimesNewRomanPS-BoldMTだけど、今見てみたらxibファイルの中身もちゃんとそう書かれてた。
てかうちではシミュレータでも実機でもちゃんと表示されたぞ。



471 名前:468 mailto:sage [2009/06/19(金) 20:22:05 ID:yEe4JEcf0]
>>469,470
ご返答有難うございます。

WindowBasedのテンプレートにUILabelを並べただけのプロジェクトで実験した所、
シミュレータ・実機ともに、Times New Romanのボールドやイタリックは
表示されませんでした。

Helveticaでやってみると、ボールドやイタリックでも表示されるので、
フォント側に原因があるみたいですね…。

472 名前:名称未設定 mailto:sage [2009/06/19(金) 20:48:54 ID:yldtQGLO0]
デザインを重視するフォントは画像にしておけば良いんじゃね?

473 名前:名称未設定 mailto:sage [2009/06/19(金) 21:17:12 ID:OVaQip3K0]
iPhone OS 3.0β使っていて、
試用期限が切れて使えなくなったので
3.0をインストールしたいのですが、
iTunes経由でアップデートしようにも
「バージョンは最新です」とメッセージが出るだけで・・・。
復元しようとしてもエラーが出ます。
どうすればいいのでしょう・・・。

ちなみにXcodeもiTunesも入れなおしましたが、
結果は同じでした。
オーガナイザから入れなおすのかとも考えたのですが、
よくわかりません。

よろしくお願いいたします m(_ _)m

474 名前:名称未設定 mailto:sage [2009/06/19(金) 21:32:02 ID:yldtQGLO0]
>>473
俺も同じ状態になったけど、βでそのまま開発できてる。
デバイスを再起動してみれば?

475 名前:名称未設定 mailto:sage [2009/06/19(金) 21:36:40 ID:m5kEzToS0]
>復元しようとしてもエラーが出ます。

ここもう少し詳しく書かないと皆わからんと思うぜ。

476 名前:名称未設定 mailto:sage [2009/06/19(金) 21:41:11 ID:XJ49Rjsr0]
>>473
iTunes で、Optionキー押しながらアップデートチェックすると、ファイルを指定できるから 3.0 を直に入れられる。

477 名前:名称未設定 mailto:sage [2009/06/19(金) 22:13:00 ID:OVaQip3K0]
みなさん、ありがとうございます。

>>474
再起動しましたが、特に変化はありませんでした・・・。

>>475
少し長いですが、詳しく書いてみます。

*******
まず、iPhoneには「iTunesにつないでください」というような表示が出ています。
Macにつなぐと、iTunesが
「ソフトウェアの使用期限が切れたので、アップデートする必要があります」
と警告してきます。
iTunes経由でアップデートを確認すると、
「お使いのOSは最新(3.0)です」と表示されて先へ進めません。
次に復元をしようとします。
まず、バックアップをするかどうかを聞かれます。
「する」を選択しても「しない」を選択しても、
「復元すると出荷時の状態に戻ります」という警告が表示されます。
そして、「復元する」を選択すると、
「ソフトウェアのダウンロードの最中に問題が発生しました。要求されたリソースがみつかりません」
とエラーが表示され、ステップが中断してしまいます。
*******

こんな感じです。


>>476
オーガナイザもHDDにあるOSのデータを指定して、iPhoneにOSをインストールすることができると思いますが、
今回リリースされたOS3.0のデータって、どこかでダウンロードできましたっけ・・・?
iPhoneDevCenterを探してみましたが、特に見つからなかったのですが・・・。

478 名前:名称未設定 mailto:sage [2009/06/19(金) 22:36:29 ID:XJ49Rjsr0]
>>477
3.0 GM は iPDC にあると思うけどソレでもだめ?GM は正式板と同じだって話だよ。

479 名前:名称未設定 mailto:sage [2009/06/19(金) 22:36:37 ID:EOZBSfdn0]
面倒だけど2.2.1でリストアしてからアップデートかければ?

480 名前:名称未設定 mailto:sage [2009/06/19(金) 23:03:41 ID:+HFA9TFFi]
appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6578.20090617.VfgtU/iPhone1,2_3.0_7A341_Restore.ipsw



481 名前:名称未設定 mailto:sage [2009/06/19(金) 23:08:05 ID:+HFA9TFFi]
あ、>>480はiPhone 3G用ね

482 名前:名称未設定 mailto:sage [2009/06/19(金) 23:32:16 ID:OVaQip3K0]
>>478-481
みなさん、本当にありがとうございます。

480さんのデータから復元ができました。
一時はどうなる事かと思いましたが・・・良かったです。
かさねがさね、お礼申し上げますm(_ _)m

483 名前:名称未設定 mailto:sage [2009/06/20(土) 05:48:59 ID:OlDEv+lr0]
ダウンロード何回止まるんだこれ
やっと出来たと思ったらマウント失敗してるし

484 名前:名称未設定 [2009/06/21(日) 01:06:22 ID:iZAyUsj80]
あれ、3.0GMっておとせなくなった?

485 名前:名称未設定 mailto:sage [2009/06/21(日) 13:47:18 ID:2C6Fgtiw0]
>>484
落とせないよ。

SDKからβが外れたときから。

486 名前:名称未設定 mailto:sage [2009/06/21(日) 15:08:09 ID:oLBEfBSP0]
休日中に色々試そうと思ってたけど、
iPhone SDK3.0がダウンロードできん
ダメすぎだろ

487 名前:名称未設定 mailto:sage [2009/06/21(日) 15:14:32 ID:nOSEjks00]
>>486
おれもれも
回線混み過ぎ?

488 名前:名称未設定 mailto:sage [2009/06/22(月) 16:04:13 ID:4+weBqjS0]
今日SDKを入れたばかりの初心者です。

ttp://gihyo.jp/dev/serial/01/iphone/0003?page=1

をみながらこつこつやっているのですがどうしてもできない
ところがあります。

viewのlibrary→cocoa touch→input&values

で出てくるtextやlabelなどを練習で画面に出そうとすると
最後に選んだ方しかview画面に出てきません。
(textボックスを出してても次にlabelを選択するとそれしか
表示されない)

ですので一つの画面に2、3のパーツが同時に出ないです。

どうしてでしょうか?

489 名前:名称未設定 mailto:sage [2009/06/22(月) 20:04:04 ID:9D40e7Ew0]
>>488
言ってる事がよく分からんのだが、
「選んだ」って具体的に何をしてるの?
ちゃんとviewに配置してる?

490 名前:名称未設定 mailto:sage [2009/06/22(月) 23:27:35 ID:ALIGVeCpi]
Google NewsをUIWebViewで動作させて、リンク先を画面表示させるには、どうすれば良いのでしょうか?
NewWindowsのDelegateも呼ばれないようなので行き詰まりました



491 名前:488 mailto:sage [2009/06/22(月) 23:51:32 ID:4+weBqjS0]
>489

すいません。自分でもよくわからない文章でした。

view controllerへLibraryからパーツをドラッグしています。
例えばまず「Label」をドラッグドロップした後に「text」を
ドラッグドロップすると「text」だけ残り、始めの「Label」が
なくなってしまいます。

今もやってみたのですがどうしても一つしかパーツをViewControllerに
おくことができません。

アドバイスお願いします。

492 名前:名称未設定 mailto:sage [2009/06/23(火) 00:05:35 ID:KgN8HVRE0]
ViewControllerは一つのViewしか持たないから当たり前。
まずUIViewを持たせて、その中に複数のViewを置く。superviewとsubviewsの関係ね。

493 名前:488 mailto:sage [2009/06/23(火) 00:30:27 ID:0ffuPctb0]
>492

アドバイスありがとうございました。
無事作業できるようになり、練習も進みました。

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

494 名前:名称未設定 [2009/06/23(火) 03:53:22 ID:ECZOgC3f0]
質問です
3.0になってから外部デバイスの制御ができるようになった
みたいなんだけど、それの使い方を解説してるリソースってどこかにないでしょうか?
BlueToothのSerial Port Profileを使いたいと思ってます

External Accessoryフレームワーク を使うらしいのは何となくわかるのですが、ADCには
リファレンスしかないみたいで、どうやって使うのかがいまいちよくわからない・・・

495 名前:名称未設定 mailto:sage [2009/06/23(火) 04:54:07 ID:BmmpaZOl0]
先生、質問です。しょーもない質問です∩(´・ω・`)

プログラム入門の基本、「四則演算」を扱ってるサンプルってどこかにありませんか?
入力項目が2つで、答が表示される……という極めてシンプルなので十分なんですが。



496 名前:名称未設定 mailto:sage [2009/06/23(火) 08:17:01 ID:on3VH/gw0]
宿題か

497 名前:名称未設定 mailto:sage [2009/06/23(火) 08:28:28 ID:nkWt67C/0]
しょーもないな

498 名前:名称未設定 mailto:sage [2009/06/23(火) 08:38:43 ID:JcOsLslOi]
Appleの一番初歩のチュートリアルが簡易電卓じゃなかったっけ?
iPhoneじゃなくてMacの方だったかも。

499 名前:名称未設定 mailto:sage [2009/06/23(火) 12:27:52 ID:X/A3SWfS0]
>>496-497
宿題ではないです。
他の画像表示とかの簡易なサンプルはあったんですが、
計算系のがなかなか見つからなくて。

>>498
あ、iPhoneのサンプルに縛られる必要ないんですよね。
探してみます。ありがとうございました。

500 名前:名称未設定 mailto:sage [2009/06/23(火) 12:55:33 ID:nkWt67C/0]
土台を作らずに家を建てるような話だな



501 名前:名称未設定 mailto:sage [2009/06/23(火) 19:17:40 ID:jNYvLhqh0]
>>499
「iPhone OS Xcodeクイックツアー」というタイトルのドキュメントが
サンプルプロジェクトとして計算機をあつかっていました。

502 名前:名称未設定 mailto:sage [2009/06/24(水) 08:23:38 ID:OXTIUZ1+0]
>494
それを使うには接続時に外部デバイスとiPhoneとで
ネゴシエーション後に利用可能になる。

しかしネゴの内容はMade for ipodのライセンス取得が必要。
ADCにサイトがあるので必要書類(会社情報、登記簿)添えて申請汁。

503 名前:名称未設定 mailto:sage [2009/06/24(水) 12:41:11 ID:nO3sQV3N0]
iPhoneDeveloperProgramの
Current Distribution Certificate
がずっと
Pending Approval
なのですが、他に同じ症状の方いますか?これは待つしかないのでしょうか?

504 名前:名称未設定 mailto:sage [2009/06/24(水) 13:40:13 ID:TxxbTVzxi]
>>503
普通はすぐできる

505 名前:名称未設定 mailto:sage [2009/06/24(水) 20:13:10 ID:fPe5ztZj0]
>>503
そこの段階からさらにもう一回ボタン押したかい?なんて名前のボタンだったか忘れたけど。。

506 名前:名称未設定 mailto:sage [2009/06/25(木) 03:51:23 ID:bbfrfRzR0]
>>504-505
…。ありがとうございます。できました。
もう1回押すボタンあったんですね…。ほんと、ありがとうございます。恥ずかしいです。

507 名前:494 mailto:sage [2009/06/25(木) 05:31:37 ID:x+XbyJep0]
>>502
レスサンクスです
早速Made for iPodとかWork with iPhoneで調べてみました。
が、若干めんどくさいな・・・
特に今回の件は個人的なデバイスの作成のためだったんで
登記簿とか用意できないぞ

とりあえず途中まで申請手続きを進めてみたが、
Legal Contactを要求されたあたりで断念した

所属大学の研究室の名義を借りればもしかしたら
できるかもしれないが、ちょっと様子見

508 名前:名称未設定 mailto:sage [2009/06/25(木) 17:01:56 ID:U4Ntx9V+0]
横レス

>>507
当方個人事業に毛が生えたような法人。
SPP使いたくて、というかDock経由のシリアル通信もだけど、その面倒な
申請を行って10日が経過。
Verifyに5 business daysかかるって書かれた受付メールが来たっきり。
売上は当然100M$以下だから半ば放置されてるのではないかと推測。

さすがにiPhone Developer Programほど敷居は低くないんだろうなぁと
感じてる。登記の確認とかADC Japanがやるのかなぁ。

は、ともかく、個人でもADC Japanが確認するなら、iDPと同じく、
個人事業の開廃業等届出書で代用できるのでは?
とりあえずそれらしい事業計画立てて
ttp://developer.apple.com/contact/
のあたりで聞いてみるとか。

509 名前:名称未設定 mailto:sage [2009/06/25(木) 19:01:30 ID:yHJ4xyp30]
>>508
ADCの力関係を考えるにADC(米)に直接転送だったりしそう
ADC Jにそこまでまかされているだろうか?

510 名前:名称未設定 mailto:sage [2009/06/26(金) 00:33:20 ID:vjJDoCkN0]
当面は北米前提とかじゃないの?
製品実績が無ければ、むやみに仕様公開したくないだろうし。



511 名前:名称未設定 mailto:sage [2009/06/26(金) 02:42:06 ID:Nkuq5qjF0]
iPodTouch2G(2.2.1)をPCに繋いだところ、Xcodeのオーガナイザに
"開発をサポートできませんでした"と出ました。再起動してみると
"サービスを開始できませんでした"と出るようになりました。

どうすれば開発に使えるようになるのでしょうか?OSを3.0にアップデートすればいいのでしょうか?なお、iPhone(3.0)は問題なく使えています。
よろしくお願いいたします。

512 名前:名称未設定 mailto:sage [2009/06/26(金) 04:00:37 ID:JRqpZOLn0]
>>511
再起動ってのはXcodeの再起動?
touchの方の再起動(ロック→ロック解除ではなく、電源オフ→電源オン)はしてみた?


513 名前:名称未設定 mailto:sage [2009/06/26(金) 07:37:00 ID:+cDUxGqk0]
>>510
>当面は北米前提とかじゃないの?

申請にはiPodとiPhoneの区別は特に無かったね。


514 名前:名称未設定 [2009/06/28(日) 01:22:03 ID:wB+qH++o0]
2.2.1のSDKってもうダウンロードできないのでしょうか?

515 名前:名称未設定 mailto:sage [2009/06/28(日) 03:04:46 ID:0lpeNKJN0]
>>514
みたいだね。でも3.0のSDKでもターゲットを
2.2.1にできるから、それでいいと
思う。

516 名前:名称未設定 mailto:sage [2009/06/29(月) 10:11:30 ID:ezHI9eMfP]
iPhoneアプリの開発のため、Mac環境の導入を検討しているのですが、
CPUがAMDでも可能でしょうか?
現在あいているPCにMac OS Xをインストールをしようと思っています。

517 名前:名称未設定 mailto:sage [2009/06/29(月) 10:18:59 ID:Qj9SbdxO0]
>>516
不可能です。
Macを購入して下さい。

518 名前:名称未設定 mailto:sage [2009/06/29(月) 10:30:15 ID:6zFpZZKh0]
初心者スレとはいえ酷すぎるなw

519 名前:名称未設定 mailto:sage [2009/06/29(月) 11:45:49 ID:RrzlV7G00]
さすがに釣りではなかろうか。

520 名前:名称未設定 mailto:sage [2009/06/29(月) 12:37:45 ID:bZkhRfYY0]
>>516
初心者スレだが敢えて言おう。

少しは調べろ。



521 名前:名称未設定 mailto:sage [2009/06/29(月) 14:57:53 ID:6zFpZZKh0]
釣りじゃないなら、まずMac初心者スレに行った方が良いと思う。

522 名前:名称未設定 mailto:sage [2009/06/29(月) 22:24:38 ID:JFBFWdEb0]
UDP扱いたい場合
iPhoneで動作させることを前提にすると
NFStreamがベストでしょうか?

523 名前:名称未設定 [2009/06/29(月) 23:03:22 ID:2IjFxbfo0]
MKMapViewにピンをいくつか立てて、その上にUIViewを重ねているのですが
UIViewを重ねたエリアをタッチしてもMKMapViewのピンが反応しません
雰囲気的には
UIViewを重ねなければちゃんとピンが反応します

MKMapView *m = [[MKMapView alloc]initWithFrame:CGRectMake(0,0,320,320)];
[view addSubview:m];
[m release];
UIView *v = [[UIView alloc]initWithframe:CGRectMake(100,100,10,10)];
[view addSubview:v];
[v release];

という感じです
vのタッチをスルーしてmのタッチとして扱いたいのですが
どのようにすればよいでしょうか?

524 名前:名称未設定 mailto:sage [2009/06/29(月) 23:41:34 ID:HgXwGBbx0]
>>523
UIViewのuserInteractionEnabledをNOにすればいいんじゃね?


525 名前:名称未設定 [2009/06/29(月) 23:58:06 ID:2IjFxbfo0]
>>524
行けました
ありがとうございます

UIViewのクラスリファレンスは見ていたつもりでしたが
甘かったみたいです
お手数おかけしました


526 名前:名称未設定 [2009/06/30(火) 01:42:09 ID:yEs52zwm0]
ttp://developer.apple.com/iphone/download.action?path=/iphone/iphone_sdk_3.0__final/iphone_sdk_3.0__leopard__9m2736__final.dmg
ttp://developer.apple.com/iphone/download.action?path=/iphone/iphone_sdk_3.0__final/iphone_sdk_3.0__snow_leopard__final.dmg


527 名前:名称未設定 [2009/06/30(火) 01:48:24 ID:yEs52zwm0]
>>526

雪豹デベのためのSDKもあるのかw


528 名前:名称未設定 mailto:sage [2009/06/30(火) 01:48:57 ID:j/WlOkMS0]
夜中に一人で何やってんの

529 名前:名称未設定 mailto:sage [2009/06/30(火) 06:24:43 ID:QWROwNq30]
夜中に一人で何やってんの

530 名前:名称未設定 mailto:sage [2009/06/30(火) 10:06:53 ID:Eo1fPQdpO]
FileMaker pro Advanced をiPhoneアプリ開発環境にして下さい、おながいします。



531 名前:名称未設定 mailto:sage [2009/06/30(火) 14:50:53 ID:Rgsxyfci0]
昼間に一人で何言ってんの

532 名前:名称未設定 mailto:sage [2009/07/01(水) 00:47:51 ID:eyoJt7+t0]
iPhone/iPodのホームの様な左右にページをドラッグやフリップで
ページを切り替えるコンポーネントはあるんでしょうか?
UIPageControlのAPIを見たのですがこれは違うような気がして。
自作かなーと思ってるんですが、コンポーネントとしてあるようなきもして。
あれば、クラス名なんかを教えてもらえませんか?


533 名前:名称未設定 mailto:sage [2009/07/01(水) 01:04:24 ID:czoZlfob0]
>>532
developer.apple.com/iphone/library/samplecode/PageControl/index.html

534 名前:名称未設定 mailto:sage [2009/07/01(水) 01:21:21 ID:Lq0smZHC0]
SDK2.2を使用中なのですが、SDK3.0を入れるにあたり注意点等ありますでしょうか。
何も考えずに単純に3.0のSDKをインストールして平気なのでしょうか?

535 名前:名称未設定 mailto:sage [2009/07/01(水) 01:32:11 ID:2jnK82ZU0]
>>534
3.0を入れると、テンプレートが3.0のものになる。
3.0用のテンプレートはちょこっといじらないと2.xでは動かなくなるものがある。

536 名前:名称未設定 mailto:sage [2009/07/01(水) 01:32:31 ID:+ZqDE62H0]
>>534
入れすぎないように注意。

うそ。インストールガイドをちゃんと読みながらやればOK

537 名前:名称未設定 mailto:sage [2009/07/01(水) 03:37:06 ID:pwotrWVGi]
あれ?本スレ落ちた?

538 名前:名称未設定 mailto:sage [2009/07/01(水) 04:10:09 ID:qz6hN3AM0]
無事立ったようだ
iPod touch/iPhone ネイティブアプリ製作 ver.12
pc11.2ch.net/test/read.cgi/mac/1246388266/


539 名前:534 mailto:sage [2009/07/01(水) 05:58:18 ID:Lq0smZHC0]
>>535
ありがとうございます。
2.xでは動かなくなる例とかが掲載されているサイトとかありますでしょうか?

>>536
やりすぎないように気をつけます。。。

540 名前:名称未設定 mailto:sage [2009/07/01(水) 08:02:58 ID:3eDbox5j0]
うちは、IBが動かなくなった。
# plug In のエラーとかで、Cocoa touch が出なくなった。

アンインストール−>インストールで動くようになったけど。




541 名前:名称未設定 mailto:sage [2009/07/01(水) 10:21:03 ID:eyoJt7+t0]
>>533
>ttp://developer.apple.com/iphone/library/samplecode/PageControl/index.html

おー、やっぱりUIPageControlで合ってたんですね。
ありがとうございます。サンプル見てみます!

542 名前:名称未設定 mailto:sage [2009/07/01(水) 16:40:40 ID:KpOKrqv10]
iPhone SDK 3.0(Xcode 3.1.3)において、実機にデバッグビルドした際に、
デバッガコンソールに下記のワーニングが二度現れます。

warning: Unable to read symbols for ""プロジェクトファイルのパス/build/Debug-iphoneos"
/アプリケーション名.app/アプリケーション名" (file not found).

実機はiPhone 3GでもiPhone 3GSでも同じ、シミュレータでは現れません。
アプリケーション自体は問題なく動作しています。
解決のヒントなど、もしお分かりになればお教え下さい。

543 名前:名称未設定 mailto:sage [2009/07/01(水) 16:45:44 ID:Lo8467Rm0]
>>542
アプリは起動するのに本体が見つからないって変な警告だな。
Xcodeのバグじゃなかろうか?

544 名前:名称未設定 mailto:sage [2009/07/01(水) 21:39:11 ID:7cMbJiZu0]
>>541
UIPageControlは点の羅列で現在位置を示すものです。
フリップをしたいなら、UIScrollViewですよ
propertyのpagingEnabledをYESにしてやれば、scrollViewのframeのサイズで、
区切られるようになりますよ〜

あとは>>533さんの示してくれたサンプルを読めばわかりますよー

545 名前:544 mailto:sage [2009/07/01(水) 21:45:13 ID:7cMbJiZu0]
>>541
たびたびすいません。
https://developer.apple.com/iphone/library/samplecode/Scrolling/index.html
フリックだけならこっちの方がシンプルかもしれないです。


546 名前:名称未設定 mailto:sage [2009/07/01(水) 21:50:36 ID:Il4g5I/f0]
MpaKitもWebViewも使えないな・・・

まじちゃんと作ってから出せって感じだ。

547 名前:名称未設定 mailto:sage [2009/07/01(水) 21:54:38 ID:+1FEJoNB0]
>546
MpaKit
ちゃんと見直してから送信したら?

548 名前:名称未設定 mailto:sage [2009/07/01(水) 23:13:54 ID:IwuE5I950]
「日本の女はクソだ」と言い張る童貞の主張に近い

549 名前:名称未設定 mailto:sage [2009/07/01(水) 23:32:01 ID:sFliMlxY0]
ビッチを嫌う処女信仰がマカに多いのは仕様。

550 名前:名称未設定 mailto:sage [2009/07/01(水) 23:34:32 ID:wB7Q5+ZD0]
>>549
非処女=ビッチって発想がいかにもドザ。



551 名前:名称未設定 mailto:sage [2009/07/02(木) 00:41:02 ID:BvR8Hwap0]
無駄に煽りたがる人が出るのはなんなんだろう

552 名前:名称未設定 mailto:sage [2009/07/02(木) 00:59:07 ID:y2O2uEBl0]
ジャパニーズガールスカトロ

553 名前:名称未設定 [2009/07/02(木) 06:51:51 ID:SriiPS/P0]
写真アプリからMMSヘ画像の添付するインターフェースって一般のアプリが使えるのでしょうか?
MessageUIには含まれていないっぽいのですが。

554 名前:名称未設定 mailto:sage [2009/07/02(木) 07:54:39 ID:hSN8luDx0]
マクを使ってる時点で選ばれた人間だしなあ。
ドスなんて一般大衆が使ってれば良い。

チャイルドポルノ画像添付攻撃ソフトでも作る気ですか?
攻撃的なソフトは日本ユニセフに通報しますよ。

555 名前:名称未設定 mailto:sage [2009/07/02(木) 10:56:16 ID:uveY8bQv0]
>>554
釣れる?

556 名前:542 mailto:sage [2009/07/02(木) 14:13:26 ID:WjZJxfne0]
いろいろ試した所、Appleのサンプルコードでも同じ現象が出たので
SDKを再インストールしてみます。

>>543
お返事ありがとうございました。


557 名前:名称未設定 mailto:sage [2009/07/02(木) 23:36:35 ID:vgZJlYVG0]
本スレ落ちた。。

558 名前:名称未設定 mailto:sage [2009/07/02(木) 23:42:34 ID:XmwWSp2C0]
>>557
iPod touch/iPhone ネイティブアプリ製作 ver.12
pc11.2ch.net/test/read.cgi/mac/1246388266/


559 名前:名称未設定 mailto:sage [2009/07/02(木) 23:43:21 ID:vgZJlYVG0]
すまん。。

560 名前:名称未設定 mailto:sage [2009/07/03(金) 05:44:34 ID:wGpo+s7O0]
ところでbetaってロックされるから古いバージョンに戻せないって
リリースノートに書かれてるけど、3.1betaから3.0に戻せた。
これってたまたまでせうか?
3.0リリース直前にiPD登録が終わったんで、初betaなのです。

iPod.appのアーティスト一覧に日本語がインデックスされなくなった
ので切り分け的に戻してみた。



561 名前:名称未設定 mailto:sage [2009/07/03(金) 12:06:47 ID:D9dY1Pir0]
OSは戻ってもベースバンドが違うとどっかで聞いたので、完全に同じか不安ではある。
OSを戻すのは簡単だろうけど、ベースバンドを戻すのは難しいらしい。

562 名前:名称未設定 mailto:sage [2009/07/03(金) 20:37:27 ID:wGpo+s7O0]
あぁ、そっちがありましたか。
とりあえず戻らないじゃなくて戻せないってことなんですね。

ありがとう。

563 名前:名称未設定 mailto:sage [2009/07/04(土) 12:05:24 ID:wSFe5hT/0]
少々趣旨が違うかもしれませんが、質問させてください。

iPhone Program PortalのApp IDsなのですが、
Bundle Identifierにアスタリスクが使えなくなったのでしょうか?
だとしたらアプリケーションごとにApp IDを払い出さないといけないのでしょうか?

それと、有効ではないApp IDは削除出来ないのでしょうか?
以前作ったアスタリスクを使用したApp IDが軒並み使用不可になっていて、何となく邪魔におもえます。

以上、ご存知の方がいましたら、よろしくお願いします。

564 名前:名称未設定 mailto:sage [2009/07/04(土) 12:39:57 ID:4lMfX2g60]
>>563
ワイルドカードのApp IDは使えるけど、開発用にしか使えないですね。
XXXXXXX.com.example.*
ならアプリケーション側は
com.example.test1 とか指定する感じですね。

んで、developer forumあたりにもネタが出てたんですが、IDの削除は出来ない様です。
せめてdescriptionの変更ぐらい出来るといいんですが。

565 名前:563 mailto:sage [2009/07/04(土) 13:15:02 ID:wSFe5hT/0]
>>564

なるほど、開発専用ですか。となるとやはりアプリケーションごとに払い出す運用となるのですね。
……IDは消せるようになってほしいなぁ。

有益な情報、ありがとうございました。

566 名前:名称未設定 mailto:sage [2009/07/04(土) 15:29:25 ID:Ol1BHUQqi]
ていうかもうアスタって使えなくない?

567 名前:名称未設定 mailto:sage [2009/07/04(土) 16:25:08 ID:c73TJ4xs0]
キーチェーンの共有が出来なくなった時点で使う意味が無くなったからな。
Push Notificationは固定IDが必須だし、AppID自体の意味が無い気がする。

568 名前:名称未設定 mailto:sage [2009/07/04(土) 17:46:44 ID:hz1EO2B70]
アスタリスクのみのアプリが3日くらい前に通ったけど。どういう事?

569 名前:名称未設定 mailto:sage [2009/07/04(土) 17:48:30 ID:V7IgcJn40]
アスタリスク使えなくなったの?

OS2.x時代にアスタリスクでApp Storeへアップしてあるんだけど
そのままだ。。

570 名前:名称未設定 mailto:sage [2009/07/04(土) 18:15:00 ID:Ol1BHUQqi]
今ID取りに行ったけど、アスタリスク付きは作れるけどエラー扱いのIDになった
ていうか画面が変わってる



571 名前:名称未設定 mailto:sage [2009/07/04(土) 18:26:16 ID:5iQyuLHH0]
縦横レイアウトに合わせて、ウインドウ全体のサイズを取得するには
どうするのが良いですか。

縦のとき 320 x 480
横のとき 480 x 320

が欲しいのです。

572 名前:名称未設定 mailto:sage [2009/07/04(土) 18:30:15 ID:hz1EO2B70]
>>571
何をしたいかよく分からん。サイズが欲しいならそれで正解だろ。

573 名前:571 mailto:sage [2009/07/04(土) 18:45:56 ID:5iQyuLHH0]
>>572
具体的に書きます。

(1) デバイスが縦か横かを判定する方法があり、サイズは固定値を入れておく?
(2) デバイスが縦か横かを考慮した値を返してくれる API がある?

という質問です。

574 名前:名称未設定 mailto:sage [2009/07/04(土) 18:51:22 ID:fmWZteaU0]
後出し厨には教えてやらんよバーーーーーーカ!

575 名前:名称未設定 mailto:sage [2009/07/04(土) 19:57:24 ID:hz1EO2B70]
>>573
逆に聞きたいんだけど、それ以外のサイズのウインドウがあると思う?
要するに(1)です。

576 名前:名称未設定 mailto:sage [2009/07/04(土) 20:08:53 ID:c73TJ4xs0]
ステータスバーの有無とか。

577 名前:名称未設定 mailto:sage [2009/07/04(土) 20:14:16 ID:j+1C+GKK0]
来るべき画面サイズ変更に備えて、固定値ではなくてスクリーンのサイズや
root view controller の view サイズから判定した方がいいかも

578 名前:名称未設定 mailto:sage [2009/07/04(土) 20:18:54 ID:hz1EO2B70]
>>576
viewじゃなくてwindowのサイズでしょ?

579 名前:名称未設定 [2009/07/04(土) 20:39:23 ID:qxj+dGm10]
聞く方も答える方も素人だらけだからこのスレはやめられねぇ!

580 名前:名称未設定 mailto:sage [2009/07/04(土) 22:27:11 ID:yaEaHQgk0]
Rotationでレイアウト変えたときに向きを拾えよ。



581 名前:名称未設定 mailto:sage [2009/07/05(日) 00:39:26 ID:UhFZFTCJ0]
普通に bounds でしょ?

582 名前:名称未設定 mailto:sage [2009/07/05(日) 00:47:53 ID:ptTHL5xH0]
えー、ワイルドカード使えなくなったの?
ワイルドカードのプロビジョニング使ったアプリをアップして承認待ちなんだけど、
作り直して再アップする必要があるんだろうか?

583 名前:名称未設定 mailto:sage [2009/07/05(日) 00:58:18 ID:25/Xww+x0]
>>573
[[UIScreen mainScreen] applicationFrame]

584 名前:573 mailto:sage [2009/07/05(日) 06:54:47 ID:+UafH1Jdi]
>>583
ありがとうございます!


585 名前:名称未設定 mailto:sage [2009/07/06(月) 11:59:20 ID:7+zqrXvmi]
>>567読んで気になったんですが、以前は複数端末での開発ができたと思うんですが、最近はできなくなったんですか?

586 名前:名称未設定 mailto:sage [2009/07/06(月) 13:07:49 ID:zxcOEV3J0]
AppIDはBundleIDと関連するが、端末のIDとは関係ないべ。可能。

587 名前:名称未設定 [2009/07/06(月) 17:34:29 ID:M8MD256k0]
zipで固めた画像を読み込むアプリってあると思うんですが
DiskAidとかでPhotosディレクトリ以下にファイルを突っ込むと読み込めるようになっているのがあります
これってどういう風にすればいいんでしょうか?


588 名前:名称未設定 mailto:sage [2009/07/06(月) 18:43:12 ID:7+zqrXvmi]
>>586
あ、書き方悪かったみたいです。複数のiPhone端末じゃなくて、開発機です。会社と自分ちとで開発をしたいんです。

589 名前:名称未設定 mailto:sage [2009/07/06(月) 19:17:48 ID:zxcOEV3J0]
>>588
ああ、>>567 のキーチェーンはiPhoneの中の物の話ね。

複数Macでの開発は、証明書(と秘密鍵)をキーチェーンから書き出し/読み込みする事で
以前と変わらず可能。


590 名前:名称未設定 mailto:sage [2009/07/06(月) 20:05:50 ID:edKJ2Xft0]
>>589
なるほど。ありがとうございます。
前はキーチェーンを書き出して複数開発機が出きたのですが、
新マシンに移行した時にキーチェーンが書き出せずに頓挫してました。
再度試してみます。



591 名前:名称未設定 [2009/07/07(火) 08:47:12 ID:Ps2Vq4Xz0]
Push Nortificationのドキュメントをながし読みしてみたのですが,これってやっぱり完全にサーバと通信するアプリ向けなのですよね?
単に、「何時になったら起動してください」みたいなことはできるのかしら…

592 名前:名称未設定 mailto:sage [2009/07/07(火) 08:49:50 ID:+UCmJiVP0]
>>591
できない

593 名前:名称未設定 mailto:sage [2009/07/07(火) 11:48:32 ID:+CeNeXwV0]
iphoneSDKの特にUI系なんですが、メンバー変数や関数、引数など
(selectRow: animated: などなど)
MSDNのメンバー関数 変数一覧にあたるようなサイト(ヘルプ?)はあるのでしょうか?
どういった変数や関数があるか知りたいのですがわからないです。

594 名前:名称未設定 mailto:sage [2009/07/07(火) 12:00:37 ID:zhJwSU7P0]
Xcode->ヘルプ->製品ドキュメント。
devcenterにもあるけど。

595 名前:名称未設定 mailto:sage [2009/07/07(火) 12:31:14 ID:+CeNeXwV0]
>>594
おお、助かりました!
ありがと〜

596 名前:名称未設定 mailto:sage [2009/07/07(火) 12:51:33 ID:iEFXiLhCi]
いわゆるアンドキュメントなクラスとかメソッドとかって、猛者の方はどうやって見つけるんですか?

597 名前:名称未設定 mailto:sage [2009/07/07(火) 14:00:08 ID:XflZAaMci]
そういえば本家class-dumpがバージョンアップしてたね…(-。-) ボソッ

598 名前:名称未設定 [2009/07/07(火) 14:17:18 ID:nZLGl+Ns0]
iphone3gとtouchで処理を分岐したいのですが、その辺りってどうやってやればいいんでしょうか?
iPhoneの場合だけバイブを動かしたいのです。

599 名前:名称未設定 mailto:sage [2009/07/07(火) 14:45:43 ID:Bu/5DSlQ0]
しかるべき関数があるかもしれんけど、
UIImagePickerControlView を使って
カメラ搭載かどうか=iPhone かどうか判定できる

600 名前:名称未設定 mailto:sage [2009/07/07(火) 14:55:20 ID:5pTZPQCY0]
>>593
俺は、製品ドキュメントウィンドウの操作法がイマイチよく分からんから、
いつもXcodeのクラスブラウザの方からブックアイコンをクリックして見てる。
(表示される内容は同じ)



601 名前:名称未設定 mailto:sage [2009/07/07(火) 15:11:58 ID:fchQLQkm0]
>>593
調べたいクラスやメソッド名の上でoption+ダブルクリックすれば、目的のドキュメント開くよ。

>>598
[[UIDevice currentDevice] model] やってみ。

602 名前:名称未設定 mailto:sage [2009/07/07(火) 15:31:32 ID:Z+sRznEf0]
デバイス名で判定でなく、使う機能(カメラ)の有無を判定するのが推奨されてたはず。
バイブに限って言えば、touchでも実行時エラーは吐かなかったはずなので同じコードでおkかと。

603 名前:名称未設定 mailto:sage [2009/07/07(火) 15:32:15 ID:8Yc3hTk+0]
>>598
そもそもtouchにバイブ機能はないんだから、バイブ用のメッセージを送っても無反応なだけ。
わざわざ分岐する意味がないと思うんだが。

604 名前:598 [2009/07/07(火) 15:57:13 ID:nZLGl+Ns0]
>>599
>>601-603

エラーが出るものだと思い込んでいました
メッセージ送ってもokとのことなので特に分岐せずに行きたいと思います
ありがとうございます

ほかで必要になる可能性もあるので、カメラの有無やUIDeviceも調べてみます


605 名前:名称未設定 mailto:sage [2009/07/07(火) 16:54:03 ID:fchQLQkm0]
>>602
将来Touchにカメラ付く可能性ってゼロじゃないよな・・・って考えると、その判定方法がしっくりくるね。
俺も勉強になった。ありがとう。

606 名前:名称未設定 mailto:sage [2009/07/07(火) 17:51:56 ID:27mIFTLG0]
>>601
その方法でドキュメント開くとよくXcode落ちるから直前でセーブするとよい。

607 名前:名称未設定 mailto:sage [2009/07/07(火) 18:04:21 ID:8Yc3hTk+0]
カメラ機能はバイブと違って選択肢にカメラ撮影を表示したらユーザビリティー的に問題がでるから
判定してないとリジェクトくらう可能性があるんじゃなかったっけ。

608 名前:名称未設定 mailto:sage [2009/07/07(火) 18:46:44 ID:Jdk64UF40]
Xcodeでstaticライブラリのビルド先を
build/Debug-iphonesimulator/libHoge.aから
build/Debug-iphoneos/libHoge.aへ変更するにはどうすればよいでしょうか?
ベースSDKはiPhone Device 3.0です。
Simulatorに切り替えてから戻しても全く無反応でした。

609 名前:名称未設定 [2009/07/08(水) 00:14:18 ID:MUxe+kad0]
UINavigationControllerを使用して遷移後の画面からUINavigationButtonをクリックして
元の画面(UIViewの画面)に戻るときに、UIView内のUITextFieldの入力値を変えることができません。
どうやったら良いのでしょう。

UILabel上のテキストについてはViewWillAppear{}内でUILabel.text=hogeとすることで
設定した値(hoge)で更新内容を反映できるのですが、
同じ場所でUITextField.text=hogeとしても変わらず、
ViewDidLoad{}内に書いても変わりませんでした。

610 名前:名称未設定 mailto:sage [2009/07/08(水) 00:25:18 ID:67ZuPIfu0]
コードがそこに回って来てるかログ出して確認sage



611 名前:名無しさん@ゴーゴーゴーゴー! mailto:名無しさん@ゴーゴーゴーゴー! [2009/07/08(水) 00:40:19 ID:IgVtOJDQ0]
>>606
落ちた事一度も無いけどなぁ

612 名前:名称未設定 mailto:sage [2009/07/08(水) 01:02:32 ID:l47I/u2w0]
>>609
アウトレットがつながってないんじゃねーの?

>>606
俺は逆でメニューから開こうとするとよく落ちる

613 名前:名称未設定 [2009/07/08(水) 01:05:34 ID:MUxe+kad0]
>610
コードには回ってきてます。
UITextField.text=hoge
UILabel.text=hogeというのを同じ場所に書いていて
ラベルの方だけそのとおりに変わります

614 名前:名称未設定 mailto:sage [2009/07/08(水) 01:14:06 ID:6FBUP1qB0]
>613
てか、デリゲートで入力確定させてないのか?

615 名前:名称未設定 [2009/07/08(水) 01:14:54 ID:MUxe+kad0]
>612
初回の描画では値が入っているので(同一のインスタンス)
アウトレットはつながっています。
次の画面に遷移して、戻ったときに一度入っていた値を書き換えたいのですが
ラベルしか書き換わらない、という感じです。

UITableViewなんかでもreloadを書かないと反映されなかったので、こういう場合も
なにか特別に書かないといけないのかな、と思って質問したのですが‥


616 名前:名称未設定 [2009/07/08(水) 01:19:25 ID:MUxe+kad0]
>614
すみません。デリゲートで入力確定とは、具体的にどういうことでしょうか。
初回入力時の値は画面が戻ったときに元のまま残っています。


617 名前:名称未設定 mailto:sage [2009/07/08(水) 09:14:08 ID:DwLvbBC2i]
>>613
>>610
>コードには回ってきてます。
>UITextField.text=hoge
>UILabel.text=hogeというのを同じ場所に書いていて
>ラベルの方だけそのとおりに変わります

viewWillAppearだっけ?
あれで値をかくのうしてみては?

618 名前:名称未設定 mailto:sage [2009/07/08(水) 09:15:19 ID:DwLvbBC2i]
プッシュで表示したバッジが消えないのだけど、アプリ側でクリアする必要があるのだっけ?

619 名前:名称未設定 [2009/07/08(水) 11:04:18 ID:/OPI8oNVi]
>617
viewWillAppear viewDidAppear両方試しています。
ただ、すみません。ラベルの方の値も変わっていませんでした。
ログで確認するとコードには回ってきています。

620 名前:名称未設定 mailto:sage [2009/07/08(水) 11:41:48 ID:l47I/u2w0]
>>617
とりあえず
NSLog([UITextField description]);
NSLog(UITextField.text);
NSLog(hoge);
UITextField.text=hoge;
NSLog(UITextField.text);
NSLog(hoge);




621 名前:名称未設定 [2009/07/08(水) 14:26:59 ID:/OPI8oNVi]
>620
すみません。グローバル変数のつもりで使っていた変数の値が
引き継がれてなく、値が変わらなかった、というオチでした…。
本当にすみません。。

プッシュのときは、新しいviewControllerのプロパティに値を
設定することで渡せますが、そこから戻るとき(ポップ時)は
どうやって値を渡せば良いのでしょうか

622 名前:名称未設定 mailto:sage [2009/07/08(水) 14:50:06 ID:6FBUP1qB0]
プッシュするとき親コントローラ(oya)のポインタを渡しておく。

子で親側の変数をいじるとき
oya.hoge=***;



623 名前:名称未設定 [2009/07/08(水) 17:09:57 ID:/OPI8oNVi]
>622
ありがとうございます
解決いたしました。

624 名前:名称未設定 mailto:sage [2009/07/08(水) 17:42:03 ID:N7NLbWu+0]
平日午前中から書き込んでるMacユーザーって、やっぱ職業工作員AppleGK?
それともニートさん?

625 名前:名称未設定 mailto:sage [2009/07/08(水) 17:46:56 ID:Y5rQnlQ10]
>>624
iPhoneアプリ開発してればここみてても不思議じゃないよね。
おまいさんよりは自然だせ。

626 名前:名称未設定 mailto:sage [2009/07/08(水) 17:49:34 ID:N7NLbWu+0]
やっぱりニートか。

627 名前:名称未設定 mailto:sage [2009/07/08(水) 17:53:30 ID:l47I/u2w0]
>>624
もしかして五時半過ぎたから「会社員」が書込んでも不自然じゃないとでも思ったか?
お前働いたことないだろ?

628 名前:名称未設定 mailto:sage [2009/07/08(水) 17:59:13 ID:N7NLbWu+0]
わかりやすい反応だな。

629 名前:名称未設定 mailto:sage [2009/07/08(水) 18:13:29 ID:lofm3NRsi]
日本のケータイを信奉するケータイオタクか?

630 名前:名称未設定 mailto:sage [2009/07/08(水) 18:53:30 ID:7JCXp+UuO]
XMLやplistファイルを読み込ませて、
それをViewに出力させる方法を教えてエロい人><



631 名前:名称未設定 mailto:sage [2009/07/08(水) 19:00:48 ID:Y5rQnlQ10]
>>628
単純にウゼー
ここで何がしたいのかわからん

632 名前:名称未設定 mailto:sage [2009/07/08(水) 19:20:41 ID:l47I/u2w0]
>>630
ほれ

(GKView*)view.text=[NSString stringWithContentsOfFile:filepath usedEncoding:NSUTF8StringEncoding error:nil];

@implementation GKView
@synthesize text;
- (void)drawRect:(CGRect)rect
{
[text drawInRect:rect withFont:[UIFont systemFontOfSize:12.0f]];
}
@end

633 名前:名称未設定 mailto:sage [2009/07/08(水) 19:21:42 ID:l47I/u2w0]
おっとview.textをセットしたあとに
[view setNeedsDisplay];
がいるな

634 名前:名称未設定 mailto:sage [2009/07/08(水) 21:55:12 ID:7JCXp+UuO]
>>632,633
ありがとうございます。
iPhoneではXMLはNSXMLParserを使用しないと
利用出来ないと見たりするのですがどうなんでしょうか?

635 名前:名称未設定 mailto:sage [2009/07/08(水) 22:58:42 ID:ljFMIZnW0]
現在、UITableView Groupスタイルでカスタムセルを表示しようとしています。

先日まで、IBを使ったカスタムセルを使用していたのですが、
3.0対応をきっかけにカスタムセルをコードで作成する事にしました。

内容としては単純にひとつのセルに
CGRectMakeを使って位置・大きさベタ書きで、3つのラベルを乗せて

⊂A B C⊃

のように表示させる物です。


通常のセルを表示させる事には成功しました。
が、TableViewをEditモードにした際、
のように、セルの開始位置が動くに合わせて Aのラベルがずれないため

A⊂B C⊃

のように表示されてしまいます。
(IB使用時のカスタムセルは自動でずれてくれてた)

ttp://iphone.longearth.net/2009/02/25/
に紹介されているように、layoutSubviews内で動的にラベル位置を合わせてやれば良い
という事と睨んでいるのですが、セル自体の位置・大きさがつかめず悩んでいます。
記事中の「self.contentView.bounds」が肝であると思うのですが
『contentView』が一体なんのオブジェクトなのかがわかりません。

どのようにすれば、うまくラベルをセルの位置に合わせて配置できるのでしょうか?

636 名前:名称未設定 mailto:sage [2009/07/09(木) 01:43:48 ID:S7pAf3PKi]
>>634
なんでも好きなライブラリ使えば良い。
好みがないなら最初から入ってる libxml あたりが簡便かな

637 名前:名称未設定 mailto:sage [2009/07/09(木) 03:18:59 ID:mCPguKWl0]
UIScrollViewについて質問なのですが、IBでBounce Scrollにチェックを入れるとスクロールするのですが、
チェックを外すと固定になってしまいます。
Bounceはさせずにスクロールさせたいのですが、どうすれば良いでしょうか。

638 名前:名称未設定 mailto:sage [2009/07/09(木) 08:52:03 ID:1V0sf0bo0]
日本語版
Apple Push Notificationサービス プログラミングガイド
Store Kit プログラミングガイド
Game Kit プログラミングガイド
https://developer.apple.com/jp/iphone/library/japanese.html


639 名前:名称未設定 mailto:sage [2009/07/09(木) 13:24:03 ID:4buFJUmd0]
>>637
適切な contentSize (中身の大きさ) を設定する。

640 名前:名称未設定 [2009/07/09(木) 13:43:32 ID:CwbfV8d/i]
UINavigationBar の戻るボタンをIBを使わずに
作ると四角いボタンしか作れないのですが
デフォルトの先の尖ったボタンはどう設定
したら良いのでしょうか



641 名前:名称未設定 mailto:sage [2009/07/09(木) 15:34:34 ID:OW8V5JHx0]
>>640
UINavigationItem を Push する

642 名前:名称未設定 mailto:sage [2009/07/09(木) 18:35:38 ID:IdPN8D/h0]
アドレスブックからの引用を使いたかったので
ドキュメントの「iphone OS Address Book プログラミングガイド」
を参考に、練習用にまったく同じプロジェクトを1つ作ってみたのですが
エラーが発生してしまいます 以下エラーメッセージなんですが、どなたか原因がわかりますでしょうか?2.0のドキュメントなので3.0だと駄目とか

"_ABRecordCopyValue", referenced from:
-[QuickStartViewController peoplePickerNavigationController:shouldContinueAfterSelectingPerson:] in QuickStartViewController.o
-[QuickStartViewController peoplePickerNavigationController:shouldContinueAfterSelectingPerson:] in QuickStartViewController.o
"_kABPersonLastNameProperty", referenced from:
_kABPersonLastNameProperty$non_lazy_ptr in QuickStartViewController.o
"_kABPersonFirstNameProperty", referenced from:
_kABPersonFirstNameProperty$non_lazy_ptr in QuickStartViewController.o
".objc_class_name_ABPeoplePickerNavigationController", referenced from:
literal-pointer@__OBJC@__cls_refs@ABPeoplePickerNavigationController in QuickStartViewController.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

643 名前:名称未設定 mailto:sage [2009/07/09(木) 18:43:29 ID:4buFJUmd0]
左側の Group & Files で Frameworks を右クリック (タッチパッドの場合は2本指クリック等)して、
Add / Existing Frameworks... を選択し、AddressBook.framework を追加する。

644 名前:名称未設定 mailto:sage [2009/07/09(木) 19:05:50 ID:IdPN8D/h0]
>>643
ご指摘ありがとうございます
結果はエラーの数は1に減りましたが駄目でした。。。
ドキュメントの最初にフレームワークの追加はありまして、
そこでの方法は「グループ&ファイル→ターゲット→QuickStart(サンプルプロジェクト名)」で
右クリ「ファイル→情報を見る→一般」リンク済みライブラリ→+でAddress BookフレームワークおよびAddress Book UIフレームワークを追加しました。
この時リンク済みライブラリにそれが表示されないのが気になるのですが。。。グループ&ファイルには追加されます。
そして、643氏の指摘の方法でやり直したらエラー1個に減りました。Address Book UIフレームワークはそちらの方法だと表示されないので選択できませんでした。そしてのこったエラーが ".objc_class_name_ABPeoplePickerNavigationController", referenced from:
ABPeoplePickerNavigationControllerのヘルプを見るとフレームワークがAddress Book UIなのでやはりまだこちらのフレームワークが読み込まれてないのでしょうか?


645 名前:名称未設定 mailto:sage [2009/07/09(木) 19:38:48 ID:IdPN8D/h0]
解決いたしました。

二つのフレームワークの追加方法での参照先が違っていたので

ドキュメントにあったターゲットからフレームワークを追加する場合の参照先
Developer→Platforms→iphoneOS.platform→Developer→SDKs→iphoneOS3.0.sdk→system→Library→Frameworks→addressbookUI.framework
を643氏の方法でのリンク先
システム→ライブラリ→Frameworks に無かったのでコピー
グループとファイル内のアドレスブックframeworkをいったん削除
再度643氏の方法で追加するとエラー無しでビルドが通りました。
ライブラリの方のframeworkを参照して動いているようですが、なぜそちらに
UIのFrameworkが無かったのかよくわかりませんが一応解決したので良しと思います
ありがとうございました。

646 名前:名称未設定 mailto:sage [2009/07/09(木) 19:42:00 ID:6pCesPiT0]
アホス…

647 名前:名称未設定 [2009/07/11(土) 02:22:02 ID:ypDAqHRR0]
sqliteからデータを取得したときtext型のフィールドで、そこに何も入ってないときに
NULLの判定をしたいのですが、NULLでもnilでも@""でも判定ができないのですが…。
いちおうhp.vector.co.jp/authors/VA002803/sqlite/capi3-ja.htmに書いてあることを参考にして
いろいろやってるんですが返ってくる値の型はSQLITE_NULLではなく、SQLITE_TEXTでした。
具体的には
[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement.statement,columnIdx))];
この値をNULL判定したいのですが。NSlog(@"%@",上記の値);としてもログには何も出てきませんでした。
行き詰っています…

648 名前:名称未設定 mailto:sage [2009/07/11(土) 03:15:55 ID:wR7uEi+I0]
>>647
SQLiteは分からんが、NSStringインスタンスをNSLogで出力したんなら、nilの場合(null)とか表示されるはず。
それがないということは空文字列が返ってきてるんじゃないだろうか。@""が。
で、文字列が空かどうかはどうやって判定してるの?
まさか==@""じゃあるまいね。

649 名前:名称未設定 [2009/07/11(土) 06:59:09 ID:7GxGvBOu0]
処理を分割しないから行き詰まるんだ馬鹿。
テーブルがNULLを許可しているのなら以下のコードはNULLを返す。
char* column = (char *)sqlite3_column_text(statement.statement,columnIdx);

このNULLを返すカラムをstringWithUTF8Stringみたいなイニシャライザに渡すと例外が発生するはずだ。発生しない場合は「空の文字列」である@""が返って来てるだろう。空の文字列はnilで無くて長さが1以下かcompareで判断しろ。

650 名前:名称未設定 mailto:sage [2009/07/11(土) 10:46:52 ID:K7a1u63v0]
HTTPSクライアントの実装をしたいんだけど、どのあたりのクラスを見ればよいでふか?



651 名前:名称未設定 [2009/07/11(土) 10:55:58 ID:m9gZSiXA0]
devworld.apple.com/documentation/Networking/Conceptual/CFNetwork/Introduction/Introduction.html
このあたり読んだら?

652 名前:名称未設定 [2009/07/11(土) 11:01:56 ID:m9gZSiXA0]
ちょっと間違った。iPhoneだからこっちか。
devworld.apple.com/iphone/library/documentation/Networking/Conceptual/CFNetwork/Introduction/Introduction.html


653 名前:名称未設定 mailto:sage [2009/07/11(土) 11:04:57 ID:K7a1u63v0]
>>651
これってMac OSXからあるクラスかな、って思ってるんですけど、
そのままiPhone OSにも適用できるってことでおkでしょうか?

654 名前:名称未設定 mailto:sage [2009/07/11(土) 11:06:52 ID:K7a1u63v0]
あ、了解&さんきゅうです。

655 名前:名称未設定 [2009/07/11(土) 18:52:39 ID:v1h1BBSv0]
>648, 649
ご指摘のとおり ==@"" で判定していました。orz

656 名前:名称未設定 mailto:sage [2009/07/11(土) 20:16:11 ID:UsX2X83ri]
>>655
一応、正解を載せといて。今後に続くおれみたいな子羊たちのために。

657 名前:名称未設定 mailto:sage [2009/07/11(土) 20:27:44 ID:uCv5e1K8i]
>>656
>>649読めよカスチン

658 名前:名称未設定 mailto:sage [2009/07/12(日) 11:36:41 ID:yqsfQzGoi]
実機で動作確認してるんですが、
Xcodeから起動した場合は、問題ない
のに、実機で直接起動した場合は、
Viewが落ちたり、最悪アプリごと落ち
たりするんですが、Xcode起動だと
問題ないないのでdebug出来ない状況
で困ってます。

考えられる原因、もしくはdebug方法
ないでしょうか?

659 名前:名称未設定 mailto:sage [2009/07/12(日) 11:45:18 ID:MYVyHLMr0]
>>658
実機とシミュレータは使える命令や構造が全然違う。
いろいろコメントアウトして、変なコードがある位置を特定するところからはじめるべき。

660 名前:名称未設定 mailto:sage [2009/07/12(日) 12:51:37 ID:iqMXp0n50]
実機でデバッグすればいい



661 名前:名称未設定 mailto:sage [2009/07/12(日) 13:39:57 ID:P2hh1HPv0]
>>659
>>660
よく読んでやれよ。
どっちも実機での動作だ。

落ちる原因はわからんが、どこかプログラムに問題があるから
根気よく探すんだな。

662 名前:名称未設定 mailto:sage [2009/07/12(日) 13:42:33 ID:P2hh1HPv0]
>>658
つか、シミュではどうなんだ?
Xcodeからデバッグ実行するのと、
シミュで直接実行するのと違いある?

663 名前:660 [2009/07/12(日) 14:19:47 ID:iqMXp0n50]
スマソ 誤解した

>>658
実機で起動しているアプリが実は最新のものではないとか?
途中で bundle identifier を変えると、昔インストールした古い
バージョンがそのまま残る


664 名前:658 mailto:sage [2009/07/12(日) 15:04:18 ID:yqsfQzGoi]
>>662
シミュでは全く問題無しです。
Xcode起動の時は、シミュと実機の動きに違いはないです。

>>663
最新のものがちゃんとインストールされてるようです。

実機は3GSなんですが、古いtouchで動かしたところ、問題なさそうです。ちなみにOSは3.0です。

なんか、3GS固有の動きのような。。


665 名前:名称未設定 mailto:sage [2009/07/12(日) 15:06:41 ID:KpeDus8q0]
>>658
今までに挙がってるのが関係ないならこれの3.を読むべし
kontonsoft.blog.shinobi.jp/Entry/69/

これに該当する場合は以下を参考にループをタイマ駆動にする
kontonsoft.blog.shinobi.jp/Entry/73/


666 名前:665 mailto:sage [2009/07/12(日) 15:26:48 ID:KpeDus8q0]
連投になるけど…

>>664
>実機は3GSなんですが、古いtouchで動かしたところ、問題なさそうです。
逆なら665に書いたことが該当するかもだったが…
3GSなら実行速度速いしプログラム用メモリも広いはずだからなぁ

おまじないだが3GSにインストールされた自作アプリを一回消して
依存関係クリアしてから再度ビルドでインストールし直してみると良いかも
何かしらこれまでのそのアプリのデバッグでセーブされたたデータが不具合の原因かもしれないし
後から試したtouchのほうは全部新しいデータのため問題なく動いてるって可能性もある

667 名前:名称未設定 mailto:sage [2009/07/12(日) 15:39:10 ID:pJy0E0dG0]
>>658
3GSだとするとOpenGLESがらみが一番の違いだと思うが、
具体的にどんなことをしているソフト(アドレスブックをいじってるとか、iTunes機能を使ってるとか)
を書くともっとわかりやすい

668 名前:名称未設定 mailto:sage [2009/07/12(日) 15:49:12 ID:P2hh1HPv0]
処理速度が速くなったのも動作の違いだよな。
デバッグ実行だと通信するから適度な割り込みはいるし。

NIB使ってないとか、マルチスレッドとか変わったことなにかしてない?

669 名前:名称未設定 mailto:sage [2009/07/12(日) 16:45:00 ID:xr9x9Fdv0]
ちなみに落ちる場所は判明してるの?

670 名前:658 mailto:sage [2009/07/12(日) 16:53:53 ID:yqsfQzGoi]
OpenGL/マルチスレッドは使ってないです。
UIKitだと遅いんで、CoreGraphicsで描画したViewとUIKitのみのViewを組み合せて表示してます。

NibはViewごとに、使うViewと使わないViewが混在した状態。

その他は、3.0の新しいAPIは使ってないです。

落ちる場所、パターンは、特定できてません。



671 名前:名称未設定 mailto:sage [2009/07/12(日) 16:59:32 ID:P2hh1HPv0]
>>670
んー、わからんから、処理をどんどん無効にしていって不具合の場所を特定するしかないんじゃないかね。

672 名前:名称未設定 mailto:sage [2009/07/12(日) 17:00:43 ID:P2hh1HPv0]
ちなみに俺は、不正なメモリにアクセスしてると踏んだ。

673 名前:名称未設定 mailto:sage [2009/07/12(日) 17:02:24 ID:Ktzv49VZ0]
releaseしたobjectにさわってんじゃないの?
シミュでも落ちるならゾンビ使うとか。

674 名前:658 mailto:sage [2009/07/12(日) 17:21:55 ID:2ZTlrcFIi]
メモリ系のチョンボだったら、シミュでも、実機debugでもみつかりますよね。。。

675 名前:名称未設定 mailto:sage [2009/07/12(日) 17:59:06 ID:2CoZwpR/0]
>>674
No.

676 名前:名称未設定 mailto:sage [2009/07/12(日) 18:27:30 ID:pJy0E0dG0]
MallocDebugだと解放されたオブジェクトを即座に0で上書きするっていうオプションがあったはずだけど、
Instrumentsではそういうことはできないのかな?

677 名前:名称未設定 mailto:sage [2009/07/12(日) 20:51:02 ID:EN41DMMK0]
macportsにあった
iphone-sslって今無くなってませんか?

iphone用にSSL使いたいのですが困った

678 名前:名称未設定 mailto:sage [2009/07/12(日) 20:59:44 ID:P2hh1HPv0]
>>674
どうしてそう思ったのか逆に気になる

679 名前:名称未設定 mailto:sage [2009/07/12(日) 21:10:09 ID:FJCpptb40]
単純にメモリ不足な希ガス

680 名前:名称未設定 mailto:sage [2009/07/12(日) 21:49:05 ID:Amdc9jyh0]
>>673
自分もこれが原因だと思う。

retain count がゼロになったobject が dealloc されるタイミングが
まちまちだから、うまく動いていると思っても、別のマシンで動かして
上記のようなミスが発覚する場合がある。



681 名前:名称未設定 mailto:sage [2009/07/12(日) 22:32:11 ID:FJCpptb40]
>>680
それだとシミュでも落ちるんじゃない?

682 名前:658 mailto:sage [2009/07/12(日) 23:03:54 ID:2ZTlrcFIi]
autoreleaseなやつは、deallocされるタイミングがまちまちという認識はありましたが、retain countゼロにしたときもラグがありうるという認識は無かったです。

落ちるというのも、Appごと落ちるのは稀で、一度addSubviewしたViewが一旦表示されてから、表示が消えるという動きをしてくれてます。この場合は、Appは生きていて継続して操作可能な状態です。が、動きはモッサりした状態です。

683 名前:名称未設定 mailto:sage [2009/07/12(日) 23:11:14 ID:P2hh1HPv0]
>>682
で?
そろそろ不具合あたりが付いたんだろうな。
まさか何も調査してないってことはないよな。
状況からして環境の問題ではなくてアプリ側の不具合だから真剣に調査をお願いしますよ。

684 名前:名称未設定 mailto:sage [2009/07/12(日) 23:28:57 ID:Amdc9jyh0]
>>682
.... autorelease pool のことを言いたかっただけだった。スマソ。
retain count がゼロになったら多分即座に dealloc されるはず

画面に表示されている view が目の前で消える訳じゃないでしょ?
画面がモーダル等に切り替わって、再び戻ってきたら view が消えている、
んでしょう?

とすると UIViewController の view再現がうまくできていないミス。

685 名前:名称未設定 mailto:sage [2009/07/12(日) 23:30:02 ID:FJCpptb40]
>>682
>>658はエスパーの登場を待ってるんだろ。俺たちはお呼びでないらしい。

686 名前:名称未設定 mailto:sage [2009/07/13(月) 00:38:36 ID:1Wpz32EC0]
テンプレに
初心者のくせに自分のバグの原因を環境やOS、言語仕様のせいにするなカス
を追加しとくべきだな

687 名前:名称未設定 mailto:sage [2009/07/13(月) 00:41:40 ID:jlJR04ne0]
>>682
ここまでの話だとなんだかメモリ管理があやしいので、とりあえずパフォーマンスツールでリーク調べたら?
で、問題のViewが消えたり消えなかったりの操作あたりでリークが発生してないかチェック
Viewだけでなく、変な書き方して二重開放しているオブジェクトがある可能性もある
上で>>673も言ってるNSゾンビも使ってシミュレーターでのチェックも行う(これで原因わかる可能性は高いと思われる)
ゾンビの使い方はググって調べりゃわかるだろう

688 名前:sage [2009/07/13(月) 01:01:42 ID:bUwOv9sE0]
>656
自分の場合は[string isEqualToString:@""]に書き換えただけです

689 名前:名称未設定 mailto:sage [2009/07/13(月) 01:06:57 ID:NSMXdmw10]
メモリ周りまんどくさなのはObjCの仕様だしなあ。

690 名前:名称未設定 mailto:sage [2009/07/13(月) 01:07:34 ID:cjQiKArt0]
NSScannerでの文字列取得ついて質問です。
下記のようなコードで対象文字列をパースしながら一行ごとに処理を行いたいと考えています。
改行のみの空行が現れた場合にはその行を空行として取得したいのですが,
scanCharactersFromSet:intoString:では改行が連続している場合,
連続した改行がまとめて取得されてしまうようで改行のみの行がうまく取得できません。
NSScannerではうまくできないようであればNSStringのsubstringWithRange:を使用する予定です。
NSScannerで改行のみの行を空行として取得する良い方法がありましたらお教えください。
よろしくお願いします。

コード:
NSScanner *scanner = [NSScanner scannerWithString:file];
// 改行文字コード
NSCharacterSet *newline = [NSCharacterSet newlineCharacterSet];
// 改行および空白文字コード
NSCharacterSet *separator = [NSCharacterSet whitespaceAndNewlineCharacterSet];

NSString *name;
NSString *code;

while([scanner scanUpToCharactersFromSet:separator intoString:&name]) {
[scanner scanUpToCharactersFromSet:separator intoString:&code];
// 改行コードを読み飛ばし
[scanner scanCharactersFromSet:newline intoString:&test];
}

対象文字列:
test1 testcode1
test2 testcode2

test4 testcode4



691 名前:名称未設定 mailto:sage [2009/07/13(月) 03:11:11 ID:CwHKMQo00]
>>690
scanCharactersFromSet:intoStringは指定されたセットに含まれるなら何文字でもスキャンし続けるのでその動作で正しい。
改行コードが固定ならscanStringで@"\n"とかをスキャンすればいいし、
未定ならこの場合読み飛ばした分、testが何文字か調べれば空行があったかは分かるだろう。

692 名前:名称未設定 mailto:sage [2009/07/13(月) 03:57:04 ID:cuMTR8wPi]
>>691
なるほど!
改行コードは固定なのでscanStringで読み込んでみます。
ありがとうございました

693 名前:名称未設定 mailto:sage [2009/07/13(月) 09:53:00 ID:RqRqn74U0]
リークの果てにメモリワーニングでビュークリアされ予期せずinitが複数回呼ばれてクラッシュ。

694 名前:名無しさん@ゴーゴーゴーゴー! mailto:名無しさん@ゴーゴーゴーゴー! [2009/07/13(月) 16:10:25 ID:MsOvjcCn0]
メモリ不足のチェックくらい入れとけ。

695 名前:名称未設定 mailto:sage [2009/07/14(火) 03:40:50 ID:XM3oKMOF0]
純正カレンダーのように、動的にアイコン画像を変更することはできるのでしょうか

696 名前:名称未設定 mailto:sage [2009/07/14(火) 03:43:05 ID:EC8DDIwv0]
できません。今日はもう寝ましょう。

697 名前:名称未設定 mailto:sage [2009/07/14(火) 03:51:19 ID:XM3oKMOF0]
ありがとう。お休みなさい

698 名前:名称未設定 mailto:sage [2009/07/14(火) 17:16:47 ID:gOvdrtLz0]
実機デバックに使うiphoneはitunesの同期がwindowsになっていても
問題なくできますか?
それとも開発してるmacと同期してたほうがいいのでしょうか

699 名前:名称未設定 mailto:sage [2009/07/14(火) 17:22:37 ID:axr4m1Iii]
const char *s = (const char *)class_getName(cls)

とすると

warning implicit declarariomvof function 'get_className'

となるんですが何が問題なんしょう?

700 名前:名称未設定 mailto:sage [2009/07/14(火) 17:23:19 ID:4XaDQ4/X0]
>>698
問題ないというか関係ない
プロビジョニングプロファイルはXcodeからでも放り込めるから



701 名前:名称未設定 mailto:sage [2009/07/14(火) 18:01:32 ID:gOvdrtLz0]
>>700
開発機は嫁のipod同期してるから助かったわw
ありがとー

>>699
きっとdeclarationの間違いだろうけどプロトタイプ宣言

702 名前:名称未設定 mailto:sage [2009/07/14(火) 18:25:20 ID:axr4m1Iii]
>>701
ありがとうございました。
ちなみにランタイム関数使う時はプロトタイプ宣言が必要って事でしょうか。

703 名前:名称未設定 mailto:sage [2009/07/14(火) 19:05:35 ID:/W1zHixR0]
>>702
頭の方に

#import <objc/runtime.h>

を付けとけば ok

704 名前:名称未設定 mailto:sage [2009/07/14(火) 20:15:54 ID:axr4m1Iii]
>>703
おー!ありがとうございます!

705 名前:名称未設定 mailto:sage [2009/07/14(火) 20:23:18 ID:1h8orapL0]
XCODEのオーガナイザにiPhoneを認識させるには、どうすればよいか教えて
頂けませんでしょうか?

Developer Programに登録し、「AppleWWDRCA.cer」「iPhoneDeveloper」
「iPhoneDistribution」の証明書をキーチェーンアクセスに登録しました。
その後、iPhoneを接続している状態でXCODEを立ち上げ、オーガナイザを
開いてDEVICEに接続しているiPhoneの情報が出てくる予定なのですが、
認識せずに表示されません。

iTuneではiPhoneを認識しています。
iPhoneの再起動、本体の再起動は何度か試しましたが変わらず。
SDKは3.0を使用しています。

706 名前:名称未設定 mailto:sage [2009/07/14(火) 21:19:52 ID:4XaDQ4/X0]
>>705
普通はそれだけやれば問題なさそうなんだが…
電源入っててロック解除でつないでいれば、開発に使えるかどうかは置いておいて、
証明書は無くてもオーガナイザからは通常見えるはずなんだけどな
iPhone SDK 3.0をもう一度ダウンロード&再インストールする位しか残ってるやれそうなことが思い浮かばない

707 名前:705 mailto:sage [2009/07/14(火) 23:52:55 ID:1h8orapL0]
>>706
SDKをダウンロード&インストールしたところ、認識されました。

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

MACを使用するのが初めてで、SDKをインストールした後に、
XCODEが入っていない事に気づいて後からXCODE環境を入れたのが
悪かったのかもしれません。


708 名前:名称未設定 mailto:sage [2009/07/15(水) 00:32:03 ID:HwFAcwx50]
- (id) initのほかに
- (id) initWithXXXみたいなのを定義したときの記述として
双方とも以下のようにsuperを呼び出すのが定石なのでしょうか?

if( self = [super self] ){
...
}
...

return self

709 名前:名称未設定 mailto:sage [2009/07/15(水) 00:43:13 ID:VdgxbYDU0]
>>708
initはNSObjectにあるから定石というかそうしないと動かない。
initWith...は自前で作るんだろうから、自分の設計に合わせればいい。
親クラスの実装してる初期化処理が必要ならsuperに回すだろうし、その親クラスをコードするときは当然superしようがない。

710 名前:名称未設定 [2009/07/15(水) 01:07:16 ID:8cWaePh60]
sqlite3のDBにカラムやテーブルを増やしたりして再度プロジェクトに追加しても
変更が反映されないのですが、どうしたらよいのでしょうか。
仕方ないのでDB名を変えてプロジェクトに追加しています。



711 名前:名称未設定 mailto:sage [2009/07/15(水) 01:21:18 ID:vEzAJhuQ0]
>>708
当然initWithXXXでも[self init]を使えるよ
定石かどうかという点は設計次第としか言いようがない
initWithXXXのバリエーションが多くて、後からインスタンス変数を追加したり、
初期化の方法を変える可能性がある場合なんかはなるべくinitにまとめておいた方が手間が減る

712 名前:名称未設定 mailto:sage [2009/07/15(水) 02:03:57 ID:cAy2pnwo0]
>>710
簡単な解決方法は一度実機に転送されているアプリを削除して、再度インストールをさせること
クリーニングしてからビルドすれば確実に変更が反映される
今実機にあるデータが必要ならオーガナイザでサルベージしてから行うこと

コード上で対応する方法については
・現在のデータベースファイルの保存場所
・そのデータベースファイルの構築方法
これらがわからないと誰も答えようがない

713 名前:名称未設定 mailto:sage [2009/07/15(水) 02:16:51 ID:8cWaePh60]
>>712
書き忘れてしまいましたが、現状は、実機ではなくシミュレータでの環境です。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"DB名"];
db = [FMDatabase databaseWithPath:writableDBPath];
このように書いてDBを生成しているのでwritableDBPathの場所にあるdbファイルを削除したり
しているのですが、反映されません。
それから何かの拍子にdbから取得できるデータ内容が過去の時点のものに変わったりします。


714 名前:名称未設定 mailto:sage [2009/07/15(水) 03:03:58 ID:cAy2pnwo0]
>>713
提示されたコードだと、databaseWithPath:が具体的に何をやってるのかわからないので、以下全て憶測で書きますが…

おそらくデータベースファイルは元から用意して、リソースとして追加しているものと思われます
その場合問題になるのがドキュメントへのコピーを行う部分です
以前アップルが公開していたSQLiteBookListサンプルだと、
「ドキュメントフォルダにファイルがあればそれを利用、無ければリソースからコピー」って動作をしていました
これはユーザーが2回目以降に起動した際、1回目の起動でユーザーが変更した最新のデータを消さないようにするための仕掛けです

またXcodeのビルドでは、クリーニングしないと以前のリソースが何故かそのままアプリに組み込まれちゃうことがあります
画像ファイルとかでも新しいファイルに置き換えても、デバッグで起動したアプリが前の画像を表示してしまうことがあります
これらの複合でそちらで経験しているような現象が起こっていると思われます

反映されない→ドキュメントフォルダにファイルが既にあるためリソースにある新しいファイルが上書きされない
削除しても反映されない→リソースにあるものも実は昔のファイルのままで、それがコピーされるだけ
データが過去のものに変わる→ドキュメントフォルダのファイルを削除したので、リソースの旧ファイルがコピーされた

ってことで、シミュレーター上の自作アプリを消し、クリーニング(メニューでビルド->すべてのターゲットをクリーニング)をしてから
再度ビルドを行えば、

クリーニングの効果でリソースに組み込まれているデータベースファイルが最新のものになり、
アプリ削除でドキュメントフォルダにファイルがなくなるので、リソースの変更したファイルがドキュメントフォルダにコピーされる
ということで、リソースのファイルが反映されるものと思われます

715 名前:名称未設定 mailto:sage [2009/07/15(水) 10:14:44 ID:LDhb5FQ40]
>713
それはリソース内のDBを変更してるだけ
実機&シミュレータ内にDBファイルがあるとリソース内のDBファイルは転送しないようなコードになってる。

#defineで強制転送させるかどうかのスイッチつけるか
DBファイルのバージョン管理をすべし

716 名前:名称未設定 [2009/07/15(水) 22:32:56 ID:E77+bPOH0]
iPhoneOSでガベコレって使えますか。

717 名前:名称未設定 mailto:sage [2009/07/15(水) 22:34:26 ID:3wnfmNrX0]
Obj-C 2.0のものなら使えません
参照カウントで頑張ってください

718 名前:名称未設定 mailto:sage [2009/07/16(木) 00:08:22 ID:yE7v+0Jc0]
Flush(ActionScript3.0)のゲームを移植したいのですが
FlushSprite絡みを置換しようと思うと何を使えばいいのでしょうか?

719 名前:名称未設定 mailto:sage [2009/07/16(木) 01:48:29 ID:aZpZreWX0]
>>718
Flashの綴りさえ間違える人間にまともなアプリは作れない。

720 名前:名称未設定 mailto:sage [2009/07/16(木) 02:59:01 ID:vkUQulOq0]
単にGL畑の人間だろ



721 名前:名称未設定 mailto:sage [2009/07/16(木) 07:59:44 ID:JTKy5fj60]
>718
Flash使ったことなさそうだなw

722 名前:名称未設定 mailto:sage [2009/07/16(木) 08:07:32 ID:V92tXPqi0]
>>718
cocos2dとかはどう?
あれもスプライトのクラスあるよ

723 名前:名称未設定 mailto:sage [2009/07/16(木) 19:06:40 ID:zD9yJHaE0]
他のクラスのメソッドを呼び出す場合の書き方を教えて下さい。
AppDelegateのメソッドなら、
SampleAppDelegate *appDelegate = (SampleAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate hoge1:hikusu];
で呼び出せるんですが、
他のクラスの場合にこれを真似て、
RootViewController *rootViewController = (RootViewController *)[[UIApplication sharedApplication] delegate];
[rootViewController.hoge2:hikisu];
と書くと、
-[SampleAppDelegate hoge2:]: unrecognized selector sent to instance 0xf19550'
となってしまいます。
最後の「delegate」の代わりに何か書くんでしょうか。

724 名前:名称未設定 mailto:sage [2009/07/16(木) 19:23:36 ID:Rmc3YJ110]
>>723
#import "RootViewController.h"を実装ファイルの先頭あたりに書いとく。多分他の#import文があるだろう
Cでいう#includeだ。

725 名前:名称未設定 mailto:sage [2009/07/16(木) 19:56:42 ID:P63IWGJt0]
>>724
そういう問題じゃないだろ・・・

726 名前:名称未設定 mailto:sage [2009/07/16(木) 20:11:44 ID:P4Nn1/4c0]
>>723
どうキャストしようが[[UIApplication sharedApplication] delegate]が示すのは常にそのアプリのAppDelegateにされてるクラスだよ
SampleAppDelegate.hでRootViewController *rootViewController;って宣言あるなら(たぶんテンプレートから作ってればある)

[appDelegate..rootViewController hoge2:hikisu];

と書けばおk

727 名前:名称未設定 mailto:sage [2009/07/16(木) 20:24:53 ID:Rmc3YJ110]
>>725
本当だwそれ以前にめちゃくちゃだw

728 名前:名称未設定 mailto:sage [2009/07/16(木) 20:25:53 ID:p7IH6qiE0]
>>724に吹いた

729 名前:726 mailto:sage [2009/07/16(木) 20:29:32 ID:P4Nn1/4c0]
いけね、書き間違えた

SampleAppDelegate *appDelegate = (SampleAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate.rootViewController hoge2:hikisu];

です。
さっきはドットが2個になってたので訂正しときます。

730 名前:名称未設定 mailto:sage [2009/07/16(木) 21:20:18 ID:zD9yJHaE0]
たくさんのアドバイスありがとうございます。
いろいろいじくっていたら、えらいことになってしまったので
落ち着いたら改めて報告致します。




731 名前:名称未設定 mailto:sage [2009/07/16(木) 21:21:23 ID:P63IWGJt0]
いろいろいじくる前にオブジェクト指向について勉強し直せ

732 名前:名称未設定 mailto:sage [2009/07/16(木) 22:00:49 ID:bZGxAIPl0]
初心者本ヨメよ

733 名前:名称未設定 mailto:sage [2009/07/16(木) 23:16:33 ID:zKu6vQF50]
初心者本どれがお勧め? 一個買ったけど全く駄目
iphone SDKの教科書っていう本

今までプログラミングしたことないからC言語すらまったくわからない
それでもアプリは作ってみたい
こんな俺がまず買う本は何?

734 名前:名称未設定 mailto:sage [2009/07/16(木) 23:18:32 ID:uTYUdEIk0]
はじめてのC

735 名前:名称未設定 mailto:sage [2009/07/16(木) 23:26:10 ID:zKu6vQF50]
アマゾンみてきたが、評価が低すぎるけど本当にはじめてのCでいいのか?

736 名前:名称未設定 mailto:sage [2009/07/16(木) 23:28:33 ID:QiB7FKSx0]
>>733
自分はその本と迷って結局
基礎からのiPhoneSDK
ってのを買ったよ

自分もperlとかをちょっといじったくらいでC未体験だけど
今日届いて読み始めてすごく良い感じ

そもそも複雑なアプリを作ろうと思ってる訳じゃないから
物足りなく感じる人もいるだろうけど、自分にはあってる感じ

もし良ければ一度本屋で読んで見なよ

737 名前:730 mailto:sage [2009/07/16(木) 23:31:51 ID:zD9yJHaE0]
>>729
アドバイス活かせてません。すいません。
元々、Appleのサンプルコード「SQLiteBook」を使ってシコシコ作っていたんですが、SDK3.0で「CoreDataBooks」に変わったので焼き直そうとしてました。(テンプレートはUIViewControllerのUse CoreData for strageのオプションがついたやつです)
「SQLiteBook」では、SQLiteの操作をappDelegate経由でBookクラスから呼び出していたので、見た目にも分かりやすかったんですが、3.0ではBookクラスがスカスカになって、RootViewControllerのfetchedResultsControllerだけで何でもやってしまうように見えます。
今回は、サンプルのRootViewControllerにある削除処理をDetailViewControllerでやりたいんですが、
↓この2行をどこに置けばいいのかが分かりません。
NSManagedObjectContext *context = [fetchedResultsController managedObjectContext];
[context deleteObject:[fetchedResultsController objectAtIndexPath:indexPath]];

・RootViewControllerに置いて、DetailViewControllerから呼ぶのか、
・RootViewControllerからDetailViewControllerにfetchedResultsControllerを渡して、DetailViewController側でdeleteObjectするのか、
・あるいは、どっちでもやれるのか。

サンプルありきの話になってすいません。長文もすいません。
CoreDataの勉強はCocoa本でしょうか?


738 名前:名称未設定 mailto:sage [2009/07/16(木) 23:42:04 ID:bZGxAIPl0]
Cの入門書なら柴田望洋さんの本がお勧めだ。
iPhone開発初心者本ってプログラミングが全く初めてのような人には向かないのばっかりだよね。

739 名前:名称未設定 mailto:sage [2009/07/16(木) 23:48:00 ID:L5T7xR6a0]
まったくのプログラミング初心者がAppStoreでカスソフト乱発するよりはいいと思うが

740 名前:名称未設定 mailto:sage [2009/07/16(木) 23:51:04 ID:bZGxAIPl0]
>>737
CoreDataならまずはAppleのドキュメント群。
古いMac向けのものなら日ADCに翻訳もある。
本ならiPhone向けではないがヒレガス本かHTMD本の3rd。

でもお前はそれ以前に基礎が全然できてなさそうだから、そんなレベルでCoreData理解して扱えるとは思えん。
もっと基礎から勉強し直しな。



741 名前:名称未設定 mailto:sage [2009/07/17(金) 00:15:53 ID:1Q8fUxvm0]
>>740
HTMDってなんやねん自分orz
HMDTだな

スノレパ出たら4th出してくれるかなぁ

742 名前:名称未設定 mailto:sage [2009/07/17(金) 00:20:34 ID:uoWftTLk0]
>737
たぶんシングルトンのことも分かってないよね。。。

でさ、一気にやらないで
おもいっきり簡単なテストプロジェクト作ってやってごらんよ。
クラス間の変数のやりとりだけ試すクラスとかさ。

743 名前:737 mailto:sage [2009/07/17(金) 01:03:22 ID:gidSYN460]
サンプルコードはサルにも解ると思ったんですけど甘かったですね。
>>740
日本語ADCのCoreData プログラミングガイド、解りやすそうですね。
HMDTの赤本は難しそうですが、150ページ以上がCoreDataに割かれているようなので、
おっしゃる通り、サンプルコードを見ただけでは理解できないことが解りました。
助言ありがとうございました。
>>742
こういう時はそれが一番ですね。ありがとうございます。


744 名前:名称未設定 mailto:sage [2009/07/17(金) 01:16:20 ID:Dp5PF/xM0]
基礎を習得する前に Core Data に手を出すのは無謀

745 名前:名称未設定 mailto:sage [2009/07/17(金) 02:07:05 ID:tqL/pDPqi]
UINavigationControllerの左側にあるbackボタンを
独自で作ったUIBarButtonItemで設定してみようと思っていまして
この場合、初期化の方法は↓のような感じだと思うのですが

UIBarButtonItem *barbutton = [[UIBarButtonItem alloc]
initWithTitle:@"title" style: UIBarButtonItemStylePlain target:self
action:??];

引数actionのSELは何になるんでしょうか?

746 名前:名称未設定 mailto:sage [2009/07/17(金) 02:24:17 ID:3JmZDO7i0]
UILabel に vertical alignment を設定する方法はあるでしょうか。
複数行のテキストを表示させたいのですがデフォルトだと上下の中央にしか収まりません

747 名前:名称未設定 mailto:sage [2009/07/17(金) 02:54:52 ID:gjwCKoYc0]
>>746
baselineAdjustmentとかでまにあう?


748 名前:名称未設定 mailto:sage [2009/07/17(金) 03:36:06 ID:u7sADtdI0]
>>743
別にiPhone 3.0用はCoreData必須ってわけじゃないから、
とりあえず元のSQLiteBookListを元で作ってもいいような気がするが
一度完成させてみてからCoreDataに手を出すのでも遅くないと思う
どうしてもCoreDataを使いこなしたいんです、ってのなら止めないけど

と、つい最近CoreData使わずSQLiteBookListと似たような手法を使ったアプリを、
iPhone OS 3.0以上専用として申請して審査を通した人間が言ってみる

749 名前:名称未設定 mailto:sage [2009/07/17(金) 08:56:55 ID:FXjwYkkC0]
初めてiPhone Devに登録、認証等を行ってさあ実機にインストール
とおもったらどうしても実機に入れられない。
キーチェーンの認証とXCodeの登録名が違うとかでシミレーターでしかビルドできない...

どなたか何処を検証すれば良いのかヒントいただけないでしょうか。

750 名前:名称未設定 mailto:sage [2009/07/17(金) 09:13:09 ID:iq0J3P4/i]
>>746
行数を指定するプロパティがあるのですが、電車の中なのででてきません。すんません。

UILabelのヘッダをみると、それらしいのがありますよ。



751 名前:名称未設定 mailto:sage [2009/07/17(金) 10:36:18 ID:GtJo2G0X0]
>>749
ターゲットをダブルクリック -> ビルドタブをクリック ->
debug のコード署名ID を正しく設定。

debug でビルドして実機にインストール&実行

release では実機で動かせない。


752 名前:名称未設定 mailto:sage [2009/07/17(金) 11:07:04 ID:6gBXnuS30]
App Store用の署名じゃなくて開発かAdHoc用の署名なら動くでしょ?
Release/Debugは関係ないんじゃ?

753 名前:名称未設定 mailto:sage [2009/07/17(金) 11:07:50 ID:FXjwYkkC0]
>>751
有り難うございます。Debugでビルド了解です。

調べてみるとコード署名に自分の名前が出てきていません。
空欄になるというかなにもないようになりますね。
サンプルの画像なんかだとちゃんとでているようですね。
何処で間違ったんだろう...



754 名前:名称未設定 mailto:sage [2009/07/17(金) 12:25:51 ID:1Q8fUxvm0]
>>753
ここで聞くよりProgram Portalの手順を一字一句なぞりながら1からやり直せ。
手順を少しでも間違えればハマるけど、逆に注意深く十分確認しながらやればサルでもできる。

755 名前:名称未設定 mailto:sage [2009/07/17(金) 12:55:12 ID:8FQRWPC+0]
キーチェーンアクセスで、ログインを選択、分類を証明書にして「iPhone」を検索。

iPhone Developer: <Your Name>
という証明書と、その中に秘密鍵がある事を確認。

それ以外に、ポータルから以下も落として入れる事。
Apple Worldwide Developer Relations Certification Authority

756 名前:名称未設定 mailto:sage [2009/07/17(金) 12:56:41 ID:8FQRWPC+0]
デバイスの管理
developer.apple.com/jp/iphone/library/documentation/Xcode/Conceptual/iphone_development/128-Managing_Devices/devices.html#//apple_ref/doc/uid/TP40007959-CH4-SW2

757 名前:名称未設定 mailto:sage [2009/07/17(金) 16:32:25 ID:WCSvBQwBi]
>>751
実機で動かせないのはDistributionで署名した場合。ReleaseはDevelopmentで署名するのが普通

758 名前:名称未設定 mailto:sage [2009/07/17(金) 16:39:33 ID:8FQRWPC+0]
今年のWWDCのビデオは、英語の字幕付きだ。デモも入ってたが、QAは無し。
developer.apple.com/products/videos.html

759 名前:749 mailto:sage [2009/07/18(土) 09:01:24 ID:UpDt3adf0]
原因は判りました。
どうやら新たにDev Programに入る為にメアドを作ったのですが,それがちゃんとキーチェーンに登録できていない為のようです。

皆様教えていただいて有り難うございました。


760 名前:名称未設定 mailto:sage [2009/07/18(土) 23:26:10 ID:AYoczr/R0]
ボタンをタップしたら resources にあるmp3を鳴らすにはどうしたら良いのでしょうか?



761 名前:名称未設定 mailto:sage [2009/07/18(土) 23:32:46 ID:Trv8JGlK0]
オマエには無理

762 名前:名称未設定 mailto:sage [2009/07/19(日) 01:02:07 ID:bB/GBYms0]
>>760
googleって使い方知ってる?
www.google.com/

763 名前:名称未設定 mailto:sage [2009/07/19(日) 01:12:41 ID:SsIx0Lsk0]
>>760
>>1の6を読もう
答えが欲しいなら、答えてもらえる質問の仕方をしよう

764 名前:名称未設定 mailto:sage [2009/07/19(日) 07:04:44 ID:n11T1uuT0]
みんな、そんな冷たいレスばかり返すなよ。

いいか、>>760
ボタンをタップしたら resources にあるmp3を鳴らすには、
ボタンのタップを受け取って、resources にあるmp3を再生するように
プログラムを組めばいいんだよ。




765 名前:名称未設定 mailto:sage [2009/07/19(日) 10:17:12 ID:bdfNRqzi0]
技術的な質問ではないんだけど、Objective-CはMacのプログラミングでできるので、iPhoneでの開発もしてみようと思ってるんだけど、iPhoneDeveloperProgramに支払い用のところで、
クレカじゃなくてVISAデビットで登録したとか、できたとかいう人いる?
事情でクレカが作れないの。

766 名前:名称未設定 mailto:sage [2009/07/19(日) 13:06:06 ID:QhuW10Yw0]
>765
つ 『格差社会』

クレカ作れないヤツはどうしようもないwww

767 名前:名称未設定 mailto:sage [2009/07/19(日) 13:08:21 ID:tTsY+pn20]
クレカ無い奴がプログラミングwwwwww

768 名前:名称未設定 mailto:sage [2009/07/19(日) 13:16:49 ID:Fe9h/mt20]
個人事業や会社起こして間もないとかだとクレカ作れなかったりするけど

769 名前:名称未設定 mailto:sage [2009/07/19(日) 13:39:44 ID:jkjmncId0]
>>768
作れたよ
JCBだけど

770 名前:名称未設定 mailto:sage [2009/07/19(日) 14:57:34 ID:+3WrN5Dz0]
質問です
UIButtonの中でタッチされた座標を拾いたいのですが
touchesBeganを置くと座標はそこで拾えるのですが
addTargetで指定したメソッドへ飛ばなくなってしまってボタンが反応しない状態に

何か良い方法がありますでしょうか?



771 名前:名称未設定 mailto:sage [2009/07/19(日) 15:47:28 ID:5SXwBJn70]
765が未成年と言う可能性もある

772 名前:名称未設定 mailto:sage [2009/07/19(日) 15:54:54 ID:LZopbPnM0]
それなら事情を話せばおじさん達が丁寧に教えてくれるだろう

773 名前:名称未設定 mailto:sage [2009/07/19(日) 15:55:02 ID:dC/z8Ttti]
touchesイベントの方で必要なルーチンに飛ぶようにくめばいいんでない?

774 名前:763 mailto:sage [2009/07/19(日) 15:59:45 ID:msqfMv0B0]
その通り、未成年です。
作れるカードもあるけど、ちゃんと収入があって責任もてるようになるまで持ちたくない。
だからVISAデビットが使えたらと思ったけど。
いかがでしょうか?

775 名前:名称未設定 mailto:sage [2009/07/19(日) 16:05:05 ID:RB109vC60]
大人になるまで
無責任にプログラミングしてなさい

776 名前:名称未設定 [2009/07/19(日) 16:10:38 ID:5gKEbo000]
iPhoneプログラミングをしている人にお聞きしたいのですが、
アプリ制作はどれくらいの勉強期間でどの程度のアプリが作れるようになりましたか?
Macアプリのプログラミングを勉強しているのですが、最近iPhoneを買ったので
iPhoneの方が制作がより簡単ならそちらに移行しようかと考えています

777 名前:名称未設定 mailto:sage [2009/07/19(日) 16:59:23 ID:LZopbPnM0]
>>774
責任無しに物を売ろうとする考えを改めよ
>>776
Macの方が簡単
プログラムを1から始めるなら3年ぐらいでシェアウェアレベルのまともなアプリが作れる

778 名前:名称未設定 mailto:sage [2009/07/19(日) 17:03:13 ID:x+K6skio0]
>>776
プログラミングってのは、Mac用のアプリを作ることもiPhone用のアプリを作ることも応用に過ぎない。
その基礎が出来てなきゃ何年やってもできない。具体的にはC言語とオブジェクト指向プログラミング、だが。
逆に言えばそれが理解できればどっちもできる。

779 名前:名称未設定 mailto:sage [2009/07/19(日) 18:07:09 ID:SsIx0Lsk0]
>>777
産まれたばかりのiPhoneの方が整理されてて覚えることも少なくて入りやすいと思うが
Macの方が簡単なんていうのはもともとMacのバックグラウンドがあるからでそ

780 名前:名称未設定 mailto:sage [2009/07/19(日) 18:16:03 ID:Fe9h/mt20]
>774
とりあえず親に頼み込んで決済だけしてもらうとか



781 名前:名称未設定 mailto:sage [2009/07/19(日) 18:41:06 ID:hXxPSE5+0]
>>776
OpenGLで3Dをバリバリやるとか、物理演算するとか、
波形段階から音声合成をするとか、
プログラムで表現したい物に別種の知識が必要な場合を除けば、
プログラミングそのものはそう大変じゃないです。

呑み込みの速い人なら3ヶ月でフリーアプリレベルは作れると思う。
(確か過去レスでそういう人がいた)

むしろ個人的には、プログラムで表現する対象の知識体系をどう会得するか、
あるいは公開するだけの価値のあるリソースデータ(絵や音)をどうやって作り出すか、
が一番の問題になると思うなぁ…。

782 名前:名称未設定 mailto:sage [2009/07/19(日) 19:11:38 ID:bB/GBYms0]
>>776
基本となるC言語レベル(条件分岐とか繰返しとか)の勉強をするにはMacの方が良い
iPhoneでprintfとか使ったアプリを作るのはナンセンス

Cocoaフレームワークの扱い方の段階に入ると>>779の言うとおりiPhoneの方がおすすめ
AppKitに比べて小さいし設計もAppKitの良いところを抽出したみたいになっていて勉強しやすい
ネット上の情報も多い

更に進んで不特定多数に公開したり売ったりというレベルになるとMac版の方が楽
iPhoneだとUIの設計が難しいしアイコンのデザインなんかもかなり凝ったものを要求される
(Macのアイコンが適当で良いってわけじゃないけど、
iPhone版みたいにアイコン嫌いだから星を-1とか無茶を言われることは少ないw)
iPhoneだと競争相手も多いしね

783 名前:名称未設定 mailto:sage [2009/07/19(日) 19:42:06 ID:TDdvIqjD0]
>>782
競争相手が少なくても、売る相手も少なかったら意味なくね?

784 名前:名称未設定 mailto:sage [2009/07/19(日) 19:46:04 ID:IPix707l0]
マクのシェアウェアは昔からレベル低いからな。
くだらないソフトでもシェアウェアにしとけば払う香具師いっぱい。競争の無い世界は稼ぐのには良い。

マクでC覚えるとObjCの癖が付くかもな。
いろんな環境のCを触って好きなので覚えるほうがいいと思う。

785 名前:名称未設定 mailto:sage [2009/07/19(日) 20:06:28 ID:/+mkgkeU0]
>>783
昔からの下地があるからマカはシェアに金払う意識はかなり高いよ
小金稼ぎにはiPhoneより向いてるのは確か

786 名前:名称未設定 mailto:sage [2009/07/19(日) 20:18:44 ID:n2XSczDU0]
今から実機でテストしたいので、いよいよ登録しようと思ってるんだけど、
シェアウェア作って、売れたらもうけはどこにはいるの?
銀行振込?
それならそれ専用の口座を作りたいんだけど。

787 名前:名称未設定 mailto:sage [2009/07/19(日) 20:39:33 ID:TDdvIqjD0]
>>785
昔からの下地ってことなら何でも違法コピーするのがMacの文化じゃないの?
OS8の時代なんて、プロテクトもクソもなくて、ほんとひどかった。アングラ関連の解説書もMac用ばかりだったし。

iPhoneだと月10万ぐらいは簡単に稼げるけどMacのシェアウェアでこんなに売れる?

788 名前:名称未設定 mailto:sage [2009/07/19(日) 21:06:57 ID:XywPKVjR0]
ここまで>>776の返事無し
やはりage質問にはろくなやつがいないなぁ

789 名前:名称未設定 mailto:sage [2009/07/19(日) 21:15:33 ID:RB109vC60]
>>788
初心者スレなんだからアプリが作れるようになった奴はいねーよ
だから答えられねーんだよ
んなこともわからんのか流石初心者

790 名前:名称未設定 mailto:sage [2009/07/19(日) 21:17:22 ID:bB/GBYms0]
>>782だけど別に「Macの方が儲けやすい」というつもりで書いたわけじゃないんだ
iPhone用の方が誰の目にも留まらず埋もれたり、厳しい評価を受けやすい、
Mac用だとそれなりに生暖かい眼で評価してくれる、って程度の話
iPhone用は「商品」Mac用だとよくも悪くも「同人」って感じかも
ガッツリ儲けたいならiPhoneをターゲット、
「こんなの作ってみました〜」程度だったらMac用の方が良いんじゃない



791 名前:名称未設定 mailto:sage [2009/07/19(日) 21:18:15 ID:z0rj7XPJ0]
誤読だね

792 名前:名称未設定 mailto:sage [2009/07/19(日) 21:25:39 ID:XywPKVjR0]
>>789
誤読だよ
俺は776が反応無いことを言ってるわけ、2行目で分かれよ
お前こそ国語の初心者だな

793 名前:776 [2009/07/19(日) 22:54:22 ID:5gKEbo000]
お礼が遅れて申し訳ありません
想像以上に多くの方からご意見いただけてありがたいです
ネット検索しててiPhoneの方が情報も多かったので迷っていましたが
総合的に考えてMacの方が良いと思うようになりました
とりあえず楽しいcocoa〜とはじめの一歩で頑張ってみようと思います
かなり先までの展望も立ちました。ありがとうございました

794 名前:名称未設定 mailto:sage [2009/07/19(日) 23:04:19 ID:aY4HNjmP0]
実際にプログラムをやってる人が近くにいれば話しを聞いてもらった方が良いよ。
あなたにどういうバックグラウンドや知識があって、何か作りたいものがあるのか、それともプログラムに興味あるのか等、状況が見えて理解してくれる人の意見を参考にした方がいい。
上記のようにネットで自分の情報をほとんど出さないまま意見を求めるとみんなバラバラで勝手なこと言う結果になるからさw

795 名前:776 mailto:sage [2009/07/19(日) 23:14:59 ID:5gKEbo000]
後だしってやつですね
それこそ後だしですが出しそびれた情報を一応書いておくと
・プログラミングはhtmlくらいしかしたことないです
・大学4年生で時間はちょいちょいあります
・自宅はmacのみの環境です
・お金稼ぐ為に勉強したい訳ではなく完全な趣味です

796 名前:名称未設定 mailto:sage [2009/07/19(日) 23:22:57 ID:Fe9h/mt20]
まーぶっちゃけiPhoneは盛り上がってるし情報も多いのでiPhoneがいいと思うけどね。

797 名前:名称未設定 mailto:sage [2009/07/19(日) 23:44:51 ID:aY4HNjmP0]
元からMacユーザならきっとMacのアプリを書くのも楽しいと思うよ。
iPhoneアプリの本はほとんど初心者向けの内容のものしか出てないけど、OSX用なら結構レベルが高いのもあるし、
それらでObjective-Cを学べばiPhoneアプリを書く時にも断然役に立つ。

798 名前:名称未設定 mailto:sage [2009/07/20(月) 00:39:05 ID:9fddDFhc0]
アイフォンが盛り上がってるとは逝っても極一部だから。
マクが売れてると信じて疑わないマカ並みの思考。

みんなPC使ってるし、ドコモの携帯使ってる。

799 名前:名称未設定 mailto:sage [2009/07/20(月) 00:58:43 ID:shQcJxVXi]
>>798
フーン
で、なんで君ここにいるの?

800 名前:名称未設定 mailto:sage [2009/07/20(月) 01:12:15 ID:wQoVUrr80]
iPhoneの実機でテスト用のプログラムを実行しようとすると、以下のエラーが発生し、
実機で実行できません。

Can’t run “HelloWorld” on the iPhone “xxxxx の iPhone”

The iPhone “xxxxx の iPhone” doesn’t have the provisioning profile with which the application was signed.
Please add the provisioning profile via the Organizer, or check the “Code Signing Identity” build setting.

同じようなエラーを解消したかたいらっしゃいましたら、解消方法をご教示ねがえませんでしょうか?




801 名前:名称未設定 mailto:sage [2009/07/20(月) 01:16:16 ID:X37xDiKb0]
1.プロビジョニングファイルにHelloWorldのIdentifierが追加されていない
2.追加されていてもそのプロビジョニングファイルがiPhoneに転送されていない

802 名前:名称未設定 mailto:sage [2009/07/20(月) 01:38:51 ID:K9XYGpdZ0]
>>798
とりあえず外国に友人を作って、「もちろんドコモ使ってるよね?」って聞いてみろ。

803 名前:800 mailto:sage [2009/07/20(月) 01:47:58 ID:wQoVUrr80]
プロビジョニングファイルにHelloWorldのIdentifierを追加するにはどのようにすればよいのでしょうか?

以下の方法で試してみたのですが、うまくいきませんでした。

1.AppIDを新規追加「HelloWorld」「*」で登録。
2.プロビジョニングファイルの作成で1のIDを使用してファイルを作成
3.2で設定した内容をダウンロードしてXCODEのオーガナイザに取り込み。


804 名前:名称未設定 mailto:sage [2009/07/20(月) 06:09:52 ID:Uszry7p0i]
過去レス読めよ

805 名前:名称未設定 mailto:sage [2009/07/20(月) 15:49:14 ID:C4YyhPkN0]
デバイスの管理
developer.apple.com/jp/iphone/library/documentation/Xcode/Conceptual/iphone_development/128-Managing_Devices/devices.html#//apple_ref/doc/uid/TP40007959-CH4-SW2

806 名前:名称未設定 mailto:sage [2009/07/20(月) 18:18:35 ID:Torvivw20]
>>798
数ヶ月でリリースされたアプリが6万本、どう考えても「Macよりは」盛り上がってるだろ。

807 名前:名称未設定 mailto:sage [2009/07/20(月) 20:10:57 ID:PMErBh5q0]
iPhoneで以下のメソッドを定義した場合
releaseへの対処はどうすればよいのですか

^ (NSMutableString *)test
{
NSMutableString *string = [NSMutableString stringWithString @"test"];
return str;
}

OSXのプログラムなら上記の場合autoreleaseされるはずだと思いますが
iPhoneの場合はどのようになるのでしょうか

808 名前:名称未設定 mailto:sage [2009/07/20(月) 20:13:16 ID:Uszry7p0i]
>>807
同じ。autoreleaseされる。

809 名前:名称未設定 [2009/07/20(月) 20:25:02 ID:QHWbH7Gs0]
アプリ起動中にスリープした場合に、時間が来たら復帰させることはできますか?

810 名前:名称未設定 mailto:sage [2009/07/20(月) 20:45:15 ID:PMErBh5q0]
>>808
ちょっとそこが理解に苦しむのですが
iPhoneはautoreleaseされないし利用できないと
書籍などでは記述が見られますが

なぜこの場合はautoreleaseされるのですか?



811 名前:名称未設定 mailto:sage [2009/07/20(月) 20:48:29 ID:eOj69PSI0]
>>810
どんな本を読んだのか知らないけどautoreleaseは普通にされるよ。
Garbage Collectionと勘違いしてない?

812 名前:名称未設定 mailto:sage [2009/07/20(月) 20:50:03 ID:ePv6ouBj0]
なんなら本の名前を教えてください

813 名前:名称未設定 mailto:sage [2009/07/20(月) 20:55:02 ID:15CqSeAs0]
>>810
>書籍などでは記述が見られますが

自分もその本知りたいです。後学のために。

814 名前:名称未設定 mailto:sage [2009/07/20(月) 22:48:47 ID:K9XYGpdZ0]
単なる勘違いな希ガス。そんなにいじめるなよ。

815 名前:名称未設定 mailto:sage [2009/07/20(月) 22:52:56 ID:Uszry7p0i]
>>810
iPhoneでもautoreleaseばんばん使うし、autoreleaseがないとそもそもCocoaが成り立たん

816 名前:名称未設定 mailto:sage [2009/07/21(火) 01:18:54 ID:ZiMNUI0l0]
パフォーマンス下がるから、autorelease避けましょうって話とか。

817 名前:名称未設定 mailto:sage [2009/07/21(火) 02:25:11 ID:ng6brzOQ0]
写真を、PhotoLibraryではなく、別途保存して、必要に応じて読み込むコードを書きたいのですが、

#書き込み
NSData *imageData = UIImagePNGRepresentation(image); //imageは画像データ
NSString *filePath = [NSString stringWithFormat:@"%@%@" ,NSHomeDirectory() , @"/Documents/001.png"];
[imageData writeToFile:filePath atomically:YES];

#読み込み
UIImage *preImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:filePath]]];

これだと上手く動いてくれません。
どこが間違っているか、分かる方、アドバイスお願いいたします。

818 名前:名称未設定 mailto:sage [2009/07/21(火) 02:35:51 ID:4gR1N/AO0]
>>763
間違いなく使える。

と思う。

819 名前:名称未設定 mailto:sage [2009/07/21(火) 03:05:15 ID:zGjvR0Px0]
>>817
NSDataをdataWithContentsOfFile:でファイルパスを直接渡して作るか、
ファイルパスからURLにするときにfileURLWithPath:を使えばいいと思います。
でもUIImageにもimageWithContentsOfFile:がありますから、これが一番簡単ではないでしょうか。

820 名前:名称未設定 mailto:sage [2009/07/21(火) 03:20:32 ID:2b0k1Gbs0]
>>817
filePathの指定が違うのだと思われる
それはたぶんMacで動くコードで、iPhoneだとMacとファイル管理で違う部分があるので動かないのでしょう
iPhoneは各アプリがドキュメントフォルダを持つから指定方法がちょっと異なるんですよね
ドキュメントフォルダの指定方法はこれでも参考に

ファイルにNSDataの内容を書き出したい - writeToFile:atomically:
ttp://konton.ninpou.jp/program/cocoa/dataobject/nsdata.html#wtfa




821 名前:名称未設定 mailto:sage [2009/07/21(火) 05:03:04 ID:ng6brzOQ0]
>>819, 820
ありがとうございます。
お二方の意見を元にして、以下のように書き換えたら(多分)動きました。

#書き出し
NSData *imageData = UIImagePNGRepresentation(image);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"001.xml"];
[imageData writeToFile:filePath atomically:YES];

#読み込み
UIImage *preImage = [UIImage imageWithContentsOfFile:filePath];

なぜxmlなのかは良くわかりませんが、とりあえずそんなものなんだろうと思うことにします。
ありがとうございました。
下記も少し参考にしました。

参考:ファイルを保存する場所を確保する
ttp://www15.plala.or.jp/NovemberKou/programming/screenSaver/RepeatingMotifSaver/saveToFile/getStorageArea.html


822 名前:名称未設定 mailto:sage [2009/07/21(火) 09:31:25 ID:zGjvR0Px0]
>>821
いや、拡張子はxmlじゃなくても大丈夫ですよ…

823 名前:名称未設定 mailto:sage [2009/07/21(火) 12:32:13 ID:K/azv542i]
>>821
pngにしてあげて> <

824 名前:名称未設定 mailto:sage [2009/07/21(火) 15:36:59 ID:UC1fHdb00]
Interface Builderでデフォルトで使用されているUIButtonやUITextFieldの
初期値を知りたいのですが何か方法ないでしょうか?

825 名前:名称未設定 mailto:sage [2009/07/21(火) 15:42:43 ID:24F9/2gX0]
>>824
>UIButtonやUITextField

これのヘッダに書いてるのとは違うの?

826 名前:名称未設定 mailto:sage [2009/07/21(火) 15:48:31 ID:5hVEElYd0]
>>824
そもそも何の初期値が知りたいの?
てかそれはObjective-Cから取り出したいのか、それとも知りたいだけ?
質問の意味が俺のアホな頭ではわからない。

827 名前:名称未設定 mailto:sage [2009/07/21(火) 15:49:13 ID:25yOLY7G0]
>>824
インスペクタ見ればいいじゃん

828 名前:824 mailto:sage [2009/07/21(火) 16:21:39 ID:UC1fHdb00]
InterfaceBuilder使わずにコードだけでUIButtonを作成しようとしたんですがなんかうまくいかなくて。。
なんでInterface BuilderのUIButtonの属性の初期値を知りたいなあと思ったんです。


829 名前:名称未設定 mailto:sage [2009/07/21(火) 16:28:31 ID:24F9/2gX0]
>828
だからヘッダにデフォ値書いてある。

830 名前:名称未設定 mailto:sage [2009/07/21(火) 16:50:41 ID:xxOcHRT40]
iEmoji などのアプリは、どうやって絵文字キーボードを有効にしているのでしょうか?



831 名前:名称未設定 mailto:sage [2009/07/21(火) 17:22:03 ID:2b0k1Gbs0]
>>828
うまくいかないのはメンバ宣言しただけで安心してinit系メソッドとかでalloc&init書いてないとか、
親ビュー(かビューコントローラー)のaddSubViewしてなくて親ビューの支配下に追加されてないとかじゃない?

832 名前:名称未設定 mailto:sage [2009/07/21(火) 18:26:51 ID:MgRD3RJ50]
buttonWithTypeでUIButtonTypeを指定するやつか。
ボタンのfameを指定してないんじゃね。

833 名前:名称未設定 mailto:sage [2009/07/21(火) 18:55:10 ID:K/azv542i]
何を期待して、どううまく行かないかも書かない
何を知りたいのかも曖昧

こんな質問に答えることないよ

質問者は>>1を100万回読み直してください

834 名前:名称未設定 mailto:sage [2009/07/21(火) 22:35:35 ID:AiC00kEq0]
NSMutableStringのインスタンスを使いまわす場合
setStringでデータを置換すればいいのでしょうか?





835 名前:名称未設定 mailto:sage [2009/07/22(水) 00:06:19 ID:9iTeurL90]
>>834
何を言っておるのだ?

836 名前:名称未設定 mailto:sage [2009/07/22(水) 00:18:52 ID:riRfx4So0]
>>835
何言ってんの?それも一つの方法じゃん
property使ってるなら代入するのが一般的だけど

837 名前:名称未設定 mailto:sage [2009/07/22(水) 00:26:04 ID:VBzhMdhl0]
>>836
??????????

838 名前:名称未設定 mailto:sage [2009/07/22(水) 00:40:57 ID:/cf78uJL0]
CFArrayRef ref = SCNetworkInterfaceCopyAll();

これをSDK3.0でビルドしようとするとエラーが出てしまいます。
2.2.1ではビルドできるのですが、3.0からは使えないのでしょうか?

839 名前:名称未設定 mailto:sage [2009/07/22(水) 00:42:44 ID:riRfx4So0]
>>837
分からんなら黙ってろよwww

840 名前:名称未設定 mailto:sage [2009/07/22(水) 01:03:43 ID:CU4eWtkli]
俺も>>836は意味不明だな〜ニヤニヤ



841 名前:名称未設定 mailto:sage [2009/07/22(水) 01:15:48 ID:riRfx4So0]
初心者スレなんだから>>834の言わんとしてることぐらい汲み取ってやれよ

842 名前:名称未設定 mailto:sage [2009/07/22(水) 06:29:27 ID:9iTeurL90]
>>841
インスタンスを使い回す意図が意味不明、という事だと思うけど。
単純に答えを与えるより、無意味な実装をする恐れがあれば指摘する事も必要じゃないの?
初心者スレなんだか。

質問者も
1、こういう事をやりたい
2、従ってこういうコードを書いた
という流れで書いてくれると、答える側も答えやすいんだけどね。

843 名前:名称未設定 mailto:sage [2009/07/22(水) 08:17:44 ID:oVZAYiHM0]
>>841
日本語でおk

844 名前:名称未設定 mailto:sage [2009/07/22(水) 09:22:51 ID:RyEv7/Hq0]
親戚の家に間違い電話がかかってくるんだが(野球場の電話番号と似ているらしい)
開口一番
「きょうやるの?」
って聞いてくる人ばかりらしい。

間違い電話以前に基本的なことが欠けている人が多いんだろうな。

845 名前:名称未設定 mailto:sage [2009/07/22(水) 10:15:52 ID:NPYVZKqJ0]
>>844
それは野球ファンみたいな連中だからだろ。

846 名前:名称未設定 mailto:sage [2009/07/22(水) 14:12:28 ID:rsRcvAcs0]
元の >>834 はそれほどおかしな質問でもないと思うが...
ひとつ気をつけることとしては、

// m は既にある NSMutableString 型のオブジェクト
[m setString:@"hoge"];
[m appendFormat:" is %@", bar];
[foo aMethod:m];

なんてしたときに、その後 m を変更して問題がないかどうかは aMethod の実装次第。
(形式としては copy 属性のプロパティにセットするときにはokのはずだけど)。
というわけで [foo aMethod: [[m copy] autorelease]]; なんてするわけだけど、
こういうときはむしろ使い回しをやめて毎回 m を作って aMethod に渡して release した方が
さっぱりしていて良いような気がする。

もちろん m が変更されてもokとわかっていて使いまわせる場面も多々ある。

どっちにしても性能に影響が出ない場合がほとんどなので、
分かりやすい方を選べばいいと思う。

847 名前:名称未設定 mailto:sage [2009/07/22(水) 19:04:55 ID:mJEgQpYc0]
まあリリース多く呼ぶとすぐクラッシュするのがObjCの特徴だけどな。

848 名前:名称未設定 mailto:sage [2009/07/22(水) 19:14:12 ID:vkUc5ogW0]
>>847

849 名前:名称未設定 mailto:sage [2009/07/22(水) 19:15:24 ID:9iTeurL90]
>>847

850 名前:名称未設定 mailto:sage [2009/07/22(水) 19:58:24 ID:Sba5H3x3i]
>>847




851 名前:名称未設定 mailto:sage [2009/07/22(水) 20:04:24 ID:YChWuYYq0]
開発用のソフトは何買えばいいんですか?

852 名前:名称未設定 mailto:sage [2009/07/22(水) 20:07:58 ID:Sba5H3x3i]
>>851
Photoshopくらいあると良いかもね

853 名前:名称未設定 mailto:sage [2009/07/22(水) 20:10:57 ID:okSUEPXW0]
>>851
そのくらいは自分で調べよう
アップルの公式で情報載ってるページすら見つけられないなら、
その後のObjective-Cの勉強などで情報収集すらできずつまずくだろうから早いうちに諦めたほうがいい

854 名前:名称未設定 mailto:sage [2009/07/22(水) 21:31:30 ID:TxiChvQd0]
>>842
ヘッダファイルで宣言したNSMutableStringのインスタンスに何度もアクセスしたり、時には文字列全部を変更したりしたいってことだろ。
話しが通じてない人がちょこちょこいるけど初心者スレ的にはそんなイミフな質問ではないと思う。

855 名前:名称未設定 mailto:sage [2009/07/22(水) 21:32:44 ID:mcBjQkqni]
iPhoneアプリは512×512アイコンが必要で、そのデザインが重要ですけど、そういうことは、どこでどうやって勉強したらいいですか。作成ツールは、やっぱりPhotoshopとかのAdobe製品でしょうか。個人で買うには高いですよね

856 名前:名称未設定 mailto:sage [2009/07/22(水) 21:34:13 ID:i2/e6Z/I0]
>851
データベース用に、100万くらいするソフトが必要だったはず。

857 名前:名称未設定 mailto:sage [2009/07/22(水) 22:24:09 ID:TZ7mJmC10]
alloc initするのと
initXXX

何が違うのですか?
メモリの確保の違いがよくわかりません


858 名前:名称未設定 mailto:sage [2009/07/22(水) 22:36:24 ID:RyEv7/Hq0]
>>857
>initXXX
具体的に書いてくれ

859 名前:名称未設定 mailto:sage [2009/07/22(水) 22:37:21 ID:XuazRChli]
initXXXの前に必ずallocすると思うのだが?

860 名前:名称未設定 mailto:sage [2009/07/22(水) 22:40:54 ID:TxiChvQd0]
>>858
initWithHoge:と同義だろ



861 名前:名称未設定 mailto:sage [2009/07/22(水) 22:49:01 ID:RyEv7/Hq0]
>>857
[[*** alloc] init]するのと
[[*** alloc] initXXX:**]

何が違うのですか?
メモリの確保の違いがよくわかりません
----
ってことか

862 名前:名称未設定 mailto:sage [2009/07/22(水) 23:05:32 ID:hXFoKHtx0]
初期化に引数を使うかどうかの違い

863 名前:名称未設定 mailto:sage [2009/07/22(水) 23:09:30 ID:IUDufm16i]
>>855
有料アプリをつくろうと思ったら、
開発環境、英語読解能力、アイディア、デザイン能力、コーディング能力が必要。
企業はみんなこれを自前でなんとかしてる。
お前も頑張れ!

864 名前:名称未設定 mailto:sage [2009/07/22(水) 23:17:58 ID:TZ7mJmC10]
>>861
それは同種なのは理解できました。どうもです

しかし、以下のコードではいきなりstringWidthStringとしてますが
code.google.com/p/iphonecomic/source/browse/branches/yammtyostk/FileBrowser.m?r=38


[NSMutableString stringWithString:file]

allocは何時されるのでしょうか?

865 名前:名称未設定 mailto:sage [2009/07/22(水) 23:29:21 ID:3H8HO9K50]
Photoshopはelementで十分だ。儲かったらCSでも買え。

866 名前:名称未設定 mailto:sage [2009/07/22(水) 23:33:02 ID:+Gkh3Wkw0]
>>863ありがとう。
それが分かってるから、画像デザイン能力はどこでどうすれば向上できるのか。個人でもPhotoshopやIllustratorなのか、が知りたかった。ちなみに俺は個人で有料アプリを既に販売してる

867 名前:名称未設定 mailto:sage [2009/07/22(水) 23:44:27 ID:RyEv7/Hq0]
>>864

>alloc initするのと
>initXXX
>何が違うのですか?

おまい最初に↑かいておいて
同種なので理解できましただと??

あと”当然”Appleの
「Cocoaメモリ管理プログラミングガイド」
を読んだ上で書いてるんだよな?

868 名前:名称未設定 mailto:sage [2009/07/22(水) 23:48:20 ID:9iTeurL90]
>>864
クラスとインスタンスの違いは分かってる?
戻り値がインスタンスなんだから、当然allocされてる。
alloc、initWithString、autoreleaseをまとめてやってるのがstringWithStringだと思え。

869 名前:名称未設定 mailto:sage [2009/07/22(水) 23:56:05 ID:okSUEPXW0]
>>867
読んでればここでそんな質問しないような…
そのあたりの部分って、はじめは理解しにくい部分ではあるが、自分の頭で理解しないと後で困る部分だし

870 名前:名称未設定 mailto:sage [2009/07/22(水) 23:57:26 ID:TZ7mJmC10]
実はさっきから読み始めました
ごめんなさい



871 名前:名称未設定 mailto:sage [2009/07/23(木) 02:30:16 ID:m3avjdT60]
死ねクズ

872 名前:名称未設定 mailto:sage [2009/07/23(木) 04:53:27 ID:El+C0S6B0]
初心者スレでそれはないだろ...

873 名前:名称未設定 mailto:sage [2009/07/23(木) 05:42:56 ID:iwbjVSYB0]
アイコンなんて無料のgimpでも十分だろ。
つーかアイコン作成ツールって有った様な?

/Developer/Applications/Utilities/Icon¥ Composer.appとか?

まあマイナーなマクの更にマイナーな開発者の知識が要求されるいばらの道である事は確実。

874 名前:名称未設定 mailto:sage [2009/07/24(金) 02:17:56 ID:Ek4OhMwZ0]
facebookアプリで使われてるタブって
どうやって実現してると思いますか?
クオーズ2Dってのでしょうか?

beebee2see.appspot.com/i/agpiZWViZWUyc2VlchQLEgxJbWFnZUFuZFRleHQYp6IJDA.jpg


875 名前:名称未設定 mailto:sage [2009/07/24(金) 06:01:58 ID:jiqWndf60]
作者が無料で公開している。
joehewitt.com/post/the-three20-project/

876 名前:名称未設定 mailto:sage [2009/07/24(金) 10:04:26 ID:Ek4OhMwZ0]
>>875
マジですか!?ちょっと見てみます。
ありがとうございます。

877 名前:名称未設定 mailto:sage [2009/07/24(金) 11:44:21 ID:S2/1w6p30]
FMDatabaseの存在を最近知りいじっているのですが
行数獲得するときってどうするんでしょうか

FMResultSet *rs = [db executeQuery:@"select count(*) from tablename"];

で行数を取得してると思うのですがFMResultSetから取り出すメソッドがわかりません

878 名前:名称未設定 mailto:sage [2009/07/24(金) 11:58:57 ID:2DErBdmd0]
ループでfetchするときと一緒だけどね。

[rs next];
int count = [rs intForColumnIndex:0];

クックブックにも載ってるよ。

879 名前:名称未設定 mailto:sage [2009/07/24(金) 19:33:37 ID:vXZ8VvCo0]
デベロッパー登録でApple ID新しく英語で作りなおせってどこでも書いてあるけど
iTunesのIDと分けてて不便とかないですか?
あるいは、一緒にして不都合はないですか?

アプリ1000円ぶんくらい買っちゃってるんだけどどうしようかなーと。

880 名前:名称未設定 mailto:sage [2009/07/24(金) 19:41:08 ID:W1byWdMH0]
俺一緒でやったら、確かに最初トラブった。
ただしADCのどっかのフォームからメールしたらすぐ直してくれた。



881 名前:名称未設定 mailto:sage [2009/07/24(金) 20:08:51 ID:XD907xl+i]
>>879
一応わけた方が良い
俺はわけてなくて、ペンコン以外特に問題もなく過ごせてるが

882 名前:名称未設定 [2009/07/25(土) 05:24:48 ID:J/wU8mWf0]
aViewの上にbViewを表示させて、bViewでユーザー入力処理をした後に、bViewをaViewのクラス内で閉じるということをしようとしています。
ですが閉じることができません。
hiddenでビューを閉じる考えでコードを書いてみたものの、途中でビューの値が破棄して、その対処が分からない状態です。

下記の感じでコードで書いています。
何卒、お助けをよろしくお願いします。
※hogeCは、テストで作ったTouchイベントですが、こいつは作動するので、何処かに値は、あるんじゃないかと思っています。

@interface A:X{ IBOutlet UIView *bView; }
-(void)hogeA;
-(void)hogeB;
-(IBAction)hogeC:(id)sender
end

@implementation A
-(void)hogeA{ self.bView.hidden = NO ; }
//これでbViewを表示(クラスB)

-(void)hogeB{ self.bView.hidden = YES ; }
//bViewはNULLになっています

-(IBAction)hogeC:(id)sender { if(self.bView.hidden){self.bView.hidden = NO ;}
else{self.bView.hidden = YES ;} }

end
---------------------------------------
@interface B:A{}
-(void)hogeD;
end
@implementation B
-(void)hogeD{ [self hogeB]; }
end

883 名前:名称未設定 mailto:sage [2009/07/25(土) 06:36:28 ID:bMXqUnIk0]
>>882
aViewからbViewにアウトレット繋がってる?

884 名前:名称未設定 mailto:sage [2009/07/25(土) 07:15:37 ID:l2e9ugAm0]
>>882
えーと、hogeDから、aViewインスタンス上のhogeBが呼ばれずに、bViewインスタンス上の
(Aから継承した)hogeBが呼ばれているせいだと思う。

BはAを継承しているから、BのhogeDでself.hogeBを呼べば、hogeBというメソッドを呼び
出すことはできるし、変数bViewにもアクセスはできるけど、それはselfと指定している以上、
あくまでもbViewインスタンスのhogeBと変数bView。Interface Builderで設定したのは、多分
aViewインスタンスの変数bViewだろうから、このhogeDではその値にアクセスできない。

解決方法はいくつか考えられるんだけど、このクラスAとBって、UIViewのサブクラスだろう
から、hogeDでself.hidden = YES;だけで済む様な気が。

というか、BがAを継承しているのはあまり意味が無い(もっとハッキリ言うと、無意味どころか
構造を複雑にするだけで、バグを誘引する)様な気が。

885 名前:名称未設定 mailto:sage [2009/07/25(土) 07:38:58 ID:zwQlzdDY0]
t8.wtakumi.com/s/honoka/1248385881730772.jpeg

886 名前:名称未設定 mailto:sage [2009/07/25(土) 10:17:26 ID:TqAIOuSm0]
そもそもhogeDは誰がいつ呼ぶんよ

887 名前:882 [2009/07/25(土) 13:09:11 ID:J/wU8mWf0]
解決しました。有難うございます!

>>883
aViewからbView(B)にアウトレットが繋がってませんでした。
有難うございます。

>>884
詳細な説明有難うございます。
bViewとaViewがアウトレットで繋がっていながっていなかったから、selfがbViewを見ていたと解釈しました。

構造が複雑、ですよね。私がバグってます ^^;
詳細に説明していなかったんですが、bViewの上にTableViewがのっていて、そいつの表示処理をB(ViewController)でやっていて、
cellの選択のちにAにselfで返したくて、継承を使うこんな構造を考えました。。。

>>886
詳細に書いてなかったのですが、
self.bView.hidden = NO がTableViewを呼んでいてその中にありました。


つたない説明の中、くみとった上でご回答を頂き、ありがとうございます。


888 名前:名称未設定 mailto:sage [2009/07/25(土) 21:58:00 ID:7M9hg+3l0]
連絡先や、iPodの曲名表示ってどんなソートキーを使ってるんでしょうか?
インデックスの「あかさたな...やらわA●D●G...T●Z#」の通りに並んでいますが、
頭文字の昇順降順だけではなさそうです。

「#」が、アルファベットとカナ以外を指してるところを見ると、
セクション名をひとくくりにする処理が要りそうですが、
ひらがな→アルファベット となるソートってあるんでしょうか?
もしくは内部的に「あ」を0、「い」を1、...「A」を10というように持たせてソートしてから、
後でインデックスと対応させてます?

889 名前:名称未設定 [2009/07/25(土) 22:14:48 ID:dvR0jxi+0]
教えてください
OpenALでキーを押すために発音させたいのですが
1、キーが押される
2.データーの作成(音程を変えたり)
3,alBufferData
4.alSourcei
5,alSourcePlay
なんですが、
この後、片付け処理は毎回やらないと
いけないのでしょうか?
また、その際の片付けはalDeleteBuffersだけでOK?


890 名前:名称未設定 [2009/07/26(日) 03:53:04 ID:wBkT78540]
超初歩的な質問ですまないのですが
アプリに課金せず、そのアプリ内での商品に課金してクレカ経由で徴収するという事は
アップルから許されているのでしょうか?また、技術的には可能ですか?



891 名前:名称未設定 mailto:okubo.vn@gmail.com [2009/07/26(日) 04:18:01 ID:wBkT78540]
実はそれというのは
私は今取り扱っている書籍の電子出版を考えていまして
プレビューが見れて、一冊いくらで販売というところまで
iPhone上またゆくゆくはAndroid上で実現したいと考えていて
別に外注でも、誰かにやっていただけるなら喜んで発注するのですが
そういう事をしている知人がいないもので
自分で作るしかないのかなと考えているのです。
どうでしょうか。。。

892 名前:名称未設定 mailto:sage [2009/07/26(日) 06:47:13 ID:I+53dRV80]
電子書籍ならもういろんなとこがやってるからその中で出せばいいじゃない

893 名前:名称未設定 mailto:sage [2009/07/26(日) 06:51:30 ID:A4BGRDEA0]
>>891
出来ます。
が、見る限りでは外注した方が良いと思います。

894 名前:名称未設定 [2009/07/26(日) 07:47:15 ID:heDrpIxV0]
>>890
俺の知る限りKindle、Skyskapeのアプリがそういうタイプの課金をしてる。
SkyskapeはAppKitでバウチャーをAppStoreで買う事も出来て柔軟。

895 名前:名称未設定 mailto:sage [2009/07/26(日) 16:41:40 ID:nGoumDq0i]
>>890

有料でin app purchaice 実装して、リリースしてから、アプリの値段無料に変えたらどうだろうwww

やったら、最初の一人目は超話題になりそう。

896 名前:名称未設定 mailto:sage [2009/07/26(日) 17:00:05 ID:LvRWhUhi0]
>>890
iPhone以外にもサービスしてる事が条件だそうだ。

897 名前:名称未設定 mailto:sage [2009/07/26(日) 18:32:55 ID:qGnSZBdU0]
まあクレカ課金だけでも苦労するとは思うが。

898 名前:名称未設定 mailto:sage [2009/07/26(日) 20:41:10 ID:jHWD3S2E0]
CFUUIDRef型の変数値をreleaseしないで入れ替えると
メモリリークなのでしょうか。



899 名前:名称未設定 mailto:sage [2009/07/26(日) 20:57:11 ID:rlf3HRMr0]
create, copy の名前が入った関数(CFUUIDCreate)で作成されたオブジェクトは retain されてます
CFRelease しないとリークします。

900 名前:名称未設定 mailto:sage [2009/07/26(日) 21:58:33 ID:jHWD3S2E0]
>>899
どうもです。ちなみにDoubleのNaNとかってC言語の定義を引っ張ってくるのでしょうか



901 名前:名称未設定 mailto:sage [2009/07/26(日) 23:56:37 ID:ki4ItyMk0]
>>900
意味がわからない。まさか、NaNかどうかを判定したいとか?

902 名前:名称未設定 mailto:sage [2009/07/27(月) 00:08:15 ID:OQtTKBHh0]
>>901
NSStringをdouble型に変換したとき
非数ならNaNとして扱いたいのですが
どうすればいいのでしょうか。

たぶん判別も必要になるとは思いますが




903 名前:名称未設定 mailto:sage [2009/07/27(月) 09:35:52 ID:x7GxLbYZ0]
math.hにNANとisnanってマクロがあるよ。
double n = NAN;
NSLog( isnan(n) ? @"n = NaN" : @"n != Nan" );
とか。


904 名前:名称未設定 mailto:sage [2009/07/28(火) 15:47:16 ID:HD+ueO4j0]
>>901
そうそう。君はそうやって人の言うことを聞いとくべきだよ。
中学生とは思えないほど稚拙な文章だったけど、面白かったよ。

905 名前:名称未設定 [2009/07/28(火) 19:07:12 ID:nKXjdldx0]
質問させてください.

ViewController内のViewからViewControllerのメソッドを呼び出したいのですが
AppDelegateからさかのぼって指定するしか方法は無いのでしょうか?

以上.よろしくお願いします.

906 名前:名称未設定 mailto:sage [2009/07/28(火) 19:24:09 ID:AUxAj114i]
>>905
まずは MVC を理解することだ



907 名前:名称未設定 mailto:sage [2009/07/28(火) 19:27:19 ID:a/H9l5lhi]
>>905
もしユーザの入力に応じて何かしたいならUIControlのサブクラスにしてターゲット・アクション

908 名前:名称未設定 [2009/07/28(火) 19:50:51 ID:nKXjdldx0]
>>907
なんかとっかかりが見えてきました.

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

909 名前:名称未設定 mailto:sage [2009/07/28(火) 20:10:08 ID:AIGUKqRB0]
delegateもな

910 名前:名称未設定 [2009/07/28(火) 20:11:06 ID:0CFtBX1yO]
質問お願いします。
Xcodeでコード書いてる時にスペースキーを押す
(例えば変数宣言でintを打ってスペースを打つ)とよくXcodeからの応答が無くなります(汗)
強制終了するしかないので頻繁に起きて作業が進みません。
ちょっと漠然としすぎな質問で申し訳ないんですが
誰か解決策がわかる方がいればお願いします。



911 名前:名称未設定 mailto:sage [2009/07/28(火) 20:17:36 ID:a/H9l5lhi]
関係ないかもしらんが、コード折りたたんでるとスペース入れただけで落ちることが結構あった気がする

912 名前:名称未設定 [2009/07/28(火) 20:23:42 ID:0CFtBX1yO]
>>911
そうなんですか!?
コードがかなり長いので結構折り畳んでます。
ありがとうございます。全て開いて書いて見ます!!

913 名前:名称未設定 mailto:sage [2009/07/28(火) 20:45:47 ID:/kmGkNmq0]
Xcodeでコンパイルオプションってどうやって設定するんでしょうか?
ファイルごとに個別に設定する方法はあったのですが、全体に指定する
方法がわかりません。
Makeファイルで言うところのCFLAGSです。

914 名前:名称未設定 mailto:sage [2009/07/28(火) 22:26:28 ID:w6kX29+V0]
Xcode対象行をブレークポイントについかしても
デバッグで停止してくれません。

OSX 10.0の頃とNextStepの頃はこんなことなかったのですが....

915 名前:名称未設定 mailto:sage [2009/07/28(火) 23:59:22 ID:zFDXW9aL0]
いまだってそんなことないよ。
本当に通ってないとかじゃね?

916 名前:名称未設定 mailto:sage [2009/07/29(水) 00:01:28 ID:/iTGeAgy0]
>>915
main書いた直後にint i = 0
i++;と書いてもi++;で止まらない

VC++とかなら止まるんだけど

917 名前:名称未設定 mailto:sage [2009/07/29(水) 00:32:18 ID:rZ7S/rZT0]
最適化されてるんじゃないの?

918 名前:名称未設定 mailto:sage [2009/07/29(水) 00:36:26 ID:48yPjgL30]
>>914
10.5の今だと停止しないものらしい
とでも言いたいわけ?
OSや開発環境のバグを疑うなんて十年早いんじゃないの?

919 名前:名称未設定 mailto:sage [2009/07/29(水) 01:45:09 ID:0uZ1KCK70]
>>916
悪いこと言わないからまず謝っとけ。
そして、どこが悪いか自分で調べて、結果を報告しろ。

はっきり言ってお前の罪はでかい。

920 名前:名称未設定 mailto:sage [2009/07/29(水) 01:48:37 ID:ZBQITq1g0]
どうせReleaseとかにしたままDebugしてるとかだろ



921 名前:名称未設定 mailto:sage [2009/07/29(水) 07:31:50 ID:Pb+nlSAg0]
>916
対象行のブレークポイントはそのままにしといて
しょっぱなのAppDelegateでブレークポイント置いてそこで止まるかどうか、
そしてそのまま進んで対象行で止まるか。

そもそも対象行が処理されてない可能性もある。

922 名前:名称未設定 mailto:sage [2009/07/29(水) 08:51:03 ID:FHlfX3oB0]
おそらく>>920で正解だろうな

923 名前:名称未設定 mailto:sage [2009/07/29(水) 09:37:07 ID:0uZ1KCK70]
パフォーマンス計測とかメモリリーク調査をしててデバッグ実行してない可能性も。。。<併用できない

924 名前:名称未設定 mailto:sage [2009/07/29(水) 10:18:02 ID:SxSY1hAJ0]
device登録したiPhone3Gの登録を抹消したいんだけど、
抹消できた場合って、登録以前のように使えるのですか?

925 名前:名称未設定 mailto:sage [2009/07/29(水) 13:08:52 ID:ZDswXcQv0]
Preferenceのdelaied bindingとか。

926 名前:名称未設定 mailto:sage [2009/07/29(水) 13:11:33 ID:ZDswXcQv0]
GM入れればOKだけど、今3.1bだと、GM待ち。

927 名前:名称未設定 mailto:sage [2009/07/29(水) 13:22:16 ID:SxSY1hAJ0]
>>926
3.1β3なので待ちます。
ありがとうございました。

928 名前:名称未設定 mailto:sage [2009/07/29(水) 15:25:23 ID:Ci8UpZOv0]
漠然とした質問で申し訳ないのですが、
iPodの音楽に連動させたアプリ、
音声認識(特定の言葉などをきっかけに反応するような)
を利用したアプリは製作できるのでしょうか。

よろしくお願いします。

929 名前:名称未設定 mailto:sage [2009/07/29(水) 15:39:23 ID:gl/0phAq0]
できません

930 名前:928 mailto:sage [2009/07/29(水) 15:42:56 ID:Ci8UpZOv0]
補足
iPodの音楽に連動というのは
曲の音に反応するという意味です。BGMとして利用し、
かつその音にビジュアルを反応させるといったものです。



931 名前:名称未設定 mailto:sage [2009/07/29(水) 15:43:26 ID:ZDswXcQv0]
>Podの音楽に連動させたアプリ、

iPodの任意の曲を再生したり、曲が変わったイベント・曲目・歌詞・プレイリスト等は取れる。
音そのもののをデータとして使う事は出来無い。

>音声認識(特定の言葉などをきっかけに反応するような)
>を利用したアプリは製作できるのでしょうか。

CoreAudio使えば、マイクの入力音をデータとして取る事は出来る。
通話音声は不可。音声認識等のAPIは無い。

932 名前:名称未設定 mailto:sage [2009/07/29(水) 15:44:30 ID:GptJ0jFJ0]
>>930
小出しにすると嫌われるぞ

933 名前:928 mailto:sage [2009/07/29(水) 16:05:21 ID:Ci8UpZOv0]
>>929,931,932

ありがとうございます。
説明に不足があると思ったので補足しました。すいません。
iPodの音楽をイコライザーのようなもので表現することは
できないということですね。
バックグラウンドで再生している曲を認識することも不可能でしょうか。

音声認識も使えないのですね。

934 名前:ゲンズブール mailto:sage [2009/07/29(水) 16:33:20 ID:xojaWA5z0]
オキャクサンニキラワレルゾ

935 名前:名称未設定 mailto:sage [2009/07/29(水) 17:03:39 ID:GptJ0jFJ0]
>>934
おっさんか?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<260KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef