1read 100read
2012年3月新・mac35: [SDK]iPhoneアプリ開発初心者質問箱24[touch][iPad] (177) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【GPL】VirtualBoxを試すPart2【仮想化】 (200)
Magic Trackpad Part5 (551)
【GPL】VirtualBoxを試すPart2【仮想化】 (200)
Macでゲーム Part3 (294)
みすらわるものそしきにゃーのつめMac支部 (567)
脱Adobeの為の代替アプリスレ (628)

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


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

2 :12/03/24
■参考書籍
【入門書】
 よくわかるiPhoneアプリ開発の教科書【iOS 5&Xcode 4.2対応版】(マイナビ 2012/2)森巧尚
 Xcode 4ではじめるObjective-Cプログラミング(ラトルズ 2012/1)大津真
 電子書籍「iOSの教科書」iOS 5とXcode 4.2に完全対応(ARCオン)(ウック/パブー 2011/12)赤松正行、神谷典孝
 iPhone/iPad/iPod touchプログラミングル―iOS 5/Xcode 4対応(ソシム 2011/11)布留川英一
【Objective-C/Xcode】
 Objective-C超入門――ゼロからしっかり学べるiPhoneプログラミング【Xcode4.2対応】(ラトルズ 2012/1)大川内隆朗
 詳解 Objective-C 2.0 第3版(ソフトバンククリエイティブ 2011/12)荻原剛志
 エキスパートObjective-Cプログラミング(インプレスジャパン/達人出版会 2011/11)坂本一樹
 iOSデバッグ&最適化技法 for iPad/iPhone(秀和システム 2010/11)國居貴浩
【中・上級】
 iPhoneアプリ設計の極意―思わずタップしたくなるアプリのデザイン(オライリージャパン 2011/6)Josh Clark
 iPhoneプログラミングUIKit詳解リファレンス(リックテレコム 2010/1)所友太
 iOS4プログラミングブック(インプレスジャパン 2011/1)畑圭輔ほか
 詳解iOS5プログラミング(秀和システム 2011/12)沼田哲史
 iOS開発におけるパターンによるオートマティズム(ビー・エヌ・エヌ新社 2011/2)木下誠
【その他】
 iOS WEB APIマッシュアップ入門for iPad/iPhone(秀和システム 2011/5)不破守康、小田実
 Smartphone Ads iPhone・Androidアプリへの広告の実装と管理テクニック(ソフトバンククリエイティブ 2011/11)
 iPhoneデジカメプログラミング(ソフトバンククリエイティブ 2011/3)細谷日出海
 iPhone Core Audioプログラミング(ソフトバンククリエイティブ 2009/11)永野哲久
 ジオモバイルプログラミングiPhone&Androidで位置情報アプリを作ろう(ワークスコーポレーション 2011/1)郷田まり子
■他
iOS Reference Library (日本語Webドキュメント)
https://developer.apple.com/jp/devcenter/ios/library/japanese.html
iPhone/iPadアプリのリリース(App Storeへの登録申請)手順(2012年1月現在)
https://www.facebook.com/note.php?note_id=275515095847187

3 :12/03/24
どんどんびきびきどーんびきびきどんどんびきびきハッ!

4 :12/03/24
>>1 乙ー

5 :12/03/24
このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててください。

6 :12/03/24
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ
あむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむあむ

7 :12/03/24
wwwwww
これはAUTO

8 :12/03/24
キチガイ警報 (AA略

9 :12/03/24
>>965
まじか。サンプルのreleaseとかが使えないから何でかなと思いながら、nilを代入してたが、知らないうちにARCなるものを使っていたのか。ありがとう。
でもサンプルで使ってないのはデメリットがあるから?

10 :12/03/24
>>9
ARCは出来たばかりで最近のサンプルでないとARCは使われていない。
自分でretainとか書くよりずっと楽になるからバンバン使うべき。
ただし裏で何が起きているかは知っておいた方が良いので最初のうちはARC無しで書いてみてから
ARCをオンにして「これも書かなくていい、あれも書かなくていい」というのは体験しておいた方がよいかも知れない

11 :12/03/24
strong weakとか何だと思ったらこれ関係か。だいたい分かったような。
未だにasignの意味が分からない。

12 :12/03/24
すんません分かる方おられたらちょっとお聞きしたいのですが
- (void) setName:(NSString) {
if (name != newName) {
[name release];
name = [newName copy];
}
}
で [インスタンス名 setName:@"YAMADA"]; としたとき、
nameに代入されたYAMADAは参照カウンタ1ってことでいいんですよね?
その場合コピー元のYAMADAもカウンタ1ですよね?
この参照元のオブジェクトは開放する必要はないですか?

13 :12/03/24
>>12
元のオブジェクトの参照カウンタなんて知らんがな

14 :12/03/24
>>12
>nameに代入されたYAMADAは参照カウンタ1ってことでいいんですよね?
>その場合コピー元のYAMADAもカウンタ1ですよね?
よくない。というか、ユーザーにはわからないし、参照カウンタの”絶対数”は
気にしなくてもいい。
>この参照元のオブジェクトは開放する必要はないですか?
解放する必要なない。
name = [newName copy];
により、nameが指しているNSStringオブジェクトの参照カウンタが+1
になるので、使い終わったら[name release]して
参照カウンタを−1にする。自分がretainしたのは自分でreleaseする
というルールさえ守ればよいので。

15 :12/03/24
>>10
とりあえずありがとう。オンオフの切り替え方法がわからないが帰って調べる。

16 :12/03/24
>>14
なるほど、詳しくありがとうございます。
参照カウンターが+される行為も考えておかなければいけないということですよね?
alloc init とか。

17 :12/03/24
>>16
alloc ですでに 1 で init で変わるようなことは(ほとんど)無い
変わるのは retain と release だけ
autorelease は現在の AutoreleasePool に突っ込むだけで直接は関係無い
>>14
>nameが指しているNSStringオブジェクトの参照カウンタが+1
copy はインスタンスの生成なので、1 から始まるんじゃないのかな

18 :12/03/24


19 :12/03/24
>>16
インスタンスの所有というのを理解するといいような
自分で作ったインスタンスは自分で所有し、いらなくなったら破棄するってのは普通だからわかるよね
alloc] init] や copy の場合はインスタンス生成時にすでに自分で所有するっていう行為だから、必要がなくなったら release しなければならない
[NSString stringWith...] とかのコンビニエンスなのは、生成時に勝手に AutoreleasePool に突っ込まれているので、ほっとけば無くなるというのでインスタンスの生成ではあるが所有するという行為ではない
引数などで渡されているのは、他で所有(コンビニエンスの場合は宙ぶらりんだけど)されているもので気にする必要は無い。自分でも所有したければ retain して必要がなくなったら release すればいい/しなければならない
1.どこかのクラスで alloc] init] されたインスタンスがあるとして、それを所有しているのはそのどこかのクラス
2.そのインスタンスを渡されて retain すると、そのインスタンスを自分でも所有することになり、どこかのクラスと共有して所有
3.どこかのクラスで必要が無くなったので release して所有権を破棄すると、自分だけが所有することになる
これがオーナーシップの委譲とかいうカッコいい行為でw、勝手にそうなるカッコよさw

20 :12/03/24
アプリが完成に近づいているので、AppSoreへの申請を検討しています。
そこで質問なのですが、AlertやLabel内に設定してある値が日本語なのですが、これは審査の時大丈夫なのでしょうか?
日本限定でもローカライズって必要になりますか?

21 :12/03/24
>>19
>2.そのインスタンスを渡されて retain すると、そのインスタンスを自分でも所有することになり、どこかのクラスと共有して所有
所有するつもりが無いなら、インスタンスを渡されても気にする必要は全くない >>12 のコピー元のように
コピー元を気にしなければならないのは、コピー元を所有しているであろう、そのメソッドを呼んだ(メソッドからメソッドとかだったら大元の)クラスだけ

22 :12/03/24
>>20
日本限定ならそれでいいと思いますよ。
日本をターゲットにしたアプリもあるわけですし。
英語デフォルトにして日本をローカライズしとけば、
もっと儲けられると思いますけどね。

23 :12/03/24
>>22
ありがとうございます。
英語出来ないけど…頑張ろうかな…。

24 :12/03/24
>>21
なるほど。所有権の所在を追った方がカウント数追うより
はるかに理解しやすいですw
バカなのでそのへんを自分なりにもう一度紙にイメージを書いて理解してみますw  
どうもありがとうございました。

25 :12/03/24
NSString sizeWithFont:constrainedToSize:lineBrakeMode:
の戻り値がピッタリにならず、悩んでいます。入力文字列によっては大きかったり少なかったりで。
なお、lineBrakeModeはUILineBrakeModeCharacterWrapを指定しています。

26 :12/03/25
質問です。
以下のコードでメモリリークが発生するのですが、解決できません。
- (IBAction)buttonImageTouchUpInsideAction:(id)sender
{
UIImagePickerController *imagePickerController = [UIImagePickerController new];
imagePickerController.delegate = self;
[self presentModalViewController:imagePickerController animated:YES];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissModalViewControllerAnimated:NO];
}
メモリリークの内容は Malloc 48 bytes / libsystem_c.lib / strdup です。
presentしたモーダルビューをDismissすると、中にあるimagePickerが
解放できないためのメモリリークではないかと思っています。
環境はXcode4.3.1 iOS5.1 ARC有りです。
解決できる方がいらっしゃいましたらよろしくおねがいします。

27 :12/03/25
最近はnewで初期化するようになったのかい

28 :12/03/25
retainとcopyの違いが未だにわからない俺
stringだとcopyにしろとどっかで見たけど理由が分からん

29 :12/03/25
超初心者ですが、どなたか解答をお願いいたします。
タップするとUIWebViewのある下層画面に移動して、Safariが起動し実装ファイルに書かれたリンクに飛ぶ仕様になっています。
アプリはバックグラウンドで動いています。
この状態でアプリに戻ると、UIWebViewのある下層画面が開いてしまって白紙のページが表示されてしまいます。
再起動時にリンク元のページを表示するようにするにはどうしたらよいのでしょうか?
というか、そもそもリンクを貼るのにこの方法が間違っている?
どなたかお願いします。

30 :12/03/25
>>26
前スレにもあったけど、strdup のリークは iOS 5.1 のバグっぽい。
>>27
new は古い書き方で、alloc して init するのと同じ意味だけど、普通は alloc/init だよね。
>>28
@property (retain) NSString *name; の場合、
NSMutableString *str = [NSMutableString stringWithString:@"abc"];
obj.name = str;
[str appendString:@"def"];
とすると name は @"abcdef" になっちゃう。copy なら name は @"abc"。
ちなみに、str が NSString なら [str copy] は [str retain] と同じ意味だから、無駄にコピーされる心配はない。
>>29
Safari を起動してリンクに飛ばすなら、「UIWebViewのある下層画面」は不要だと思うけど…。

31 :12/03/25
>>25
「ピッタリにならず」の意味が分からない。
どんな文字列に対して、どんな結果を期待して、実際の結果はどうなるの?
「入力文字列によっては大きかったり少なかったり」するからこそ、
いろんな文字列に対してそのメソッドを呼ぶ意味があるんだけど。

32 :12/03/25
iPhone内のSQLを読み書きしたいのですが、
参考になるホームページなどありますでしょうか?
もしくはPHPを経由してサーバ上のSQL読み書きでも
かまわないのですが、お願いいたします。

33 :12/03/25
>>32
そと質問だと何がしたいのか分からない。「iPhone SQL」でぐぐれ。

34 :12/03/25
>>30
あほど
シャローコピー+retainなのか
理解

35 :12/03/25
tableviewの本文をcell.textLabel.numberOfLines = 4と4行表示を上限とした場合、
以下の高さ調整では本文すべての高さ計算になってしまいます。
4行分の高さ上限にしたい場合どうすればいいでしょうか?
- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath
{
UITableViewCell *cell = [self tableView:self.tableView cellForRowAtIndexPath:indexPath];
CGSize bounds = CGSizeMake(self.tableView.frame.size.width - 150, self.tableView.frame.size.height);
CGSize size = [cell.detailTextLabel.text sizeWithFont: cell.detailTextLabel.font
constrainedToSize: bounds
lineBreakMode: UILineBreakModeCharacterWrap];
return size.height;
}

36 :12/03/26
>>35
sizeWithFont:constrainedToSize:lineBreakMode: が返す size の上限は bounds。
bounds に self.tableView.frame.size.height (つまり、テーブル全体の高さ) を
渡してるから、size の高さが 4 行を超えてしまう。
ので、bounds の高さを font.lineHeight * 4 とかにすればいいんじゃないかな。
あと、size.height をそのまま返してるけど、余白を空けた方がいいんじゃない?
(bounds って名前もどうかと思うけど、まぁいいや。)
ところで、tableView:heightForRowAtIndexPath: は最初に全データに対して呼ばれるので、
>UITableViewCell *cell = [self tableView:self.tableView cellForRowAtIndexPath:indexPath];
は無駄にセルが作られてしまうため、よくないよ。
知りたい情報はラベルの文字列とフォントなので、
・文字列は tableView:cellForRowAtIndexPath: の中で自分でセットしてる筈だから、それと同じ方法で取得する
・フォントは、自分でセットしてるならその値を使う。デフォルトのままなら???
それから、UILineBreakModeCharacterWrap をつかってるけど、それってどうなんだろ?
単語の途中で切るのって、英語圏の人は嫌がりそう。
日本語なら UILineBreakModeWordWrap でも文字単位で切ってくれると思うし。

37 :12/03/26
>>36
詳しくありがとうございます。修正してみます。

38 :12/03/26
tableview関連で2点教えてください。
1)tableviewの1つのcellに大して4行表示し、
  4行ともフォントサイズ、フォントカラーを表示する場合、
  Labelをcellにaddsubviewするしか手段はないでしょうか?
  (detailTextLabelとtextLabelだけだと2行のフォントサイズ、カラー変更が限界?)
2)tableviewのtextLabel(detailTextLabel)をcellの上詰め(縦揃え)に
  変更することはできないでしょうか?
 (textLabel.textAlignmentなど横揃えはあったのですが・・・・)

39 :12/03/26
>>38
すみません1番誤記ってました。
1)tableviewの1つのcellに対して4行表示し、
  4行ともフォントサイズ、フォントカラーを別のもので表示する場合、
  Labelをcellにaddsubviewするしか手段はないでしょうか?
  (detailTextLabelとtextLabelだけだと2行のフォントサイズ、カラー変更が限界?)

40 :12/03/26
カスタムセルを作る。
無理。

41 :12/03/26
XcodeのAssistant Editorについてですが
ある自前クラスのヘッダファイルと実装ファイルのファイル名やクラス名などを修正しているうちに、
Counterpartsの関係が解けてしまったらしく、片方を開いてももう片方が反対側のビューに表示されなくなってしまいました。
上のパンくずリストの最初をクリックしても、Counterpartsにも何も表示されません。
これらの2ファイルを再び関連付けてAssistant Editorにもう片方を自動表示するようにするにはどうすればいいのでしょうか?

42 :12/03/26
ポップオーバーなんですが、
デイトピッカーとその上に表示させるNavigationbar と Navigationbaritem
は表示出来ました。しかし、完了(Done)ボタンを押したときに閉じられません。
popoverを閉じるコードを書けばいいと思うんですが、
popover自体がどれか分かりません。ポップオーバー自体は表示されます。
どのコードを書けばボタンを押したときに閉じられるでしょうか?
- (void)viewDidLoad {
[super viewDidLoad];
// ナビゲーションバーを生成
UINavigationBar* navBarTop = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 40)];
navBarTop.alpha = 1.0f;
navBarTop.barStyle = UIBarStyleBlackTranslucent;
// ナビゲーションアイテムを生成
UINavigationItem* title = [[UINavigationItem alloc] initWithTitle:@""];
// 戻るボタンを生成
UIBarButtonItem* btnItemBack = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleBordered target:self action:@selector(closePopover:)];
// ナビゲーションアイテムの右側に戻るボタンを設置
title.rightBarButtonItem = btnItemBack;
// ナビゲーションバーにナビゲーションアイテムを設置
[navBarTop pushNavigationItem:title animated:YES];
// ビューにナビゲーションアイテムを設置
[self.view addSubview:navBarTop];
}

43 :12/03/26
またそうやっていちいち聞いてくるのか。

44 :12/03/26
リファレンスにも書いてありませんし。

45 :12/03/26
>>42
またお前か…と思いつつ、UIPopoverController は確かにちょっと使いにくいからなぁ。
まず、ドキュメントとしては、ここ
https://developer.apple.com/jp/devcenter/ios/library/japanese.html
の「iOS View Controllerカタログ」に記述がある。あんまり親切じゃないけど。
で、ポップオーバーの閉じ方については、
「プログラムでPopoverを消去するには、Popover Controllerへのポインタが必要である。
 そのようなポインタを取得する唯一の方法は、自分でポインタをコンテンツView Controllerに格納することです。」
と書いてあるよ。あとは自分で考えてね。
(唯一の方法とか書いてあるけど、個人的には親 view controller が popover controller を持って、
子 view controller は親 view controller へのポインタを (delegate として) 持つ方がいい気がする。)

46 :12/03/26
カメラアプリを作っているんですが、サイレンモードでも音が鳴らないとリジェクトされますよね?
AudioToolboxでサイレントモードでも音を鳴らす方法ありますか?

47 :12/03/26
オーディオセッションカテゴリー

48 :12/03/26

【企業】 サムスンのデザイナー 「GalaxyがiPhoneの盗作だって?まったく異なる。デザインは初めからオリジナルだ」
http://uni.2ch.net/test/read.cgi/newsplus/1332729761/
【文化】 「集団自決」(強制集団死)への日本軍関与など、沖縄戦の史実発掘 朴寿南監督映画「命の果報」、近く完成
http://uni.2ch.net/test/read.cgi/newsplus/1332726295/

49 :12/03/26
つーかカメラ使うと勝手に音ならなかったっけ

50 :12/03/26
>>45
ヒントありがとうございます!!
(`・ω・´)ゞ感謝です! 頑張ってみます!!

51 :12/03/26
>>47ありがとうございます!調べてみますm(_ _)m
>>49すいません。ビデオカメラですf^_^;)
別件なんですが、main画面のviewDidLoadでAudioServicesCreateSystemSoundIDを使って作ったサウンドが、
画面Aに行って戻ってきたら鳴らなくなるんですが、何か考えられる原因ありますか?
ホームボタンを押して、再度アプリをアクティブにすると、治ります。
また、画面Bに行って戻ってきても現象は再現しません。
不思議ですf^_^;)

52 :12/03/26
度々すいません。
soundが鳴らなく現象ですが、iPhone3gs ios5.0では再現しないようです。
(再現したのはiPhone4s ios5.1)
また全部で4つのsoundを同じタイミングの同じ方法で作っているのですが、鳴らなくなるのは決まった一つのsound(画面Aから戻って一番先になるSound)でその他は問題無しです。
いろいろ謎ですが、恐らく画面AがAVplayerのcontrollerなので、それが影響しているのでは?と考えています。

53 :12/03/26
>>52
デバイスのリセットで直ったりしまいか?

54 :12/03/26
>>53レスありがとうございます。リセットしてもダメでした(^_^;)
ついでにファイルをwavからcafに変更してもダメでした。ios5.0で再現しないので5.1のバグですかね?

55 :12/03/26
複数のViewを使った処理について質問です。
参考にしてるサイトでは
ViewDidLoadで全てのViewをsubViewで読み込み、setHiddenで非表示にし、
必要な時(View切り替え時)に表示させる処理をしているのですが、
このView切り替えのやり方で作成してもリジェクトはされないのでしょうか?
最初に見た資料が上記のやり方だったので、このやり方で作り始めてしまっているのですが、
何か違うような気がするし、アプリが完成してもリジェクトされそうな気がするのですが…
すいません。詳しい方お願いしますm(_ _)m

56 :12/03/26
>>54
ARC使ってる?

57 :12/03/26
>>56ARC使ってないです。

58 :12/03/26
バージョン変わって動作が変わるものに
autoreleaseされちゃってるケースをよく見るからなあ。

59 :12/03/26
>>55
何事も経験
れっつちゃれんじ♪
まあメモリ100MB使うとかのクソでなきゃ滅多なことでリジェクトされんよ
挙動がゴミのように重いとかなら別だが

60 :12/03/26
すいません。今ios5.0の方で繰り返し操作していたら、ios5.0でも再現しました。
またios5.1でも再現しないことが1回だけ確認できました。
どうも動作が一定じゃ無いので、
メイン画面avcapturesession stop

画面A avprayer

メイン画面avcapturesession start
の流れが、
AudioServicesCreateSystemSoundと相性が悪いのかもしれません。
別の方法でサウンド再生を検討して見ます。

61 :12/03/26
>>60
「avcapturesession」を宣言した後に
[avcapturesession retain] ;
でとりあえずは動くはず

62 :12/03/26
ステータスバーを除く領域をCGSizeで取得したいのですがどうすればいいのでしょうか?

63 :12/03/26
>>61ありがとうございますm(_ _)m後で試してみます!

64 :12/03/26
>>62
どういう状況のときでもどういう状況のときのをってのは無いんじゃないかなあ
ステータスバーが表示されていての現在の方向の場合は、UIApplication にあるプロパティから
現在の状況とは違う場合のは、UIScreen とステータスバーの高さを決めうち(Retinaの場合とか考慮して)で求めるとか

65 :12/03/26
>>64
レス有難うございます。
UIGraphicsEndImageContext();
この関数の引数にステータスバーを除く領域をCGSizeで指定したいです。
[[UIScreen mainScreen] bounds];はCGRect型なのでCGSize
UIGraphicsEndImageContext((CGSize)[[UIScreen mainScreen] bounds]);
としてできるかなと思いましたがダメでした。

66 :12/03/26
UIGraphicsBeginImageContext();
の間違いでした

67 :12/03/26
>>65
ああ。CGRect は単に C の構造体
bounds].size
で、CGSize な構造体メンバ size にアクセスできるよ(変にCastしなくても)
(C も、いちおうちゃんと勉強しときましょう)

68 :12/03/26
絵文字などが含まれる文字列を以下のように一つずつ削っているのですが
substringToIndexはうまく取り出せません。
どのように処理をすればいいでしょうか
int length = [searchWord length];
while(length>=0){
Data data=[ClassA getData:tempSearchWord];
if(data!=nill){break;}
tempSearchWord=[searchWord substringToIndex:length];
length=length-1;
}

69 :12/03/26
textviewで特定の文字だけ(アカウント名だけ等)をリンク化する
手段はあるでしょうか?
UIDataDetectorTypesでは、電話番号や、URLしかできなく・・・

70 :12/03/26
>>69
リンク化って具体的に何がしたいわけ?
URLじゃなくて?

71 :12/03/27
>>70
具体的にはアカウント名をリンク化してタップで別viewへ階層移動したく。
後、アカウント名部分だけ色付けする意味もあります。

72 :12/03/27
>>68
ぱっと見、
Index なんだから 0オリジンじゃないの
length=length-1;
tempSearchWord=[searchWord substringToIndex:length];
に入れ替えればいいよーな

73 :12/03/27
>>68
えっと、まず、NSString は文字列を uchar (UTF16) の配列として扱います。
ところが、絵文字や漢字の一部は UTF16 一つには収まらないので、UTF16 二つを
一文字として扱う必要があります。これをサロゲートペアと呼びます。
で、普通に NSString の index とか substringToIndex: で処理すると、
uchar 単位で処理が行われるので、絵文字の途中で切られちゃいます。
これを防ぐには NSString の rangeOfComposedCharacterSequenceAtIndex: や
enumerateSubstringsInRange:options:usingBlock: などを使う必要があります。
さらに、iOS 5 から unicode 6 に対応してますが、一部の絵文字 (国旗とか)
は2つの合成用文字 (日本なら [J] と [P]) を組み合わせて [JP] を表します。
しかも、これらの合成用文字はそれぞれがサロゲートペアだったりもします。
で、rangeOfComposedCharacterSequenceAtIndex: などでは合成用文字はそれぞれ
別の文字として扱われるので、日本の国旗は [J] と [P] に分けられてしまいます。
困ったものだ…。
>>72
[str substringToIndex:length] は 0 〜 length-1 の範囲 (長さ length) を取り出すので、
サロゲートペアがなければ >>68 で問題ない筈。
(while (length >= 0) だと最後は 0 文字になるので、while (length > 0) の方がいいかな。)

74 :12/03/27
>>73
なるほど。サンクス。index の直前までのってことなのね

75 :12/03/27
iPhoneが同期した日付って取得できる?

76 :12/03/27
>>67
ご丁寧にありがとうございます。
構造体はよくわかってませんでした。勉強しておきます。
ありがとうございました。

77 :12/03/27
すみません、質問です。
UIWebViewDelegateのshouldStartLoadWithRequestなんですが、
submitだったら、return NOにするようにしました。
そうすると、1回目のsubmitだけがこのメソッドに入ってきて、
2回目以降のsubmit時にこのメソッドが呼ばれないようです。。。
2回目以降もこのメソッドを呼ぶようにするには、どうすれば良いでしょうか?
(return NOの前に行いたい処理があります)

78 :12/03/27
>>77
呼ばれる筈だけど…。もしかして、javascript で二重 submit 防止処理とかしてない?

79 :12/03/27
>>78
ありがとうございます
2重防止はしていなかったです。どうやらアプリ側からJavascriptのfunctionを呼び、
その中でsubmitしていると、2回目以降submitが効かないようです。
ちなみにfunction自体は呼ばれていて、hiddenに値のセットなどもしていますが、
そういうのは大丈夫らしく、submitだけが効いていない感じです。。。?

80 :12/03/27
photolibraryからUIImagePickerで読み込んだ画像になんらかのエディットを施したあと、メタデータ込みでALAssetsLibraryから画像を書き出しています。
webなどから落とした画像は問題ないんですが、iPhoneで撮影した画像はぐるぐる回ってしまうんですが、対処法ご存知の方いませんか?
具体的には、iPhoneで撮影した画像はどの向きで撮影されていようと常にその写真を撮る時にPortraitでみた基準で、90度時計回りです。さらにインカメラで撮った画像は鏡像まで絡んでややこしく。
CGImageとUIImageの座標系の違いで回ってるのは分かるんですが、撮影時のデバイスの向きまで勝手に考慮されるともう……。
デバイス固有の情報、無視する方法かどこできりわけたらいいのか、何を参照すればいいのかヒントだけでもお願いします

81 :12/03/27
>>80
AssetsLibraryでイメージデータからメタデータを読み取って、何とかならないですか?
あと、保存するときもExif情報も取得してから保存するようにしないとダメみたいな
情報をどこかで見た記憶が。。。

82 :12/03/27
報告です! ポップオーバーでうまく完了ボタンとデイトピッカー表示させることが出来ました!
m(_ _)m みなさんのおかげです。ありがとうございました。
「ポップオーバーは内部に書け」ってことなんですね。
別ファイルでデリゲートさせようとしたらクチャクチャになりました。
完了ボタンを押したら閉じる処理も出来ました。
あとはデイトピッカーのコードを書いておきます。
それと画面外タップでも情報を送る処理をやりますが、
これはイベント通知デリゲートで出来そうですね。
あとデフォルトで情報をキャッシュしてくれるんで便利です。
あと、システムデフォルトの完了ボタンって、色付いてるんですが、
別に色付きでもいいんですよね?システムデフォルトですから。
あと、最初デイトピッカーの上にナビゲーションバー配置しててダサかったので、
ポップオーバーっとナビゲーションは一体化させました。
サンプルコードと同じつくりです。
もしダサいままだとまたリジェクトされていたでしょう。
同時に表示させないようにコードも書いています。

83 :12/03/27
問題が発生しました。
今まではストーリーボードでデイトピッカーの設定をしていたんですが、
ポップオーバーの最小日付と最大日付がうまく書けません。
コードでやりたいのですが、どうすればうまく設定できるでしょうか?
_dpicker.minimumDate = [NSDate dateWithString:@"2010-06-28 08:25:00 +0900"];

84 :12/03/27
>>83
ここはあなたの日記帳でも無料サポートでもないよ。いい加減自分で考えてくれ。

85 :12/03/27
>>81
>AssetsLibraryでイメージデータからメタデータを読み取って、何とかならないですか?
やはりそれしかないんでしょうか?
そんなバカなって思いで質問してみたんですがorz

86 :12/03/27
>>84
わからないのなら返答しなくていいです。

87 :12/03/27
>>84はきっとデイトピッカーを使ったことがないのでしょう。
m(_ _)m 他の方、回答お願いします。

88 :12/03/27
timeintervalでやるしかないのでしょうか?

89 :12/03/27
みなさん、知らないのでしょうか。

90 :12/03/27
>>88
>timeinterval
timeintervalで実装できましたw

91 :12/03/27
やっと、全体的に機能できました。
他バグがないかチェックしてみます。
何かわからないことがあるなら、
答えられる範囲で回答しますよ?

92 :12/03/27
さすがにわろたw

93 :12/03/27
ム板のC言語スレでこんなの見つけたんだがw
903 名前: デフォルトの名無しさん Mail: sage 投稿日: 2012/03/27(火) 22:26:08.74
2個目の宣言で、エラーが出るのですが、
どうすれば2つとも実装できるでしょうか?
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)mPopoverController {

}
- (void)popoverControllerDidDismissPopover:(mPopoverController2)mPopoverController2{
}

94 :12/03/27
www
それ俺ですw
改めてお聞きしますが、
2個目の宣言で、エラーが出るのですが、
どうすれば2つとも実装できるでしょうか?
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)mPopoverController {
}
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)mPopoverController2{
}
void型のポインタを使うのでしょうか?

95 :12/03/27
IF文で出来そうです。

96 :12/03/27
XCodeを触り始めて1年くらいのプログラミング初心者の者ですが
このままInterfaceBuilderを使うより、慣れてきたらコードで書いた方がいいんでしょうか?

97 :12/03/27
>>96
IB とコードでどっちが良いとか上とかってことはないよ。
やりたいことに応じて、適切な方法を選ぶべき。
(ってか、今なら storyboard かも…。)

98 :12/03/27
if文で出来ました。
本当にありがとうございました。
今からアップロードしまーす!!

99 :12/03/27
>>96
storyboard使わないなら全部コードでやるべき。xibはオワコン。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
iPad アプリ総合スレッド Part5 (740)
【永遠の】 iCab 011 【ベータ】 (498)
OSXのウプデータンで問題発生(ォ・?・`) ショボーン<14> (439)
Mac at 秋葉原 Part3 (873)
iCalってどうにかならんのかね? (960)
turbo.264 HD ハードウェアエンコーダ (712)
--log9.info------------------
【SKY復活】石川實 SKY【絶対復活】 (760)
    玉    音    放    送     (198)
宮川賢の誰なんだおまえは? (435)
夜のドラマハウスを語ろう (853)
【ラジオたんぱ】合格いっぽん道 (180)
バツラジの作家・スタッフを語るスレ (146)
鴻上尚史のオールナイトニッポン (862)
吉田照美のやる気MANMAN! (360)
☆林幹雄 RKBベスト歌謡50☆ (681)
【CBC】星空ワイド・今夜もシャララ (400)
忘れられない、想い出のラジオ (265)
NHKラジオ おやすみの前に…知ってる方 (275)
【RKB】HIHIHI【毎日放送】 (655)
やまだひさしのラジアンリミテッド (137)
★☆★ 中山美穂 P.S. I LOVE YOU ★☆★ (329)
【サウンド】今晩は坂本龍一です【ストリート】 (598)
--log55.com------------------
Q.E.D. iff -証明終了-、C.M.B. 他、加藤元浩総合スレ Part38
名探偵コナン ネタバレスレ323
東京卍リベンジャーズ 24【和久井健】
マガジン打ち切りサバイバルレースpart62
【吾峠呼世晴】鬼滅の刃ネタバレスレ197
ワンピース専用ネタバレスレッド Part4407
ジャンプ打ち切りサバイバルレースpart3242
【電子書籍】少年ジャンプ+ Part605【プラス】