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

このエントリーをはてなブックマークに追加
1名称未設定
iPhone, iPod touch用アプリケーションの開発を始めたばかりの初心者向け質問スレ。

■質問する前に■
1. 質問は日本語もしくはObjective-Cで
 質問に質問で返されても逆切れしない。それは質問の仕方が悪いってことだよ。
2. どういう内容であれレスをもらったら報告とお礼の言葉を忘れずに。
 回答者は自分の時間を使って親切で回答してくれています。
3. 回答者は自分も初心者であった事を忘れずに。
4. マルチポスト(複数のスレに同じ質問を書込むこと)は厳禁!
5. 質問は可能な限り具体的に。
 ただ「エラーが出ます」ではエスパーかスタンド使いでなければ答えられません。
 エラー内容をちゃんと書きましょう。
6. わからない部分のコードをコピペすると手っ取り早いです。
7. このスレは無料プログラミング教室ではありません。
 「○○の仕方を教えてください」という質問はなるべく避けてください。
 「自分で調べたけどわからなかった事」を質問するというスタンスを忘れずに。
8. バグを安易にOSや開発環境のせいにしない。
 自分の知識の無さを棚に上げて人のせいにするなんて百年早い。

■前スレ
[SDK]iPhoneアプリ開発初心者質問箱22[touch][iPad]
http://anago.2ch.net/test/read.cgi/mac/1328439802/

■本スレ
iPod touch/iPhone ネイティブアプリ製作 ver.16
http://anago.2ch.net/test/read.cgi/mac/1312723856/
2名称未設定:2012/02/29(水) 19:38:58.13 ID:fjk4orHn0
■参考書籍
【入門書】
 よくわかる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名称未設定:2012/02/29(水) 21:24:12.16 ID:wMYqI2SV0
>>1,2 乙
4名称未設定:2012/03/01(木) 00:53:57.92 ID:unNKjCcI0
えーと前回というか昨日delegate教えてくれた人ありがとうございます。
インスタンスがデフォでstrongなのがプロパティと食い違うのは知らなかったです。。
5名称未設定:2012/03/01(木) 01:11:04.62 ID:yLGoqbc70
日本語がんばれ
6名称未設定:2012/03/01(木) 01:16:11.04 ID:tvcE/2f20
こんばんは。

いろんなサイトをWebViewに配置して、それらをTABで切り替えながら使うアプリを作ってます。
実験用なので簡単なものですが。

ほとんどのサイトは問題なく動作しますが、なぜかamazonのカート画面にある
「削除」と「今は買わない」のリンクが動きません。JavaScriptだからでしょうか?
しかしSafariでAmazonのカートにアクセスすると動きます。

WebViewはIBで配置して、loadRequestでURLを設定しているだけなんですが、、、
なにかご存じの方がいれば教えてくれませんか? よろしくお願いします。
7名称未設定:2012/03/01(木) 01:48:37.15 ID:JHosPq0V0
TapukLibraryなどのソースを参考にカレンダーを自作しようと思ってます
TapukLibraryを実行すると月の表示が 数字ではなく英語のテキストで表示されます4ではなくAprilなど)
NSDataで取得したMonthを元に配列などを参照して文字列を表示してるんだと思ったんですが
取得した月をMarch April Mayなどの文字列に変換してる場所がみあたりません
これは何かNSDataを元に直接変換する手立てがあるんでしょうか?
その場合 日本の1月 2月にすることも可能ですか?
8名称未設定:2012/03/01(木) 01:55:04.40 ID:MF/9oBcP0
>>7
NSDateFormatter
9名称未設定:2012/03/01(木) 02:18:36.30 ID:xaXWviOR0
>>6
ログインしてないからとか、そんな理由じゃなくて?
10名称未設定:2012/03/01(木) 02:40:46.68 ID:cSpJP1Mb0
質問です。
Interface Builderで配置した4つのUIスイッチに、
「スイッチがオンになったとき、他の3つのスイッチのうちオンのものがあったらそれをオフにする」
機能をつけようと思っています。(オンに出来るのは常に1つ)
そこで、それぞれのスイッチのValue Changedに接続されたIBActionを以下のように4つ作りました。
-(void)sw1Changed{
if(sw1.on==YES){
[sw2 setOn:NO animated:YES];
[sw3 setOn:NO animated:YES];
[sw4 setOn:NO animated:YES];
}
}
しかし、これではボタンが増えたり減ったりしたときに修正が面倒なので、前スレに書かれていたIBOutletCollectionを使って4つのスイッチをまとめ、
IBActionも統合し、「呼び出し元のスイッチがオンなら、配列からスイッチを全部イテレータで取り出して、呼び出し元と異なるスイッチを全てOFFにする」
という内容にしたいのですが、このIBActionを呼び出したスイッチを調べるにはどうすればいいのでしょうか?
11名称未設定:2012/03/01(木) 02:47:00.90 ID:0sPp7UdA0
アクションに (id)sender てのが渡されるのでは
12名称未設定:2012/03/01(木) 03:14:42.22 ID:cSpJP1Mb0
>>11
おぉーありがとうございます!
今まで、IBActionを宣言したときに勝手に付加されるこの(id)senderってのが何なのか分からないまま消してたんですが
「ViewControllerに送られたメッセージの送信者(sender)」ということだったんですね!
13名称未設定:2012/03/01(木) 05:01:27.10 ID:Z/UNmSF+0
tavleviewからwebviewに遷移したとき
webviewにある入力フィールドをタップしてもキーボードが出てこないのですが
これの原因はなんなのでしょう・・小一時間詰まってしまってます。どなたかお助けください
14名称未設定:2012/03/01(木) 05:08:33.29 ID:JHosPq0V0
>>8
ありがとうございます 無事該当部分が見つかりました。
15名称未設定:2012/03/01(木) 05:46:57.04 ID:JHosPq0V0
続けて質問で恐縮です

ゲームなどで キャラクターのステータスや経験値テーブル
アイテムの性能などを管理したいときはNSUserDefaultsだととてもじゃないけど管理しきれないと思うんですが
iosSDKにはデータベースの代わり(むしろそのもの)になるようなものはあるのでしょうか?
16名称未設定:2012/03/01(木) 06:01:57.36 ID:VnDci/8b0
>>15
ロケールについてはたまたま親切な人が答えてくれたが
そろそろ、これにひっかかってるぞ。

>7. このスレは無料プログラミング教室ではありません。

公式ドキュメントでiOSに何が用意されてるか最低限の概要ぐらい読みなさい。
https://developer.apple.com/jp/devcenter/ios/library/documentation/iPhoneOSTechOverview.pdf
17名称未設定:2012/03/01(木) 06:45:25.40 ID:JHosPq0V0
>>16
すいません 実はSQLiteはすでに存じ上げてるんですが
NSUserDefaultsだと管理し難いってのに対してどういうアドバイスがもらえるかっていう下心のもありました
ただひとつ言わせてもらうと、初心者はマニュアルのどこを引いたらいいかもわからない場合もあるんですよ
なんでこんなこともわからないの?っていうのはご容赦してもらえると初心者どもは助かると思います

とはいえマニュアルの熟読は質問する前の必須行動ですよね すいませんでした。
あとマニュアルのURLありがとうございます
18名称未設定:2012/03/01(木) 09:05:05.11 ID:ZbQB47z90
TapukLibrary
19名称未設定:2012/03/01(木) 09:26:16.69 ID:H86/iCOt0
>>17
つ CoreData
20名称未設定:2012/03/01(木) 09:31:09.42 ID:ZbQB47z90
まちがって送信しました 失礼

TapukLibraryで便乗質問したいんですが、openFrameworksをインポート?して利用するとき
そのフレームワークから、実際に実装している場所にアクセスするのってどうしたらいいんでしょうか?
たとえばMainView.mでTapukLibraryを使ったときに、TapukLibrary側で月送りするボタンが押されたとき
該当するActionがわかってたとして、そこからMainView側のLabelのテキストを変えたりする場合は
どうしたらいいんでしょうか?
21名称未設定:2012/03/01(木) 09:41:03.20 ID:5Vhl/EOB0
>17
>ただひとつ言わせてもらうと、初心者はマニュアルのどこを引いたらいいかもわからない場合もあるんですよ
どこに書いてあるか分からなかったら、最初から最後まで読まないといけないんじゃないかな。
マニュアルのどこに書いてあるかピンポイントで分かるなら、その人は初心者の域はきっと超えてると思う。
いろいろ資料があって読むのも大変だと思うけど、頑張って読んでみよう。
22名称未設定:2012/03/01(木) 10:19:12.70 ID:Z/UNmSF+0
更新を迅速にするため、今リリースしているアプリの機能を全てHTMLで作り直しWeb上にUPし
それらを起動後にWebViewで読み込ませようと考えているのですが
これは審査項目の
12.3: ウェブサイトを単に切り抜いたり、コンテンツをアグリゲートしたり、リンクを集めただけのアプリはリジェクト。
に引っかかってしまうのでしょうか?
今もアプリ内の一部はWeb上から読み込んでいるのですが
全てとなると話は変わるのでしょうか?
23名称未設定:2012/03/01(木) 12:16:18.34 ID:H86/iCOt0
それもうアプリじゃなくてもいいんじゃ…
24名称未設定:2012/03/01(木) 13:06:04.03 ID:xdp8gSvm0
m(_ _)m 報告です。
NSTimerでアニメーションとタイマーの秒数を合わせたら、
アニメーション終了と同時に音が出るようになりました。
あと、NSTimerを使ってキッチリ終了を検知する方法も知恵袋を見て分かりました。
皆さんのおかげです。ありがとうございました。

25名称未設定:2012/03/01(木) 13:42:33.06 ID:qXwgpWjQ0
テンプレート関連の質問です。
AppDelegate.mのメソッドが本では[1]のように書かれているのですが、
Xcode4.3のテンプレートでは[2]のようになっています
[1](void)applicationDidFinishLaunching:(UIApplication *)launchOptions
[2](BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

<質問>
(1)[1]と[2]は何が違うのでしょうか?
(2)アプリ起動直後の処理は[2]の中に記述しても良いのでしょうか?
 それとも[1]に修正または[1]を追加して、そこに記述した方が良いのでしょうか?
26名称未設定:2012/03/01(木) 13:50:35.34 ID:H86/iCOt0
ttps://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html
に両方書いてあるでしょ。

前者は、Available in iOS 2.0 and later.
と書いてあるし、
後者は、Available in iOS 3.0 and later.
と書いてある。
2725:2012/03/01(木) 14:38:17.20 ID:qXwgpWjQ0
>>26
ありがとうございました。
28名称未設定:2012/03/01(木) 15:16:04.06 ID:xaXWviOR0
最近「面倒くさいから楽にする方法教えろや」みたいなのが増えて来たな。
29名称未設定:2012/03/01(木) 15:33:47.89 ID:FicrMRjq0
たぶん同一人物
30名称未設定:2012/03/01(木) 16:54:53.44 ID:Rlc5iULH0
ナビゲーションバーを使ったアプリを作ってます。
「戻る」ボタンが押された時に前のページに戻るのを
私が指定した動作にすることは出来ないのでしょうか。
31名称未設定:2012/03/01(木) 17:03:43.06 ID:xaXWviOR0
>>30
申し訳ございませんが「指定した動作」を具体的にお聞きしてもよろしいでしょうか?
少し考えれば分かる事なのかも知れませんが、愚かな私には全く見当がつきません。
32名称未設定:2012/03/01(木) 18:00:59.36 ID:i1EIafPB0
カメラ関連の日本語の技術マニュアルってないんだっけ?
33名称未設定:2012/03/01(木) 18:18:17.66 ID:H86/iCOt0
34名称未設定:2012/03/01(木) 18:38:12.44 ID:FicrMRjq0
>>31
たぶんエフェクト/トランジションのことだと思うけど
どう?>>30
35名称未設定:2012/03/01(木) 19:56:42.04 ID:fEc52nPO0
>>30
https://developer.apple.com/jp/devcenter/ios/library/japanese.html
ここにある iOS View Controller プログラミングガイド と、iOS ヒューマン インターフェイス ガイドライン にあるとおり、
ゲーム等の完全に独自設計インターフェイスのアプリを除いて、標準のアイコンや共通の動作が期待されるものに対して、身勝手な実装すんなってなってる。
もちろんナビゲーションコントローラーにも期待される動作があるので、戻りたいのに戻れないアプリなんて一発リジェクト。
36名称未設定:2012/03/01(木) 20:02:19.43 ID:tvcE/2f20
>>9
ログインして動かしてみましたが、やっぱりダメでした。
商品は追加できるのに、カート削除ができないんですね。

削除を長押しするとJavaScriptのポップアップが出てきて
OPENってボタンが出ました。おお! と思って押してみましたが特に変わらず。。。
なんでココだけダメなんだろう。
37名称未設定:2012/03/01(木) 21:37:58.31 ID:ZbQB47z90
>>20の質問ですが 半日かかってもまったくわかんないです
なにか補足できる場所があれば補足しますんで、どなたかわかる方いませんか?
38名称未設定:2012/03/01(木) 21:47:21.16 ID:k1ceioNyP
>>37
オーバーライド
39名称未設定:2012/03/01(木) 22:04:33.64 ID:9093BtAf0
半年かけてつくったアプリが全然うれてない。死にたい。
40名称未設定:2012/03/01(木) 23:18:04.78 ID:1kSMhYcp0
半年もかける奴が悪い。半月でつくれ。
41名称未設定:2012/03/01(木) 23:36:32.21 ID:0eYcCcZRI
>>39
いくらだよ?
42名称未設定:2012/03/01(木) 23:36:34.38 ID:ImXpqKMJ0
>>39
いっこも売れてないの?
43名称未設定:2012/03/01(木) 23:52:19.33 ID:9093BtAf0
>>40
そうかもしんない
時間ないから、最後に、一週間でできるものもうひとつ作ってみるわ
アイデアないけど

>> 41
tier2だよ

>> 39
sales and trendsが空欄だから、一個も売れてないんだと思う
審査いっぱつで通ったのはいいけど、iTunesのすごい奥深くにうもれてて誰も見てもいないんじゃないかしら
44名称未設定:2012/03/01(木) 23:53:46.76 ID:ImXpqKMJ0
>>43
そっかあ
ブログとかで宣伝するといいお
45名称未設定:2012/03/01(木) 23:57:26.56 ID:xaXWviOR0
>>43
そんな貴方にステマ
46名称未設定:2012/03/02(金) 00:02:34.78 ID:r/PMnBrX0
>>43
半年もかけたならきっといいものなんだと思うしステマしまくれ
47名称未設定:2012/03/02(金) 00:04:42.89 ID:M/OKsIav0
自分で紹介原稿書いて某サイトとかに送りつければいいじゃん。
少なくともどっかで紹介された瞬間はどかっと売れるよ。
48名称未設定:2012/03/02(金) 00:13:55.65 ID:7TSIb47K0
なぜか3日くらい前から売り上げ数が急に三分の一くらいに落ちてるんだけど、なんかメンテナンスとかってしてたのかな?
49名称未設定:2012/03/02(金) 00:19:24.55 ID:BaJvjTmi0
みなさんありがとう
もうちょっともがいてみます
50名称未設定:2012/03/02(金) 00:25:59.59 ID:r42NSUxm0
>>48
三日後には更にその三分の一になり、やがて雀の涙ほどになります。
51名称未設定:2012/03/02(金) 03:31:01.83 ID:lEYSJNXE0
AVPlayerとバックグラウンド再生について質問です。よろしくお願いします。

Xcode4.3で開発中です。
AVPlayerで動画をストリーミング再生します。
ホームボタンを押すと一時停止状態になりますが、音声だけであればバックグラウンドで再生しつづけることができます。
そこで、applicationWillResignActiveやapplicationDidEnterBackgroundで、以下のようなコードを書いてみましたが、やはり一時停止してしまいました。

// Videoトラックを無効にする
for (AVPlayerItemTrack *track in playerItem.tracks) {
 if ([track.assetTrack.mediaType isEqual:AVMediaTypeVideo]) {
  track.enabled = NO;
 }
}

もしくは、
// PlayerViewのPlayerを外す
[playerView setPlayer:nil];

これらをView上に設けたボタンのタップイベントで実行し、その後ホームボタンをクリックすれば、音声だけバックグラウンド再生に移行してくれました。
恐らく上記の処理が間に合っていないのだと思いますが、どうすれば、ホームボタンクリックのタイミングで、映像を無効にできるでしょうか。
52名称未設定:2012/03/02(金) 05:05:07.57 ID:eflonvyF0
アプリのサンプルコードが見れるサイトとかってないですかね?
53名称未設定:2012/03/02(金) 07:26:59.61 ID:d/GA9caU0
お初にお目にかかります 当方ActionScriptをメインでやってるものなのですが
営業がFLASHでiphoneアプリが作れるっていうのを話半分で耳にしたのをいいことに
FLASHではできないローカル通知を使うアプリの案件を取ってきてしまい
急造ではありますが本を読みながら必死で作ってるところです

非常に安易な質問で悪いんですが 指定された回数、同じ画像を一定のルールで表示させる
という処理を行っています。
ActionScriptですと["string"+int]のような形で変数とストリングを連結して変数などにアクセスできます
for(i =0 i<100 i++){
   this["hoge"+i].imagename = @@@@
}
この場合iを繰り返した数だけhoge0〜と連番で生成されるんですが
Obj-Cでこれをやる方法がわからなかったので、前述した処理を行うためにとりあえず
※ofsはすでに宣言してあるものと思ってください
for(int i=0 i<100 i++){
 
 //画像のファイル名を指定
 UIImage *image = [UIImage imageNamed:@"Sample.png"];
 //UIImageViewの画像名をimageに設定
 UIImageView *iv = [[UIImageView alloc] initWithImage:image];
 CGRect rect = CGRectMake(0+(i+ofs), 0, 50, 50);

}
すると規則正しくofs分だけ横にずれて複数の画像が表示されました。
なら別にええやないか! という話なんですが
Cをほとんど知らない私としては、UIImageViewで指定した名前がカブったまま
ほったらかしにしていても大丈夫なのか? 一応これで動いてはいるが
実はメモリとかそこらへんでエラいことになってるんじゃないかと心配です
(リジェクトとか怖い...) 
これは こういうものなんでしょうか? それとも偶然の産物なんでしょうか?
54名称未設定:2012/03/02(金) 07:28:36.73 ID:d/GA9caU0
失礼 [self.view addSubview:iv]; が抜けてました
実際のコードではもちろん記述しております
55名称未設定:2012/03/02(金) 09:17:14.58 ID:sdncsTNfI
>>43
そのレートがオレの中では、1番買わないわ。
本のアプリとかだったら、買うかも。
56名称未設定:2012/03/02(金) 11:32:11.45 ID:y+FrUPEA0
下記のコードでTabBarもlabel文字も表示されず、画面が黒いままです。何が悪いのでしょうか?
//AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
rootController=[[UITabBarController alloc] init];
FirstViewController *tab1 = [[[FirstViewController alloc] init] autorelease];
SecondViewController *tab2= [[[SecondViewController alloc] init] autorelease];
NSArray *controllers=[NSArray arrayWithObjects:tab1,tab2,nil];
[(UITabBarController *)rootController setViewControllers:controllers animated:NO];
[window addSubview:rootController.view];
[window makeKeyAndVisible];}

//FirstViewController.m
- (id)init {
self = [super init];
if (self) {
self.title = @"First";
self.tabBarItem = [[[UITabBarItem alloc]
initWithTabBarSystemItem:UIBarButtonSystemItemCompose tag:0] autorelease];}
return self;}

- (void)viewDidLoad{
[super viewDidLoad];
UILabel *label =[[[UILabel alloc] initWithFrame:self.view.bounds] autorelease];
label.text=@"新規作成";
label.textAlignment=UITextAlignmentCenter;
label.backgroundColor=[UIColor whiteColor];
label.textColor=[UIColor blackColor];
label.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
[self.view addSubview:label];}
57名称未設定:2012/03/02(金) 11:34:10.76 ID:BsO5QtO60
すいません、教えてください。
InterfaceBuilderで、UILabelを配置してラベルに文字列を設定すると、ラベルのサイズが文字列にフィットするように勝手にリサイズされますよね。
あの動作をしないようにしたい(ラベルサイズを固定したい)のですが、できますでしょうか?
58名称未設定:2012/03/02(金) 11:39:25.89 ID:7VNTSqf/0
>>53
メモリ状況が気になるなら。
instrumentsのleakesかallocで調べる。
使い方は、"xcode instruments"で検索

全く同じ画像なら以下の処理でもよいはず。

UIImage *image = [UIImage imageNamed:@"Sample.png"];
for(int i=0 i<100 i++){
 //UIImageViewの画像名をimageに設定
 UIImageView *iv = [[UIImageView alloc] initWithImage:image];
}

>ほったらかしにしていても大丈夫なのか?
ARC使用しているならこれでほぼ問題ない。
ARC使用しないならリリース処理が必要。
59名称未設定:2012/03/02(金) 11:42:36.61 ID:3ExAlkUxP
初心者ですが質問です。
アルバムアプリや写真を管理するアプリで
サムネイルを一覧で表示していると思うんですが
サムネイルの生成方法などのサンプルなどはありますか?
60名称未設定:2012/03/02(金) 12:10:10.13 ID:P6eTmd9S0
純正メモやiBooksのようにナビゲーションバーに任意のテクスチャを入れるには、どのような方法を取るべきですか?
61名称未設定:2012/03/02(金) 12:24:51.06 ID:poUNjRJZ0
>>56
return YES;
62名称未設定:2012/03/02(金) 12:27:03.81 ID:rF9IIO6D0
>>60
画像を貼付けることもできるけど
総合的な見栄えを考えると、ボタンから何から全部自前で作る
63名称未設定:2012/03/02(金) 12:32:10.14 ID:mrzldsmd0
>>57
できます。

>>59
あります。
64名称未設定:2012/03/02(金) 12:33:38.50 ID:iHdUCs+K0
他スレに書いてしまったのですがスレチだと自分で気づいてしまったのでマルチですが…

FlashBuilderでの開発を試みているのですが、
ページの切り替え方を簡単に説明していただけないでしょうか><

商品カタログのようなアプリを作りたいのです。。。

トップス
ライトアウター
アウター
ボトムス
シューズ

とボタンがあってボタンを押すと
画像一覧が乗っているスマートフォン専用ページに
アプリ内で飛ぶようなのを作りたいです

スレチでしたら参考スレ教えていただけるとありがたいです
我儘言って申し訳ありません
65名称未設定:2012/03/02(金) 13:01:34.66 ID:P6eTmd9S0
>>62
ありがとうございます
どうやら一筋縄では行かないようですね...
66名称未設定:2012/03/02(金) 14:28:38.17 ID:3ExAlkUxP
>>63
ありがとう、探してみる
67名称未設定:2012/03/02(金) 14:57:04.09 ID:fk/cWLOl0
>>64

えーと、ビルダー使っているので、AIRアプリをまず作って、それをiOS用に書き出すと
考えて良いのですよね。

だったら、AIRにHTMLページを埋め込む(これがスマフォ専用ページ)方法が使えそう。
取りあえず、ココ見て

ttp://www.deitte.com/archives/2007/09/html_in_flex_wi.htm
6856:2012/03/02(金) 15:28:36.18 ID:y+FrUPEA0
>>61
レスありがとうございます。

return YES;をどこに入れれば良いのでしょうか?
69名称未設定:2012/03/02(金) 17:52:19.72 ID:OgNoAX1c0
storyboardでデータ引き渡しを伴う画面遷移を行なっています。
ボタン1とボタン2と、ボタンXがあり、ボタンXを押したときにVT1からVT2に画面遷移します。
このとき、ボタン1とボタン2両方押された場合のみにVT2に画面遷移させたいのですが、
データを送らないようにすることは出来ても、画面遷移してしまいます。
ボタン1とボタン2が押されたかは、整数とif文を使って判断出来ると思いますが、
画面遷移させないようにするには、どうすればいいのでしょう?
ボタンXはBTNというIBアウトレットとくっついているのですが、おそらくこれで画面遷移を
行なっているんだと思います。VT1.mに、以下の記述がありました。

- (IBAction)BTN:(id)sender {
}

これにどのように記述すれば、画面遷移を阻止出来るでしょうか?
その時に同時にアラートも出したいのですが、それは可能でしょうか。
7069:2012/03/02(金) 18:50:34.18 ID:OgNoAX1c0
自己解決しました。
71名称未設定:2012/03/02(金) 19:36:56.49 ID:xUG6zzPb0
>>67
え!え、え、え、英語!!!
サンプルコードでも書いてあればわかるのですが英文だと解釈しきれません…
本当使えない奴ですみません。
日本語ページはないでしょうか?
探すと意外と見つからないのですね
72名称未設定:2012/03/02(金) 19:40:56.18 ID:jEfrygMR0
Flashでの開発は完全にスレチだから余所でやって
73名称未設定:2012/03/02(金) 19:50:19.89 ID:xUG6zzPb0
>>72
すみません
どこで聞いたらいいのかわからなくて…
スレ誘導お願いします
74名称未設定:2012/03/02(金) 19:55:47.72 ID:9226fZQq0

        /   ./       ''"'''' ̄ ̄ ̄"'''‐- 、_   、           ,'
       /   ,/                   `'-、 .ヽ            /
     _./ .,/                      `ヽ..l           /
. 、  ̄´   "_                           ヽ l       /  、
 ヽ `''ー''二                   r       l"     / / ./  .r'
  l.  .ヽ      ./'./            ノ.、 、              '´   ,/  /
   .ヽ .ヽ    .l  /      ,    ,/  | / \           /  ./
   .,ヽ 、 `‐   l | r' 、_、,-'/ 、_ -‐'"  ., -'.'´`ヽ. \  ,' 'ゝ、 _, -'´  .,r,' /
    | . ヽ.ヽ、   .""/ , イ"´      /   ,,-'./  .,‐ |ヽ |       ./
    '、.` ―`   '´ "_,-へ、    ノ._, -''~' / //  .!.ゝ./      ./
     `'ー 、、 .__ ‐ .‐l.".l. ,ヽ、   . =ン'´ ,-ヽ、   .、//    . _, ''"
          ̄´ ././    ヽゝ、|       `' -.ゝ./ / ヽ、_二ニ〃
              ,Υ   ..l  . '              イ´.l.―''"´´
               ` ̄ ̄´ヽ、 `. 、、 ィ'''´.|    ./  |      
                __     ヽ、 .ヽ、  ,l   /   |     /
         _, -''"´  "'''‐ 、   ヽ、`.‐´.,, -'´ r‐、.,-"     <  キューティーフラーーーーーッシュ!
      ,/´          `ー、  |´ ‐――.l.   l.、     \
    ,/              了~´`ー-、_____ヽ /イ,
75名称未設定:2012/03/02(金) 20:06:07.36 ID:9226fZQq0
間違った...

        /   ./       ''"'''' ̄ ̄ ̄"'''‐- 、_   、           ,'
       /   ,/                   `'-、 .ヽ            /
     _./ .,/                      `ヽ..l           /
. 、  ̄´   "_                           ヽ l       /  、
 ヽ `''ー''二                   r       l"     / / ./  .r'
  l.  .ヽ      ./'./            ノ.、 、              '´   ,/  /
   .ヽ .ヽ    .l  /      ,    ,/  | / \           /  ./
   .,ヽ 、 `‐   l | r' 、_、,-'/ 、_ -‐'"  ., -'.'´`ヽ. \  ,' 'ゝ、 _, -'´  .,r,' /
    | . ヽ.ヽ、   .""/ , イ"´      /   ,,-'./  .,‐ |ヽ |       ./
    '、.` ―`   '´ "_,-へ、    ノ._, -''~' / //  .!.ゝ./      ./
     `'ー 、、 .__ ‐ .‐l.".l. ,ヽ、   . =ン'´ ,-ヽ、   .、//    . _, ''"
          ̄´ ././    ヽゝ、|       `' -.ゝ./ / ヽ、_二ニ〃
              ,Υ   ..l  . '              イ´.l.―''"´´
               ` ̄ ̄´ヽ、 `. 、、 ィ'''´.|    ./  |      
                __     ヽ、 .ヽ、  ,l   /   |     /
         _, -''"´  "'''‐ 、   ヽ、`.‐´.,, -'´ r‐、.,-"     <  ハニーフラーーーーーッシュ!
      ,/´          `ー、  |´ ‐――.l.   l.、     \
    ,/              了~´`ー-、_____ヽ /イ,

76名称未設定:2012/03/02(金) 20:07:04.28 ID:Zi0KNTz00
どっちでもいいよ
77名称未設定:2012/03/02(金) 20:20:09.53 ID:9226fZQq0
ガ━━(゚Д゚;)━━━ン!!!!!
78名称未設定:2012/03/02(金) 21:02:28.97 ID:xUG6zzPb0
申し訳ありません!
あしたまでに終わらせなければならないのです…
flash系でスレタイ検索してもそれらしいスレがでてこなくて><
webから画像を取得する方法でもいいです。
とりあえず画像一覧をリストの項目をタッチした際に表示できれば
なんでもよいのですが、アプリないに画像を組み込んでしまうと
使っていただく方が新しい商品をみたいときに何回もアップデートしなくてはならなくなってしまうので
アプリの更新はなるべく不要で、画像の更新をサーバー内でできるような形にしたいのです

再度よろしくお願いいたします
79名称未設定:2012/03/02(金) 21:15:46.31 ID:P92CNDyY0
うん。ネタだな
ここで聞いてもしょうがないと思うよ。その程度だったらXcodeでもちょいちょいだから
まあFlashBuilder使ったことある人が0%とは言えないから、あしたまで気長に待ちましょう
80名称未設定:2012/03/02(金) 21:26:01.81 ID:xUG6zzPb0
>>70
やっぱり情報すくないですね…
Androidようにも簡単に変換したい&Mac買うお金がない
というわけでFlashにしたのですが何分情報が少なくて…
気長に待ちます
81名称未設定:2012/03/02(金) 21:34:47.99 ID:kOPawfZS0
なぜそこでHTML5にしない..
82名称未設定:2012/03/02(金) 21:49:42.12 ID:RuTKyYfO0
>>68
戻り値って知ってる?
ちなみに、delegateの設定も。
83名称未設定:2012/03/02(金) 22:15:05.19 ID:lEYSJNXE0
どなたか>>51は分かりませんでしょうか・・
84名称未設定:2012/03/02(金) 22:33:37.46 ID:yNhmZNp7I
どなたか、ご存知の方教えてほしいのですが、
大幅変更位置情報サービスを使っているアプリで、
iPhoneがスリープしてるときでも、位置情報を取得出来るようなのですが、
スリープ時と、起動時で取得の頻度が違うように思えます。

スリープ時の方が少ないように思います。
試しに通勤の電車の移動を計測してみたのですが、
たまたまなのか、そんな傾向にあります。。

2台あれば、わかるのでしょうが、どなたかご存知でしたら
お願いいたします。
85名称未設定:2012/03/02(金) 23:09:25.48 ID:d/GA9caU0
>>78
私もAIRでihoneアプリ開発したことありますが
基本的にFLASHのリファレンスにのってないことはできないと思ったほうがいいです
iphoneでFLASHが動くってだけで、iphone特有の機能には一切アクセスできません
ですので質問するとしてもFLASH系のスレのほうがいいと思います。
86名称未設定:2012/03/03(土) 00:17:12.23 ID:oLZlFFs30
UILabelに「あかさたなはまやらわ」という文字列を設定し、
「な」と「は」の間で自動折り返しが発生しているとき、
「や」が表示されている画面上の座標を知る方法はないでしょうか?
折り返しがなければ、NSString sizeWithFontで計算できるところまでは来ています。
どうぞ、よろしくお願いします。
87名称未設定:2012/03/03(土) 00:18:16.92 ID:R9LCzvJb0
>>85
ありがとうございます!
やはりwebページの埋め込みは不可能なのでしょうか?

とりあえずFLASH質問スレいってみます
88名称未設定:2012/03/03(土) 01:26:02.18 ID:4d4yB+U50
>>86
答えは既にお前の目の前に明示されていることに気づかないのか?
89名称未設定:2012/03/03(土) 01:26:43.20 ID:N2oYhVso0
>>83
結論から言うと無理
何故ならビデオトラックはCALayerに直接描かれていて、それはVRAM上にある
故に大元のViewControllerがVRAM上から退避した時点で破壊され、デコーダがストップする
ついでに言うと、デコードは基本ハード側でやってるから一時停止を指令したところで「急には止まらない」
だから仮にviewWillDisapear(だっけ?)が今でも機能してたとしても間に合うかどうかは賭だ

どうしてもっつーなら、NSTimerで再生状態監視して勝手に止まったら再play
ブチっ言うかも知れんが我慢汁

>>78
Titaniumでも使っとけ
つうか>>67のも結局はMac要るんじゃねのか
詳しく読んでないからしらんけど
9086:2012/03/03(土) 02:15:56.49 ID:oLZlFFs30
>>88
例が悪かったかもです。
いま直面している問題は、可変長の文字列が設定される可能性があるUILabelで複数行表示すると
自動折り返しがどこに入るかわからないので
その中に含まれる任意の文字が表示される座標を計算する
うまい処理方法が思いつかないのです。
91名称未設定:2012/03/03(土) 05:16:11.42 ID:J4WRXRq50
WebViewController内で、ローカルのHTMLを呼び出し、画面を生成しています。
そのHTMLのaタグのリンクをクリックした際に、
WebViewControllerの指定メソッドを呼ぶことは可能でしょうか?

shouldStartLoadWithRequestを使えばできるかなと思い、
<a href="http://example.com/?id=hoge" >
<a href="/hoge.html" >
を置いてみたのですが、どちらもshouldStartLoadWithRequestを通りませんでした。
ローカルのHTMLだと効かないのでしょうか。

宜しくお願いします。
9291:2012/03/03(土) 05:30:10.49 ID:J4WRXRq50
すいません。自己解決しました。
viewDidLoadに
webview.delegate = self;
を入れたらうまくいきました。
ちょっと理解が足りないので、、調べてみます。
93名称未設定:2012/03/03(土) 06:32:23.00 ID:XJphGd190
>>60
UINavigationBar 背景 でぐぐる。
94名称未設定:2012/03/03(土) 06:53:36.63 ID:XJphGd190
>>53
ARC使ってるなら、addSubviewした時点でivのオーナーがself.viewになって、インスタンス変数で保持でもしない限り、メモリ上のivはiOS側でリリースしてくれるから問題ないです。
名前が被ってるのも、addSubviewする度に別々のポインタが割り当てられるから気にしなくて大丈夫。
95名称未設定:2012/03/03(土) 09:18:18.70 ID:Z0ySciAn0
>>93
ありがとうございます
iOS5から簡単にできるようになったんですね
96名称未設定:2012/03/03(土) 13:37:14.60 ID:Jly9g0IS0
TableViewについての質問です。
「メール」アプリでは、テーブルの一つのセルに、
発信者名、件名、本文プレビュー(一部)、受信日時、通数を表示していますが、
TableViewCellのプロパティには、textLabelとdetailTextLabelしかありません。
どうすれば5つの文字情報を1つのセルに表示できるのでしょうか?
97名称未設定:2012/03/03(土) 13:40:59.80 ID:Q2gcE6ek0
>>89
すごく分かりやすかったです!
ありがとうございます。
NSTimer使ってみます。
98名称未設定:2012/03/03(土) 13:48:44.02 ID:HDwC4cT00
itunesconnectのアプリの
Privacy Policy URL (optional) って何入れればいいんですか?
特に無視でいいですか?

youtubeの動画のアドレスとかって別にitunesconnectで
入れなくていいんですか?
99名称未設定:2012/03/03(土) 13:54:22.16 ID:pWCX3/th0
>>96
UITableViewCellのサブクラスを作って、シコシコ追加する。
100名称未設定:2012/03/03(土) 14:55:31.49 ID:1bYlzirw0
初心者質問です。以下のようにmallocせずにNSArray宣言して
データを格納した場合、メモリは限度なく使用できるのでしょうか?

またこの時、メモリの解放タイミングはいつになるのでしょうか?

NSArray *DataArray = [test xxrequest:request error:&error];
101名称未設定:2012/03/03(土) 15:16:31.55 ID:mPKasJsG0
ポカーん
102名称未設定:2012/03/03(土) 15:21:49.97 ID:SxJ+7Rse0
最近は釣りの手口も巧妙化してきたな
10396:2012/03/03(土) 15:49:00.10 ID:Jly9g0IS0
>>99
ありがとうございます。
104名称未設定:2012/03/03(土) 15:49:31.18 ID:bcU6Zy410
UIButtonのRounded Rectってダサくね?
標準の時計アプリにある
ストップウォッチの開始ボタンみたいな
外観のボタンって自分で画像用意するの?

105名称未設定:2012/03/03(土) 16:04:56.20 ID:LCWiPO830
Helpです。
Xcode4.2.1で、シングルビューアプリケーションを作成し
Storyboardで、ビュー全体にUIImageViewを配置し、IBOutlet UIImageView *background;と接続し、
その他のアウトレットを配置していたのですが、背景が不要になったので、StoryboardからImageViewを削除し、ViewController.hの宣言からも削除しました。
しかし、これをRunしようとすると、
2012-03-03 15:45:26.081 test05[48276:f803] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ViewController 0x6e64dd0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key background.'
などと出て、実行出来ません。ViewController.hに、IBOutlet UIImageView *backgroundを追記すると何故かRunできます。
調べてみると http://sarudeki.jp/tom3/2011/07/22/%E5%BC%B7%E6%95%B5%E5%87%BA%E7%8F%BE%E2%86%92nsunknownkeyexception/ ここで
>結果としてapp delegateとview controllerが違うものと繋がれてるのが原因でした
>いじってないのにいつの間にこんななったんだ?と思いながらも繋ぎ直して無事復活
と書かれているのですが「何と何を繋ぎ直すねん?」という感じです
IBOutletとIBAction全て切り離して再接続してもダメです
もう一つおかしな点があって、Show the size inspecterで横画面での配置を設定したにも関わらず、シミュレータで倒してみてもその設定が反映されません。
新規プロジェクトを作ってbackground以外の部品を再配置しコードをコピペして繋ぎ直したらちゃんと動くのですが、もとのプロジェクトのどこがおかしくなってしまったやら?
「ここ変にいじくったんじゃねーの」と何か見当つく方いらっしゃいませんか?
106名称未設定:2012/03/03(土) 18:24:10.25 ID:YksJnOP40
>>105
リソースとソースの同期がとれてないってんでしょう
そのメッセージは setBackground しようとしたけど background なんてプロパティがねーぞってことじゃね

.storyboard をテキストエディタで開いたら、background がなんちゃらっていうのがあると思う
それを適切に削除すればいいような。またはソースで background を復活して .storyboard いじってソースから background を削除を適時保存すればいいような(Xcodeになるべくわかりやすく変えたことを教える)
107名称未設定:2012/03/03(土) 19:24:09.59 ID:Fuo/Pwph0
>>104
はい
108名称未設定:2012/03/03(土) 20:02:33.01 ID:Z0ySciAn0
UIKitを勉強したいんですが、何を参考にするべきでしょうか
『iPhoneプログラミングUIKit詳解リファレンス』は少し古いようですが、今でも通用しますかね?
109名称未設定:2012/03/03(土) 20:43:09.70 ID:kfyX0Csb0
>>108
「UIKitを勉強する」ってのがさっぱりだけど、
その本「でも」UIKitを勉強する目的としては十分通用しますよ。
110名称未設定:2012/03/03(土) 20:52:23.36 ID:Z0ySciAn0
>>109
ありがとうございます
UIKitでどんな事ができるかを広く知りたいのですが、文章のみのReferenceを片っ端から読むのに難儀していました
111名称未設定:2012/03/03(土) 21:18:57.18 ID:Fuo/Pwph0
>>110
>UIKitでどんな事ができるかを広く知りたい
いろんなアプリ使ってみれば良いんじゃね?
112名称未設定:2012/03/03(土) 21:58:19.72 ID:zuM3wF820
Appleの日本語訳されてる資料読んでサンプルこねくり回すのがいいと思う。
プログラミング自体の初心者でなければ。
113名称未設定:2012/03/03(土) 22:18:31.20 ID:Z0ySciAn0
>>111,112
ありがとうございます
Objective-Cを一通り把握したので次はGUIの仕組みを学びたく、本を探していました
『詳解 Objective-C 2.0』のような新しく詳しい定番本がGUI分野にはないのが残念です
114名称未設定:2012/03/03(土) 22:34:06.48 ID:VW7/kNIa0
『詳解 Objective-C 2.0』はiPhoe4より前の本だから、GCDとかARCとかの最近の必須トピックが扱われてないのがねぇ。
StoryBoardを扱ったXcode本もまだ日本では刊行されてないんじゃなかろうか。
115名称未設定:2012/03/03(土) 22:47:12.95 ID:1bYlzirw0
落ちた・・・
これどういう意味?
*** -[_PFArray objectAtIndex:]: message sent to deallocated instance 0x88216f0
116名称未設定:2012/03/03(土) 22:47:38.51 ID:Z0ySciAn0
>>114
『詳解 Objective-C 2.0』の第3版ならARC対応です
GCDも概要+αが載っていました
117名称未設定:2012/03/03(土) 23:04:45.22 ID:VTJwE8D50
>>115
"解放されてメモリにないインスタンスにメッセージを送りました"じゃねぇかな
118名称未設定:2012/03/03(土) 23:05:27.63 ID:1bYlzirw0
>>117
ありがとう!
119名称未設定:2012/03/03(土) 23:35:40.43 ID:FhDDCz+p0
>>110
そういうことなら今でも充分に役に立つと思うよ。だから >>2 に入れてる。
120名称未設定:2012/03/04(日) 00:00:25.53 ID:xNMi8Ajc0
>>116
そうなんだ。それは失礼した。
121名称未設定:2012/03/04(日) 01:23:37.78 ID:ISYorLW80
すいません。調べても検索にすら引っかからないので、
知ってる方がいたら教えて頂きたいです。

「AppStoreでレビューをしたら機能が増えます」といったことを実装したいのですが、
こういったことは可能なのでしょうか?

現状
x-code4.2
target OS 4.2~

からで作成しております。

使用するクラス、フレームワークなど簡易的なことでも良いので
教えて頂けると助かります。
よろしくお願いします。
122名称未設定:2012/03/04(日) 01:25:12.05 ID:PuxmbAOa0
そんなAPIも手段もありませんっ!
123名称未設定:2012/03/04(日) 01:47:16.63 ID:ISYorLW80
>>122
返信ありがとうございます。
そうなんですか...。
以前別のアプリで見たことがあった様な気がするので
可能なのかと思っておりました;;
あきらめがつきます。有難うございます。
124名称未設定:2012/03/04(日) 02:01:04.74 ID:PuxmbAOa0
>>123
ちょっと待って、アプリから、レビュー画面へ誘導することは可能だから、うまく工夫すればできるかもしれない。
こことか参考にしてみて。
ttp://stackoverflow.com/questions/7963893/api-for-leaving-an-itunes-review-in-app
125名称未設定:2012/03/04(日) 02:15:40.91 ID:laN8ChZB0
アングリーバードのRioだったかな。
レビューしたら後半のステージができるやつ。
簡単な仕組みだったと思うから見てみたら?
126名称未設定:2012/03/04(日) 03:17:35.02 ID:HLTascQn0
本当にレビューしたかどうかは取得出来ない。レビューするボタンをタップしたときにフラグ立てるくらいが妥当だと思う。
ちなみに何かのアプリで、☆5個付けないとアップデート出来ないとかメッセージ出して同じように誘導してるのがあったけど、レビューは大荒れだったな。
レビューしてもらう為に、ユーザーに誤認させたり、ユーザー体験を阻害するのはオススメできないし、そんなのすぐ消されるよ。
127名称未設定:2012/03/04(日) 04:56:49.72 ID:MEHKILAf0
UIViewとUILabeLでつくった画面をiPhoneの画面に描写せず写真アプリに保存したいです。どうすればいいんでしょうか?
128名称未設定:2012/03/04(日) 06:11:07.10 ID:+B+Mhwqc0
>>118
ですが、いろいろ調べましたが解決できません。どこが悪いのでしょうか・・。
(head)
@property (nonatomic, retain) NSArray *CoreDataArray;
(src)
@synthesize CoreDataArray;

- (void)viewDidLoad {
DataArray = [[[NSArray alloc] initWithObjects:nil]retain];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSDictionary *dic = [DataArray objectAtIndex:indexPath.section]; (*1)
}
(*1)-[_PFArray objectAtIndex:]: message sent to deallocated instance 0x83bbbe0

129名称未設定:2012/03/04(日) 06:13:11.02 ID:+B+Mhwqc0
↑訂正します
(head)
@property (nonatomic, retain) NSArray *DataArray;
(src)
@synthesize DataArray;
130名称未設定:2012/03/04(日) 06:28:51.08 ID:O8ylL/HJ0
>>129他にも転記間違いがあるんじゃね?
131名称未設定:2012/03/04(日) 06:33:19.09 ID:+B+Mhwqc0
>>130
いえ、上記であってます。DataArrayへのデータ設定はtableview直前で
実施しており全リスト更新の一度目のtableviwは正常に終了しますが
2度目の画面表示分のリスト更新のtableviewで上記異常終了いたします。
132名称未設定:2012/03/04(日) 06:38:10.10 ID:O8ylL/HJ0
じゃあ問題はそのソースの中には無いです。
(そのソースからでは判定できません。)

なお、DataArray = [[[NSArray alloc] initWithObjects:nil]retain];
だと二重retainになってしまうので、正しくは
DataArray = [[NSArray alloc] initWithObjects:nil];
です。
また、このままではリークするので
viewDidUnloadでDataArrayをリリースするのはちゃんとやってる?

また、インスタンス変数は小文字から始めるのが普通です。
(DataArrayではなくdataArray)
133名称未設定:2012/03/04(日) 06:41:49.96 ID:O8ylL/HJ0
>>128
それから…
DataArray = [[[NSArray alloc] initWithObjects:nil]retain];
これだとDataArrayの中身はカラのarray。immutableなのであとから
追加もできない。カラの配列に対して
NSDictionary *dic = [DataArray objectAtIndex:indexPath.section];
でアクセスしてるのはおかしいよね。
134名称未設定:2012/03/04(日) 06:49:55.07 ID:+B+Mhwqc0
>>132
細かい指摘までありがとうございます。
ソース上、やはり問題ないですよね・・・・。
135名称未設定:2012/03/04(日) 06:55:43.41 ID:+B+Mhwqc0
>>133
ありがとうございます。DataArrayに関しては、reloadData前に実施しております。
(reloadData時に落ちています)

<格納処理>
NSManagedObjectContext *moc = [self managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *d = [NSEntityDescription entityForName: @"Data" inManagedObjectContext:[self managedObjectContext]];
[request setEntity:d];
[request setResultType:NSDictionaryResultType];
NSError *error = nil;
DataArray = [moc executeFetchRequest:request error:&error];

[request release];
[tableView reloadData];
136名称未設定:2012/03/04(日) 06:59:36.12 ID:O8ylL/HJ0
>>135
DataArray = [moc executeFetchRequest:request error:&error];
DataArrayをretainしてないので、しばらくしたら解放されて落ちる。
137名称未設定:2012/03/04(日) 07:01:52.60 ID:+B+Mhwqc0
>>136
おお!!ありがとうございました!解決いたしました。感謝!
138名称未設定:2012/03/04(日) 07:33:36.99 ID:NU0h35yG0
おはようございます。
最近のアップデート(ios5?)でついにアプリからカスタム着信音を設定できるようになったと聞きました。
方法などが記されてるマニュアルや技術サイトはありますか?
ios5 着信音 xcode などで検索したものの出てきません
139名称未設定:2012/03/04(日) 08:31:05.26 ID:ayr/hjUj0
140名称未設定:2012/03/04(日) 09:04:44.77 ID:O8ylL/HJ0
>やはり Undocumented のメソッドを呼び出すわけではないので、審査も普通に通りそうです。知りませんけど。

Undocumentだろ常識的に考えて
141名称未設定:2012/03/04(日) 09:13:38.94 ID:P7TCrPny0
別におかしくはないんじゃね。ましてや点数を付けるわけでもないし
142名称未設定:2012/03/04(日) 09:19:59.47 ID:P7TCrPny0
ああ、ホームページのなのか
Undocument 「の」
Undocumented 「な」
なのかな。やっぱりどうでもいいw
14391:2012/03/04(日) 11:51:16.52 ID:ut4Lb1oQ0
webviewでリンククリック時にローディングを出すのってどうやるんでしょうか?
参考リンク等あれば、よろしくお願いします。
色々調べて、よくわからなくて。。
144名称未設定:2012/03/04(日) 12:02:38.98 ID:7X/DGqUeP
「リンククリック時にローディングを出す」とは?
145名称未設定:2012/03/04(日) 12:02:49.70 ID:oxTT/3sE0
>>143
お前さんの言う「ローディング」が何を指すのか分からん。
質問は具体的に。
146名称未設定:2012/03/04(日) 12:09:05.81 ID:P7TCrPny0
>>143
何%っていうプログレスバーのことだよね

http://stackoverflow.com/questions/7225421/use-progress-bar-in-uiwebview
とか
ASIWebPageRequestsとやらも自分でインプリメントしなさいってらしいけど(簡単そうに書いてあるから簡単なのだろうw)
147名称未設定:2012/03/04(日) 12:09:22.61 ID:cl1fCyJc0
Web限定ならJavaScriptでGIF画像表示すればいいだろ。Iphoneとは関係ないな。
148名称未設定:2012/03/04(日) 12:11:59.72 ID:P7TCrPny0
>>146
>自分でインプリメントしなさい
サポートしていない外部リソースについてはってことかな。すまん、よく読んでいない
149名称未設定:2012/03/04(日) 12:25:18.80 ID:NU0h35yG0
>>138の質問ですが
もっと単純にいうとバンドルファイルに入れておいたMP3などをiphoneのitunesに
ダウンロードする方法を教えてほしいんです
150名称未設定:2012/03/04(日) 13:02:56.13 ID:O8ylL/HJ0
>>149
ユーザーが自分で着信音を作れるという意味であって、
アプリからは設定できないんじゃね?
151名称未設定:2012/03/04(日) 13:17:09.35 ID:P7TCrPny0
>>148
ざっと見てみた
httpリクエストひとつのASIHTTPRequestはそのもズバリ的なデリゲートのsetProgress:は呼ばれるが、
ページ全体をロードするASIWebPageRequestはsetProgress:をサポートしていないけど、request:incrementDownloadSizeBy:とrequest:didReceiveBytes:は呼ぶから、なんとかできるでしょ的な。たぶんw

ASIHTTPRequest(ASIWebPageRequest)の中身見たら大変/めんどくさい
webViewDidStartLoad:とwebViewDidFinishLoad:でのくりくり回るのでええやんw
何%っていうプログレスバーのことであるならあ
152名称未設定:2012/03/04(日) 13:21:40.89 ID:NU0h35yG0
>>150
なるほど、ということはやはり着信音用に使える音楽ファイルを
アプリからiphoneにダウンロードさせて、その後ユーザーが自分で設定するって形ですかね?

そもそもアプリからiphoneにmp3ファイルを送るなども不可能なんでしょうか?
153名称未設定:2012/03/04(日) 13:51:01.00 ID:VG3sgQGF0
質問です。
画面1と画面2があって、
画面2はディスプレィの領域を2分割して画面2−1と画面2−2を表示する場合、
(1)画面2-1と画面2-2用のViewControllerを設けるのでしょうか?
(2)画面1から画面2(画面2-1と画面2-2)に遷移する時はどうすれば良いのでしょうか?
154名称未設定:2012/03/04(日) 14:24:39.09 ID:P7TCrPny0
>>151
なんかみつけた。最近どこかで見たようなw
http://d.hatena.ne.jp/KishikawaKatsumi/20090217/1234818025
UIWebViewの中にWebViewが隠されているのか... WebViewのデリゲート使えば簡単だよなあ、Safari。ずるいぞApple w
155名称未設定:2012/03/04(日) 15:56:52.63 ID:oxTT/3sE0
>>153
viewControllerを使わず2つのviewを自前でコントロールする。
何したいかよく分からんから具体的にどうした方が良いとも言えない。
156名称未設定:2012/03/04(日) 16:06:09.22 ID:O8ylL/HJ0
>>153
>>155
iOS5だとchildViewControllerを追加できるよ。
画面2のviewControllerに
画面2−1の子viewController
画面2−2の子viewController
を追加する。
あとは頑張って実装してねと言うしか無いけど。
157名称未設定:2012/03/04(日) 16:35:29.81 ID:ISYorLW80
>>124
>>125
>>126

ありがとうございます!
参考URLありがとうございます!
現状はsafariに自身のサーバーに飛ばしてリダイレクトするJSで
iTunesに飛ばす方法で対処しています。
(まだ申請してないのでAppStoreに並んだらリダイレクト先をそこに変えるw)
アプリIDでそんなことしなくても飛ばせるようですが、よくわからなかったので、今度参考にしたいと思います。

今まで出したアプリも売り上げわるくないのに、レビューだけしてもらえないので、
レビューしたらアイテム1個プレゼント!みたいにしたかったのですが、やはり荒れるのですね;

そちらも含め、検討したいと思います。
皆さん丁寧にありがとうございました。
158名称未設定:2012/03/04(日) 19:01:23.37 ID:MvcrE7/e0
UIKeyboardTypeにあるやつ以外のたとえばDvork配列のキーボードを自分で実装することは可能なんでしょうか?

159名称未設定:2012/03/04(日) 19:47:54.45 ID:laN8ChZB0
自分のアプリ内限定なら可能だろ。
初心者のレベルじゃないけど。
160名称未設定:2012/03/04(日) 20:42:53.99 ID:6gQD22QbP
>>108
サンプルをいじり倒すのととその本と、日本語訳のドキュメントで十分だと思う。
161名称未設定:2012/03/04(日) 21:20:01.94 ID:NtHKg6Dc0
UIWebViewでPDFを表示しているのですが、PDFをスクロールした現在の
スクロール位置を取得する方法ってないでしょうか?

表示するものが、HTMLやExcelの場合は、document.body.scrollTopで
取得出来たのですが。。。
162153:2012/03/04(日) 21:36:37.05 ID:VG3sgQGF0
>>155,156
レスありがとうございます。

ViewControllerにchildViewControllerを「追加する」の
「追加する」って、具体的にはどうするのでしょうか?
163名称未設定:2012/03/04(日) 21:41:40.67 ID:O8ylL/HJ0
>>162
具体的には
addChildViewController:
だよ

でも、まずは通常のViewControllerを使いこなすのが先だと思うよ。
使いこなせてないでしょ。
急がば回れ。
164名称未設定:2012/03/04(日) 22:40:34.48 ID:ebiHt0bW0
ios developer programがちょうど1年たったので更新して
キーチェーンアクセスも更新しましたが(古いものを全部消し、更新)
キーチェーンアクセスのiPhone Developer:人名(番号)の部分が
「この証明書はまだ有効になっていません」
という表示になっています。
また、アプリを実機で起動させると
"Command /usr/bin/codesign failed with exit code 1″のエラーが出ます。

証明書を有効にするにはどうすればいいのでしょうか?
165名称未設定:2012/03/04(日) 23:32:21.93 ID:exlSqX/N0
>>164
消しちゃいけないものもあったと思うけど、本当に全部消しちゃったの?
166名称未設定:2012/03/05(月) 00:20:18.53 ID:C9sIKRAQ0
消す必要なんて全くなかったのに
167名称未設定:2012/03/05(月) 01:07:13.45 ID:rAIft+2F0
3週間前にios developer programは更新したんですが
それ以後特に何もしていなくて
今日突然アプリがiPhone上で動かなくなって
キーチェーンアクセスが切れていることに気づいて色々更新しました。

ちなみに最初は古いものは消さずに残していたのですが
Xcodeは同名の証明書が複数あるとエラーを返すので
消しました。
168名称未設定:2012/03/05(月) 07:17:47.18 ID:Er4NRaF40
>>106
ありがとうございます。
やってみましたがダメみたいです。
MainStoryboard.storyboardのソースを覗いてもbackgroundColor〜しか無く、backgroundはありませんでした。
新たにUIImageViewとIBOutlet UIImageview *backgroundを作って繋いだところStoryboardにはbackgroundがありましたが、
それを消してみてもダメのようです。大丈夫な方のソースコードを移植してみてもダメです。Framework自体がイカレてしまったんでしょうか・・・。
もう作りなおすしか無いかなーと思っているのですが、既にAppstoreに出した状態でこうなってしまった場合、プロジェクトを変えたらApp storeでの扱いは別のアプリになってしまうのでしょうか?
169名称未設定:2012/03/05(月) 07:48:13.67 ID:dLbnPyfx0
>>168
アプリの識別は Bundle ID で行われるから、プロジェクトを作り直すときに同じ Bundle ID を指定すれば大丈夫。
でも、App Store に出す時のプロジェクトのバックアップを取ってないなんて駄目すぎ。
(できれば git とかでバージョン管理すべき。)
170名称未設定:2012/03/05(月) 08:23:53.37 ID:Er4NRaF40
>>169
あっなるほど、よく考えれば出すたびにバックアップしておけばいいわけですね・・・。
171名称未設定:2012/03/05(月) 10:06:53.97 ID:0PTR0LZf0
質問です。
ボタン1〜4と、イメージビュー1〜4をそれぞれ対応させて、それぞれのボタンを押すとWebから画像を引っ張ってきて対応するイメージビューに表示します。
そこで、ボタンをキー、イメージビューを値にしてディクショナリを作ろうとしたのですが、エラーとなり上手くいきません。
ImageViewForButtonDictionary = [NSDictionary dictionaryWithObjectsAndKeys:imageView1,button1,imageView2,button2,imageView3,button3,imageView4,button4, nil];
ではダメなのでしょうか?
172名称未設定:2012/03/05(月) 10:19:18.71 ID:dLbnPyfx0
>>171
ボタンはキーにはできないよ。キーはコピーされるし。
ボタンに tag をセットして、イメージは配列で持つか、NSNumber をキーにすれば?
173名称未設定:2012/03/05(月) 10:41:37.41 ID:hu2Jy66H0
"U+1F436"というunicodeから対応する絵文字をNSString入れたいのですが
unicodeで表現された絵文字をNSStringに格納することは可能でしょうか

174名称未設定:2012/03/05(月) 11:09:17.78 ID:dLbnPyfx0
>>173
@"\U0001F436"
175名称未設定:2012/03/05(月) 11:24:23.29 ID:0PTR0LZf0
>>172
なんと、そうなのですね。とりあえずsenderで分岐してみます。ありがとうございました。
176名称未設定:2012/03/05(月) 12:21:03.63 ID:0PTR0LZf0
重ねてお聞きします。
ウェブのURLから画像をダウンロードして表示するとき、
NSURL *testURL = [NSURL URLWithString:@"xxx.jpg"];
NSData *testData = [NSData dataWithContentsOfURL:testURL];
UIImage *testImage = [UIImage imageWithData:testData];
targetImageView.image = testImage;
という風になると思うのですが、読み込んで表示されるまで処理が止まってしまいます。
これを、バックグラウンドでやらせて読み込み終わったものから表示するというようにしたいのですが、標準の機能では無理でしょうか?
177名称未設定:2012/03/05(月) 12:28:15.69 ID:dBWQy7NS0
標準の機能というのが何を指しているのかわかりませんが無理ではないですよ。
178名称未設定:2012/03/05(月) 12:28:29.55 ID:8tZ12J9bP
webviewじゃ無いと無理では。
imageioで自分で描いても出来るか。
179名称未設定:2012/03/05(月) 12:38:23.28 ID:Bfvau7fWP
180名称未設定:2012/03/05(月) 13:08:55.81 ID:hu2Jy66H0
>>174 ありがとうございます
もう一つ質問があるのですが
UTF16で表現された絵文字はどのようにNSStringに格納すればいいのでしょうか
0xD83D 0xDE04 → ?
181名称未設定:2012/03/05(月) 13:43:55.03 ID:dLbnPyfx0
>>180
[NSString stringWithFormat:@"%C%C", 0xD83D, 0xDE04]

計算方法はこの辺とか。
http://codezine.jp/article/detail/1592
182名称未設定:2012/03/05(月) 14:47:30.35 ID:hu2Jy66H0
>>181
何度もありがとうございました
183名称未設定:2012/03/05(月) 15:32:04.86 ID:9XKe3fhj0
iTunesを使ったファイル共有機能でアプリからファイルを出力したとき
音楽ファイルならDRMをかけたり、PDFならコピー禁止をかけたりすることはできるんでしょうか?

ttp://d.hatena.ne.jp/nakamura001/20100902/1283442536
このサイトを参考にしてます
184名称未設定:2012/03/05(月) 15:33:41.41 ID:/XlNxACB0
>>183
できない
185名称未設定:2012/03/05(月) 15:36:43.92 ID:9XKe3fhj0
>>184
ありがとうございます
ということは今ある着信音アプリとか出力できるブックリーダーとかは
コピー上等って感じなんでしょうか?
186名称未設定:2012/03/05(月) 15:40:43.88 ID:4FsNajRI0
コピーできなかったら着信音に使えないんじゃ
187名称未設定:2012/03/05(月) 15:42:13.07 ID:0PTR0LZf0
>>177
ありがとうございます。自作クラスとか作らずに・・・という意味です
>>178
ありがとうございます。なるほどWebViewを使うという手がありますか・・・。
やりたいことが出来るかどうかわかりませんが試してみます
>>179
ありがとうございます。うーんちょっと書いてある内容がまずわかりませぬ。
やっぱり知識がまず圧倒的に足りないのと、コード慣れしないとダメみたいですね・・・
188名称未設定:2012/03/05(月) 15:44:05.49 ID:9XKe3fhj0
>>186
極端な話、共有機能ituneに入れたコンテンツをTorrentとかで放流して
他のユーザーが使えるのかなぁと うちの会社がそれ系の権利結構持ってて
iphoneで展開できるならうれしいなーと思ったんですが
コピー上等だと無理ですね...orz
189162:2012/03/05(月) 15:56:45.27 ID:hrvjj7vG0
>>163
レスありがとうございます
190名称未設定:2012/03/05(月) 16:19:56.84 ID:/XlNxACB0
>>188
黒そうな会社だな
191名称未設定:2012/03/05(月) 16:47:03.14 ID:9XKe3fhj0
>>190
いやいやいや 黒くはないですよw
ただ権利ビジネスの会社なので、特に対策無しでコピーされるってのは
信用も含めて絶対できないのです... iphoneアプリに範囲を拡大できるなら
企画書出してみようと思ったんですが、無理そうですね orz 
192名称未設定:2012/03/05(月) 17:03:55.07 ID:C9sIKRAQ0
会社で昼間っから2chに書込みできるなんて、素敵なブラック会社ですね
193名称未設定:2012/03/05(月) 17:07:59.87 ID:F9BKXARy0
そんな会社中堅でもいくらでもあるわ
2chブロックしてるのなんて大手かネット系企業だけだろ
194名称未設定:2012/03/05(月) 17:14:20.88 ID:/XlNxACB0
ブロックしてるかしてないかの問題じゃないわな
195名称未設定:2012/03/05(月) 17:31:43.74 ID:9XKe3fhj0
>>194
スレチなんで詳しくは説明しないけど開発系は結構自由だったりしますよ
もちろんアクセスログは全部取られてるので、エロサイトとかどうでもいい板とかだと怒られますけどねw
196名称未設定:2012/03/05(月) 17:37:24.09 ID:Oj33aAwp0
最終的に誰が管理するか考えたら実現可能かそうでないか
判断付くだろう。
197名称未設定:2012/03/05(月) 18:30:30.20 ID:BbWIHHxn0
>>191
企画してみればいいじゃん。。
リスクもメリットも全部説明すればいいだけ。判断するのは上。
3案くらい持ってけ。その中で現実的なものと非現実的なもの、どちらも必要。

そういうやつが上に上がっていく。
まじめに考えないで、面白いかどうか、それも重要。。。
198名称未設定:2012/03/05(月) 18:44:26.75 ID:amx4UtR70
iPhoneアプリを開発されている方にご質問です。
Macbook Airの購入を検討しているのですが、画面のサイズで迷っています。
アプリを開発する上で、11インチだと画面が小さ過ぎて何か支障をきたすことってありましたか?
199名称未設定:2012/03/05(月) 18:46:17.34 ID:V+LVQqU30
Storyboardを使うなら画面は広いにこしたことはないな。
200名称未設定:2012/03/05(月) 19:30:38.73 ID:4FsNajRI0
俺なら支障を来すので、21インチくらいの安い外部ディスプレイをつなぐ。
つかMacBook Airでは遅いので買わない。
201名称未設定:2012/03/05(月) 19:33:03.80 ID:B0DyIlAa0
遅いのか...
202名称未設定:2012/03/05(月) 20:14:02.44 ID:j8PBzKsPP
プロジェクトに追加したmp4のパスを取得できなくて困っています。

NSBundle* bundle = [NSBundle mainBundle];
NSString* path = [bundle pathForResource:@"a" ofType:@"m4a"];
NSLog(@"%@", path);

のようにa.m4aファイルのパスを取得
203名称未設定:2012/03/05(月) 20:15:06.36 ID:XTq+ElfJ0
すみません、質問です。
次回ITCからの入金が500万ほどある予定なんですが、こういう金額って額面通り一括で振り込まれるんでしょうか?

その時気をつける事とかなにかありますか?
普通の地銀を指定してるんですが、手数料とかどれくらい取られるのか
204名称未設定:2012/03/05(月) 20:15:41.14 ID:j8PBzKsPP
プロジェクトに追加したmp4のパスを取得できなくて困っています。

NSBundle* bundle = [NSBundle mainBundle];
NSString* path = [bundle pathForResource:@"a" ofType:@"m4a"];
NSLog(@"%@", path);

のようにa.m4aファイルのパスを取得しても上のNSLogはnullを出力します。
ちなみにmp3ファイルだと問題なくパスが取得できます。なぜでしょう????
205名称未設定:2012/03/05(月) 20:17:58.46 ID:8tZ12J9bP
>>204
大文字小文字とか。
206名称未設定:2012/03/05(月) 20:18:58.44 ID:8tZ12J9bP
すまん、nullなのか。
207名称未設定:2012/03/05(月) 20:47:50.62 ID:S60cOTqg0
撮影した動画の、プログラム側による自動的な編集(動画をトリミングしたりつなげたりするだけ)
をしたいんですが、動画の編集方法に詳しい書籍、webサイトなどご存じないでしょうか。
カメラ系の参考資料は結構見つかるのですが・・・。
208名称未設定:2012/03/05(月) 20:50:29.48 ID:dLbnPyfx0
ファイルが存在しないと null になるみたいだから、>>205 の可能性もあるね。
209名称未設定:2012/03/05(月) 20:56:31.18 ID:8tZ12J9bP
>>207
AVFoundation Programming guide 日本語訳も、サンプルコードもあるよ。
210名称未設定:2012/03/05(月) 20:56:55.40 ID:HBgreUNm0
ローカライズを行なっているのですが、
storyboardをEnglishとJapaneseに分割して、
iPhoneシミュレーターの言語設定もEnglishにしたんですが、
反映されません。
どうすれば反映されるでしょうか?
211名称未設定:2012/03/05(月) 20:57:02.98 ID:B1u6tuH20
>>183
iTunesのファイル共有機能は、単にDocumentsフォルダーのファイルを母艦とやりとりする
だけだから、作成したファイルに自分でセキュリティを掛けてやればいいよ

>>198
俺、Air 11インチで開発してる。iPhoneなら画面の狭さはそれほど苦にならない。iPadはきつ
い。
速度は、CPUとメモリとディスクをMax仕様にしている状態で、開発に関しては不満はない。
でも、これから購入するのであれば、予算や使用形態が許すのであれば、画面が大きいにこ
したことはないな
212名称未設定:2012/03/05(月) 20:57:04.49 ID:dLbnPyfx0
213名称未設定:2012/03/05(月) 20:57:29.99 ID:8tZ12J9bP
>>208
へー、知らんかった。
214名称未設定:2012/03/05(月) 21:02:37.97 ID:elbUQb3x0
オススメのObjective-C入門本は?
215210:2012/03/05(月) 21:03:37.11 ID:HBgreUNm0
>>210
>storyboardをEnglishとJapaneseに分割して、
LocalaizationをJapaneseとEnglishの2つにして、
それぞれのストーリーボードでラベルの文字を変えて、
シミュレーターの言語設定も英語にしたんですが、
反映されません。
216名称未設定:2012/03/05(月) 21:06:07.38 ID:S60cOTqg0
>>209
>>212
ありがとうございます!
217名称未設定:2012/03/05(月) 21:14:44.19 ID:uB7IWxT90
>>210
productのclean実行と、シミュレーターからいったんアプリを削除してもダメかい?
218210:2012/03/05(月) 21:21:41.63 ID:HBgreUNm0
>>217
できました!
m(_ _)m ありがとうございます!!
219名称未設定:2012/03/05(月) 21:37:40.58 ID:uiPH6dTM0
#import <UIKit/UIKit.h>
#import "ModalClass.h"
@protocol SubDelegate;
@interface SubClass : UIViewController
@property(nonatomic,unsafe_unretained)id<SubDelegate> delegate;
-(void)buttonPush:(id)sender;
@end

@protocol SubDelegate <NSObject>
-(void)modal:(ModalClass*)modal text:(NSString*)message;
@end
////////////////////////////////////////////////////////////////
#import <UIKit/UIKit.h>
#import "SubClass.h"
@interface ModalClass : UIViewController<SubDelegate>
@end

error: cannot find protocol declaration for 'SubDelegate' [3]
↑インポートでプロトコルがないって言われるんですがどこがおかしいんでしょうか、、
220名称未設定:2012/03/05(月) 22:14:04.53 ID:RH2iYSr10
UITableViewのdata sourceになっているクラスから、
どのUITableViewインスタンスからdata sourceとして使用されているかを知るにはどうしたらいいのでしょうか?
numberOfSectionsInTableViewなどで受け取れるtableの値を流用すれば、
とりあえず解決しそうですが、なんか正攻法ではないような気がしています。
221名称未設定:2012/03/05(月) 22:32:02.23 ID:C9sIKRAQ0
>>198
MacBook Air 13インチをカスタマイズでフルスペックにして、Thunderbolt displayをつなげて使っているが何の問題もない。
外出先はAirで、自宅ではThunderbolt display。これが最強。
222204:2012/03/05(月) 22:35:28.25 ID:j8PBzKsPP
Xcodeのプロジェクトへドラッグ&ドロップで追加したファイルは
アプリをコンパイルしてiPhoneシミュレーターを使って起動すると
アプリケーションフォルダの直下に設置されるはずなのですが、
m4aファイルの場合はなぜかどこにも設置なれないため、
>>204のやり方だとnullになっていることが判明しました。
223名称未設定:2012/03/05(月) 22:41:40.01 ID:j8PBzKsPP
連投になって申し訳ないんですが、
どなたかお暇な方いましたら、
Xcode(ver4.3)に下記画像のようにm4aファイルを追加して>>204のコードを実行して
nullが出力されるか試してもらえないでないでしょうか?

http://uproda.2ch-library.com/497910JFE/lib497910.png
224名称未設定:2012/03/05(月) 22:42:03.65 ID:8tZ12J9bP
>>220
全てtableviewがわたってくるんだから、そのidで見る。
225名称未設定:2012/03/05(月) 22:44:47.11 ID:dLbnPyfx0
>>214
C言語やオブジェクト指向がある程度分かるなら荻原本の最新版がお勧めだけど、
初心者なら Objective-C 超入門か、Xcode 4 ではじめる Objective-C プログラミングかなぁ。
226名称未設定:2012/03/05(月) 22:48:30.00 ID:yT+SeM970
>>223
これってBuild PhasesのCopy Bundle Resourcesのところにちゃんと入っててダメなの?
227名称未設定:2012/03/05(月) 22:56:58.25 ID:dLbnPyfx0
>>220
正攻法は、自分で table view の data source に設定してる筈だから、自分で分かる筈。
そのクラスが UITableViewController なら self.view が table view だけど…。
228名称未設定:2012/03/05(月) 22:59:34.51 ID:dLbnPyfx0
>>219
//// の前が SubClass.h で、後ろが ModalClass.h ってこと?
なら、SubClass.h の #import "ModalClass.h" を @class ModalClass; にして、
SubClass.m で #import "ModalClass.h" する。
229名称未設定:2012/03/05(月) 23:05:47.74 ID:8tZ12J9bP
>>223
正しく取れたよ。
2012-03-05 22:55:24.521 gomi[14809:f803] /Users/xxx/Library/Application Support/iPhone Simulator/5.0/Applications/9A3C46F3-3A46-477E-8684-003B686D4E9F/gomi.app/a.m4a
230名称未設定:2012/03/05(月) 23:14:36.68 ID:uiPH6dTM0
>>228
ありがとうございます。出来ました。。
231204:2012/03/05(月) 23:19:35.20 ID:j8PBzKsPP
>>229
ありがとうございました!!
やっぱり自分のやり方に間違いがあるって確信できました。

>>226
>>Copy Bundle Resources
原因はこれでした。。Xcode4からはここでリソース追加しないといけなかったようですね。。
ここに追加したら無事m4aファイルもアプリケーションフォルダ直下に移動できました。
でもこれって普通気付かないですよね。。しかもmp3は今まで通りの追加方法でOKだったりするし。。

XCode4でのリソースの追加方法
http://kuman.cocolog-nifty.com/ohkuma/2011/06/xcode4-15b0.html



232名称未設定:2012/03/05(月) 23:35:07.46 ID:yT+SeM970
>>231
プロジェクトに追加するときのダイアログでAdd to targetsにチェック入ってないとダメかも。
4.3からはリソースとしてありがちな名前以外はデフォでチェック入らないようになった気がする。
233名称未設定:2012/03/05(月) 23:39:07.78 ID:8tZ12J9bP
>>231
m4a dropした時にCopy items into destination~かAdd to targetsにチェック入れなかったんだろ。
昔から変わってないよ。
234名称未設定:2012/03/06(火) 00:09:59.29 ID:OwHHDOXN0
ごめん、本物の初心者なんだけど
iphone単体でアプリ作れるアプリ
みたいなのは作れないの?
235名称未設定:2012/03/06(火) 00:12:54.21 ID:pI/oDLH50
xcode for iPhoneか。
がんばって作ってくれ。
236名称未設定:2012/03/06(火) 00:15:57.41 ID:OwHHDOXN0
いや、macすら持ってない情弱だから
237220:2012/03/06(火) 00:21:33.77 ID:lqRk++Ic0
>>227
ありがとうございます。
ウイザードでUITableViewControllerを継承して作ったクラスだったので、意識してUITableViewと関連付けなくても使えていたため、気がつきませんでした。
おかげで泥くさいコードにならずにすみそうです。
238名称未設定:2012/03/06(火) 00:35:15.89 ID:+rfBVQB50
>>236
情弱は黙っていれば良いんじゃないかな
239名称未設定:2012/03/06(火) 02:08:47.58 ID:x+8UXPnC0
>>211
アドバイスありがとうございます
アプリが購入したIDと紐づいてるitunesでしか使えないように
アプリから送られたデータも同じようなことはできるんでしょうか?
240名称未設定:2012/03/06(火) 07:54:51.07 ID:OSb8tTvv0
すみません
自作したクラスのヘッダーファイルと実装ファイルはどこでimportすればいいのでしょうか?
ViewControllerで使いたいのでViewController.hのはじめで両方インポートしても"Apple Mach-O Linker (id) Error"となりビルド出来ません。
AppDelegateやmain.mなどいろんなところに挟んでみたのですが、どうも上手くいきません。
241名称未設定:2012/03/06(火) 09:00:54.16 ID:XzP7XuqA0
自分で作ったものは<abc.h>でなくて"abc.h"で囲めよ
242名称未設定:2012/03/06(火) 09:22:47.40 ID:OSb8tTvv0
>>241
ありがとうございます。
もちろん、きちんとダブルクォーテーションで囲ってあるはずです。
243名称未設定:2012/03/06(火) 09:41:13.30 ID:nrTHFZbz0
Linkerのエラーならヘッダーファイルは関係無いんじゃね
実装ファイルのimportっていまいち意味がわからない。実装ファイルって .m だよなあ
実装ファイルがプロジェクトの Build Phases の Compile Sources に入ってないとか
244名称未設定:2012/03/06(火) 10:13:45.89 ID:agFsp+970
>>240
実装ファイルは #import する必要ない。
#import するのはヘッダファイルだけ。
245名称未設定:2012/03/06(火) 10:24:32.22 ID:OSb8tTvv0
>>243-244
うわぁ本当だ。ヘッダファイルだけにしたら動きました
しかし実装ファイルからヘッダファイルは参照されていますが
ヘッダファイルからは実装ファイルは参照されていないのに
なぜヘッダファイルだけをインポートするだけで動くのでしょうか?
コンパイラがヘッダファイルの実装ファイルを勝手に見つけてくっつけてくれるのでしょうか?
246名称未設定:2012/03/06(火) 10:36:37.45 ID:agFsp+970
>>245
実装ファイルを「勝手に」見つけるんじゃなくて、プロジェクトに登録されてる実装ファイルからプログラムを生成するんだけど。
ついでに言うと、各クラスの実体は実装ファイルの方だよ。ヘッダファイルは単にどんなクラスかを決めてるだけ。
247名称未設定:2012/03/06(火) 10:39:26.52 ID:nrTHFZbz0
>>245
ああ...Linkerのエラーはsymbolが見つからないじゃなくて、symbolが多重に定義されているとかか

ヘッダーファイルは実装ファイルをコンパイルする時に必要な、辞書的なもの。あくまでも補助的なファイルで、実行するコードは存在しない。極論的には無くてもいいもの
実装ファイルはコードが書かれコンパイルされリンクされ実行されるコードになるもの。必須のもん

ヘッダーファイルと実装ファイルの関係がよくわかっていないようだから、Cの最初の方「だけ」でいいから勉強した方がいいと思う
248名称未設定:2012/03/06(火) 11:26:00.56 ID:+9fQ9aOp0
みなさん、アプリ公開の際にEINやW-8BENの取得は自分でやりましたか?
トラブった経験などあったら教えていただきたいです。
249名称未設定:2012/03/06(火) 11:29:45.56 ID:OSb8tTvv0
>>246-247
ありがとうございます。
ヘッダーファイルに書かれているクラスの宣言が読み込まれてから、
実装ファイルに書かれているそのクラスの実装を読み込むのだと思っていたのですが、違うのでしょうか?
実装ファイルが読み込まれてから、そのクラスの宣言にさかのぼって読み込むということでしょうか?
クラスの宣言部と実装部が分かれている時点で訳わかめな状態です。RubyやC#ではひとつにまとまっていたと思うのですが
250名称未設定:2012/03/06(火) 11:43:21.06 ID:NoRcL5og0
>>249
コンパイラが興味あるのは実装ファイルだけ。
ヘッダは実装ファイルの中で(自分で書いた#importの結果として)読み込まれる。
251名称未設定:2012/03/06(火) 12:25:48.56 ID:agFsp+970
>>249
もう一度書くけど、実装ファイルこそがクラスの実体。
ヘッダファイルなんかなくてもプログラムは動く。

けど、他のクラスにアクセスする時に、それがどんなクラスか分かった方が便利だから、
宣言部分をヘッダファイルとして分割しただけ。
252名称未設定:2012/03/06(火) 12:27:03.08 ID:OSb8tTvv0
>>250
ありがとうございます。
しかしヘッダファイルのインポートだけでは実装ファイルが読み込まれないと思うのです。
例えばmyClass.hとmyClass.mをプロジェクトに追加して、myClass.hをViewControllerでインポートします。
myClass.mからmyClass.hは参照されていますが、myClass.mはmyClass.hに参照されていません。
従ってmyClass.hをインポートするだけでは実装部分であるmyClass.mは読み込まれないはずです。
にもかかわらずちゃんと動くということは、myClass.hが読み込まれた時点で、コレの実装がどこかにあるはずだということで、
コンパイラがその実装ファイルmyClass.mを自動的に探して読み込んでいるということだと思うのですが違うのでしょうか?
253名称未設定:2012/03/06(火) 12:31:06.90 ID:+Kx7UXJj0
すみません。前にもここで聞いたんですけど、わからなかったのでもう一度質問させてください。
InterfaceBuilderで、UILabelを配置して位置、サイズを設定します。
この状態で、ラベルの文字列を編集するとサイズが自動的に変わってしまいます。
(水平方向センタリングだと左上位置も変わってしまう)
この動作をさせなくする方法を教えていただけませんでしょうか。

テキスト設定後、位置、サイズを設定すればいいじゃないかと言われそうですが、
テキスト入力欄にフォーカスを移動しただけで、サイズが変わってしまうので困っています。

ラベルのParentとしてコンテナになるビューを作って、ラベルにFillを設定する方法はあると思いますが、
このためだけにビューを(ラベル数分)追加するのは気が引けます。

InterfaceBuilderの設定になると思うのですが、わかる方いらっしゃいましたら、お願いします。
xcodeのバージョンは4.3です。
254名称未設定:2012/03/06(火) 12:36:07.29 ID:+Kx7UXJj0
>>253です。
「ラベルのParentとしてコンテナになるビューを作って…」
 ↑この段落間違いです。この段落は無視してください。
255名称未設定:2012/03/06(火) 12:41:26.88 ID:NoRcL5og0
>>252
コンパイラが興味あるのは実装ファイルだけ。
ヘッダファイルはプロジェクトに追加しなくても問題ない。
256名称未設定:2012/03/06(火) 12:41:27.49 ID:agFsp+970
>>252
だから、プロジェクトに myClass.m を追加してるでしょ。
プロジェクトに追加されてる .m ファイルをそれぞれコンパイルして .o ファイルを作って、
それらをリンクしてプログラムを作るの。
試しにプロジェクトから myClass.m を取り除いてみれば?
myClass.h だけあってもリンクエラーになるから。
257名称未設定:2012/03/06(火) 12:45:38.03 ID:+rfBVQB50
細かいこと気にし過ぎるやつもプログラマには向かないんだなあ

みつを
258名称未設定:2012/03/06(火) 12:46:49.08 ID:nrTHFZbz0
>>252
クラスの宣言部と実装部

ヘッダーファイルと実装ファイル

何の関係/強制も無いというのを理解しよう
>>251 の言うようにただ便利だから、クラス宣言部「など」をヘッダーファイルに分割して書いてあるだけ

クラス宣言部と実装部がObjective-Cで分けなければならない(クラス宣言内にメソッドの内容を記述できない)のは、そういう仕様だから
C++と同時期に派生して己が道がこうなったという。C++はどっちにもでもできるし、Javaはクラス宣言内に書かなければならないし、そういう言語仕様だからとしか言いようがないので他言語がこうだからというのは頭から忘れたほうがいいw


>実装ファイルが読み込まれてから、そのクラスの宣言にさかのぼって読み込む
と思った方がいいよ。読み込むというか参照すると言った方がいいけど、
importは単にファイルを読み込むという機能であって、実装ファイルにどこどこ取り込んでコンパイル時にはすべてのimportファイルを取り込んだ一つのファイルだけを対象にコンパイルすると思った方がいいでしょう


コンパイラは、まず実装ファイルを読み込む、importがあったら対象のファイルの内容を実装ファイルのimportの行に置き換える、すべてimportし終わったら、ひとつの巨大な実装ファイルをコンパイルする
てとこかな
259名称未設定:2012/03/06(火) 12:58:38.53 ID:agFsp+970
>>253
Xcode 4.2.1 と 4.3 で試してみたけど、文字列がラベルからはみ出す場合以外はサイズ変わらないよ。
一体どうしたらそんなことになるの?
260名称未設定:2012/03/06(火) 13:10:00.82 ID:nrTHFZbz0
>>252
>myClass.mはmyClass.hに参照されていません。
>従ってmyClass.hをインポートするだけでは実装部分であるmyClass.mは読み込まれないはずです
なんでこんなこと考えるかと不思議で理解できなかったが、たぶん myClass をanotherClass.m などで使う(インポート)する場合のことを考えているんだなと理解した
anotherClass.m で myClass.h をインポートしてるだけで、実装している myClass.m へどう飛ぶんだとか考えているんじゃないのかな
だったら anotherClass.m コンパイル時には myClass の実装部なんて知らなくてもいいんだよ。コンパイル時にはここで myClass のメソッド呼んでいますとか単にマークするだけでそのマークを myClass に結びつけるのがリンカーの役割と思いなせえ
(本当はいろいろと違うけど)
261名称未設定:2012/03/06(火) 13:23:38.47 ID:nrTHFZbz0
>>258
>C++はどっちにもでもできるし
そういえばC++もヘッダファイルのクラス宣言に実装を書いて、そのヘッダファイルincludeしまくったら、多重synbolでエラーになるよな
ま、いいか
262名称未設定:2012/03/06(火) 13:51:08.42 ID:OSb8tTvv0
>>260
まさにそれです。ありがとうございます。
他の方々もありがとうございました。
263名称未設定:2012/03/06(火) 13:59:09.41 ID:Ad0glrt90
>>260
おれもLinkerを知らないんだろうなと思った。
統合環境で入った人は可哀想。
264名称未設定:2012/03/06(火) 15:08:09.62 ID:+Kx7UXJj0
>>259
そうなんですか…何が違うんだろ、特に何もいじった記憶ないんですけど…
265名称未設定:2012/03/06(火) 15:24:23.29 ID:7FFpAUD90
持って生まれたカルマが違う。
266名称未設定:2012/03/06(火) 15:40:36.95 ID:LWqTjdam0
すいません。どうしてもわからないので質問させて下さい。

アプリで「sharekit」というフレームワークを使用し、ツイッター連携を行っています。
投稿するとこまではできたのですが、別ページに遷移後、再び画面に戻ってきてから
投稿しようとすると、Bad Acsessエラーで投稿できなくなっています。

引っかかってしまうところは以下のコードです。

SHK.mの以下のメソッド

- (UIViewController *)getTopViewController
{
UIViewController *topViewController = rootViewController;
while (topViewController.modalViewController != nil)
topViewController = topViewController.modalViewController;
return topViewController;
}

の、while文でBadAcsessエラーです。
どなたか詳しい方いましたらよろしくお願いします。
267名称未設定:2012/03/06(火) 15:48:19.03 ID:TSZ7RdVK0
>>266
rootViewControllerの実体が存在しない(deallocされている)
268名称未設定:2012/03/06(火) 16:06:36.00 ID:LWqTjdam0
>>267
返信ありがとうございます。

現状、Twitterへ繋がる画面へは以下のようになってます。

MainController → B Modal → C Modal → Twitter Modal

以上の様にモーダルで次の画面へ遷移しているのですが、この場合MainControllerがrootViewController
になるのでしょうか?
Twitter Modal画面はMainControllerの子階層にあるので解放されることはないと思っていたのですが
それが間違えなのでしょうか?
すいませんがよろしくお願いします;
269名称未設定:2012/03/06(火) 17:01:47.03 ID:+rfBVQB50
>>268
とりあえず全部retainして動かしてみ。
落ちなくなるならreleaseされてるのが原因。
それでも落ちるなら他を当たる。
270名称未設定:2012/03/06(火) 18:21:25.00 ID:h39QfEGT0
iPhoneアプリリリースの流れは、今でも↓こんな流れでしょうか?
http://d.hatena.ne.jp/kozy_twt/20101024/1287923276



それと今日本屋へ行って販売方法探してたら、
「※NDA(秘密保持契約)があるので詳しくは書けません。」
って本に書いてあって、iOS Dev CenterやiTunes Connect見てくださいってことでした。
上記のサイトはNDA破らない程度に詳しく書いてあるってことですかね?
他に必要な作業があればご教示お願いします。m(_ _)m
271名称未設定:2012/03/06(火) 18:49:47.09 ID:agFsp+970
>>270
それは読んでないから知らないけど、最新の手順は >>2 にリンクがあるよ。これ。
https://www.facebook.com/note.php?note_id=275515095847187
272名称未設定:2012/03/06(火) 18:59:27.85 ID:h39QfEGT0
>>271
おぉ!! ありがとうございます!!
273名称未設定:2012/03/06(火) 19:36:31.37 ID:o7KKFR+a0
>>239
データはあくまでもデータなので、それを扱うアプリ側でなんとかするしかないでしょ
つまり、データは基本的にロック掛けておいて、アプリと共通する鍵を埋め込んでおくとか、
ユーザー入力のパスワードで暗号化するとか
274名称未設定:2012/03/06(火) 19:42:15.78 ID:3UEDTbMg0
質問です。
複数の画面を切り替えて表示する場合、
1つのViewControllerで処理した方が良いか、
画面毎にViewControllerを用意して処理した方が良いかの判断基準は何でしょうか?

例えば、「時計」アプリの「アラーム」画面のようなアプリを作るとした場合、
登録されているアラームの一覧画面と新しいアラームを登録する画面は、
上記のどちらの方が作り易いのでしょうか?
275名称未設定:2012/03/06(火) 19:44:28.40 ID:o7KKFR+a0
>>253
Xcode 4.3にしてから、俺も同じ状態で困ってる、というか面倒くさい

いろいろ探してみたんだけど、
>>テキスト設定後、位置、サイズを設定すればいいじゃないかと言われそうですが、
これしか対策が見つからない

>>テキスト入力欄にフォーカスを移動しただけで、サイズが変わってしまうので困っています。
サイズが変わった直後にUndoすればサイズは戻るはずなので、うっかり変えてしまった
場合はそれで対処してる
276名称未設定:2012/03/06(火) 19:50:42.19 ID:agFsp+970
>>274
別の view controller にして present(Modal)ViewController:animated:
277名称未設定:2012/03/06(火) 20:03:57.48 ID:TSZ7RdVK0
>>268
>この場合MainControllerがrootViewController
>になるのでしょうか?
それはお前さんにしか分からないんじゃないの?
278名称未設定:2012/03/06(火) 20:31:11.82 ID:jSP4nhRZ0
>>253
状況がよくわかんないけど Auto Layout がonになってるとか?
279278:2012/03/06(火) 20:40:33.77 ID:jSP4nhRZ0
あ、iOSにはUse Auto Layout オプションが無いみたいだ。ごめんなさい。
280名称未設定:2012/03/06(火) 21:11:29.95 ID:pgOwWajw0
>>274
ニョキっと出したい(もしくはUITableViewなんかで右に掘りたい)なら
別UIViewControllerで、全画面覆わない画面遷移なら別UIViewとしている
281名称未設定:2012/03/06(火) 21:53:54.37 ID:zd3k1kpL0
プロトコルを使ってview01クラスで宣言したメソッドをview02でやりたいのですが
エラーはないんですができません。どこがだめでしょうか?
view01.h
#import <UIKit/UIKit.h>
@protocol view01Delegate;
@interface View01 : UIViewController
@property(nonatomic,unsafe_unretained)id<view01Delegate> delegate;
-(void)modalView;
@end

@protocol view01Delegate <NSObject>
-(void)modalLog;
@end
view01.m
#import "View01.h"
#import "View02.h"
@implementation View01
@synthesize delegate;

-(void)modalView
{
[delegate modalLog];
}
282名称未設定:2012/03/06(火) 21:55:35.78 ID:zd3k1kpL0
続き
View02.h
#import <UIKit/UIKit.h>
#import "View01.h"
@interface View02 : UIViewController<view01Delegate>
-(void)backView;
@end
View02.m
#import "View02.h"
@implementation View02
-(void)modalLog
{
View01 *v01=[[View01 alloc]init];
v01.delegate=self;
NSLog(@"abc");
}
283名称未設定:2012/03/06(火) 22:07:10.35 ID:nrTHFZbz0
>>281-282
View02 の modalLog が謎。そのままじゃ無限ループ/無限コールっぽい。View01 の modalView 呼んでいないのでなにもしてないけど

(これはどこにあってもいい)
- (IBAction)doModalTest:(id)sender
{
View01 *v01=[[View01 alloc]init];
v01.delegate=self;
[v01 modalView];
}


(View02.m の modalLog)
-(void)modalLog
{
NSLog(@"abc");
}

やりたいのはこゆのじゃないのかなあ
284名称未設定:2012/03/06(火) 22:38:35.32 ID:zd3k1kpL0
>>283
すみませんソース色々消しすぎてました。
view01.m
-(void)modalView        //←view01のボタンで実行
{
[delegate modalLog];
View02 *vc02=[[View02 alloc]init];
[self presentModalViewController:vc02 animated:YES];
}
view02.m
-(void)modalLog
{
NSLog(@"abc");
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
{
View01 *v01=[[View01 alloc]init];
v01.delegate=self;
[v01 modalView];
}
return self;
}
確かに無限ループになりましたけど目標のデータ委譲は出来たからこれはこれでいいかなぁ。。
ありがとうございました。
285名称未設定:2012/03/06(火) 23:02:50.04 ID:nrTHFZbz0
>>283
>v01.delegate=self
どこにあってもいいわけないやん。しつれ
286名称未設定:2012/03/06(火) 23:17:28.89 ID:TEM/ZgzY0
みんな自分のアプリのダウンロード数はどこで集計とって調べてる??
itunesconnectでもできるけど
なんかおすすめのアプリとかったらプリーズ!
アプリ2つ以上になってからめっちゃ見にくくなった
287名称未設定:2012/03/06(火) 23:18:22.01 ID:FjFcolx20
>>286
BB2C
288名称未設定:2012/03/07(水) 00:16:44.11 ID:QAdEOtH30
>>286
お前が確定申告してない事は分かった。
289名称未設定:2012/03/07(水) 00:23:05.97 ID:aPhjXAjGI
すみません、UISplitViewについて質問です。

横向き表示のときに、左側のルートビューの横幅を
変更するにはどうすれば良いのでしょうか?
ちなみに、縦向きのときのポップオーバーサイズを変えたいです。

リファレンスを見たのですが、見当たりませんでした。。。

iOS5.0.1 を使用しております。
290名称未設定:2012/03/07(水) 01:45:05.28 ID:JS9EWs4J0
>>287
ちょw2ちゃんねるだったw
291名称未設定:2012/03/07(水) 02:31:11.50 ID:UQTJZHQS0
iPadアプリを開発してみたいがiPadとMacを買う金がない・・・
292名称未設定:2012/03/07(水) 04:27:54.42 ID:qKCRNs4N0
公式日本語ドキュメントが追加されたよ〜

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

iOS View Controller カタログ
https://developer.apple.com/jp/devcenter/ios/library/documentation/ViewControllerCatalog.pdf

HTTP Live Streamingの概要
https://developer.apple.com/jp/devcenter/ios/library/documentation/StreamingMediaGuide.pdf

上二つは読むとここでの質問が半分になりそうな気がする。
Apple GJ!
293274:2012/03/07(水) 09:32:56.66 ID:VRlmEKFh0
>>276
レスありがとうございます。

294名称未設定:2012/03/07(水) 09:42:52.64 ID:VRlmEKFh0
質問です。

本に載っていたTabBarのサンプルソース(Tab(ViewController)2個)に
Tab(ViewController)を2つ追加した所、追加した2つのTabは表示されるのですが、
追加したTabをクリックと下記のUILabelの箇所でEXC_BAD_ACCESSになります。
ここのコードは4つのViewControllerでみな同じで、
最初からあった2つのViewControllerでは正常に動作します。
追加したものだけエラーになる原因は何でしょうか?
- (void)viewDidLoad {
[super viewDidLoad];
UILabel* label = [[[UILabel alloc] initWithFrame:self.view.bounds] autorelease];
295名称未設定:2012/03/07(水) 10:33:04.11 ID:8ncTUM8g0
検索してみたのですが、見つからず困っています。

利用しているライブラリのライセンスを
アプリに表記したいのですが、どのように入れれば問題ないのでしょうか?
当然デカデカとは入れたくないのですが、
入れないのはライセンス違反らしいので、さりげなく入れたいです。
ちなみに利用ライブラリのライセンスはBSDです。

よろしくお願いします。
296295:2012/03/07(水) 10:36:23.50 ID:8ncTUM8g0
すみません。
修正です。入れたいのはクレジットです。
上記で、クレジットをライセンスと勘違いして書いていました。
よろしくお願いします。
297名称未設定:2012/03/07(水) 10:52:18.66 ID:nVSmgprR0
このアプリについていう modal view に入れとけばいいんじゃね
main Viewにそれを呼び出すボタンを置いとくか、設定項目があるならそっちのViewにさりげなくボタン置いとくとか
298名称未設定:2012/03/07(水) 12:04:51.37 ID:pObCwoM90
>>295
Settings.bundleとかでいいんじゃないの?
299295:2012/03/07(水) 12:31:50.15 ID:8ncTUM8g0
皆様、回答ありがとうございます。

>>297
(i)ボタン付けて、ひっくり返った画面で見せるみたいな考え方ですよね。
しっくりきますね。

>>295
Settings.bundleに記載した場合、端末上のアプリから確認できるのでしょうか?
簡単な操作で表示できるのが望ましいらしいのですが...


300295:2012/03/07(水) 12:33:09.74 ID:8ncTUM8g0
すみません。アンカー間違えました。
>Settings.bundle...は、
>>298さんです。
301名称未設定:2012/03/07(水) 14:11:35.39 ID:mzm2JP+h0
カメラアプリを制作しているのですが、
シャッターを切る処理をカメラボタンを押すではなく、他の動作でシャッターを切る処理させたいと考えています。
例えば画面をタッチするとシャッターを切るなど・・・
シャッターを切る処理を表すコードは存在するのでしょうか?
ピッカーコントローラのソースタイプをカメラにして、presentModalViewControllerでピッカーコントローラで呼び出しているのですが、
それだと、既に出来上がったiphone標準のカメラアプリが起動してしまいます。
いろいろ検索して資料を見ているのですが、上記の方法しか見つからず困っています。
詳しい方がいましたら、よろしくお願いします。
302名称未設定:2012/03/07(水) 14:30:22.71 ID:F0glUvw20
>>301
画面サイズと同等の画像容易して、カスタムボタンの画像に指定して、
アルファ値を0.0にすればいいんじゃね。
303名称未設定:2012/03/07(水) 14:33:06.26 ID:pObCwoM90
>>300
iOS標準の「設定」アプリで見れる。
ライセンス情報とかをここに入れてるアプリはよくあるよ。

>>301
ヒント:cameraOverlayView
304295:2012/03/07(水) 15:16:40.24 ID:8ncTUM8g0
>>303
ありがとうございます!
「設定」確認しました。
ここだと、スマートにまとめることができますね。
ワザワザ専用のページを作らなくても良さそうなので、
こちらにクレジット表記しようと思います!
305名称未設定:2012/03/07(水) 17:12:31.29 ID:ljmyPF5o0
ざっと探したけど、iOS系の開発フォーラム日本にないのだね。人口が少ない訳ではないだろうし何故かな。
技術的なことはともかく募集や宣伝向けに日本語環境はあるべきだと思う。
306名称未設定:2012/03/07(水) 17:30:16.68 ID:F0glUvw20
>>305
ここが非公式だけど事実上の日本語フォーラムだねwww
307名称未設定:2012/03/07(水) 17:35:05.45 ID:gtUf9+CA0
初心者の方が偉そうな不思議なフォーラムだけどねwwww
308名称未設定:2012/03/07(水) 17:41:10.83 ID:HZ7QPaE90
フォーラムより先にXcodeを日本語化してくれ
あとヘルプの全翻訳はよ
309名称未設定:2012/03/07(水) 18:08:29.66 ID:8ncTUM8g0
でも、翻訳おかしいと英語読むより理解できなくなるよな
310名称未設定:2012/03/07(水) 18:11:50.09 ID:b7hixjWM0
開発ツールの日本語化よりも、開発資料の翻訳の方がずっとありがたい。
311名称未設定:2012/03/07(水) 18:23:44.61 ID:14Pq8eva0
Xcode日本語化するよりバージョン上がる方が早いからなあw
312名称未設定:2012/03/07(水) 18:26:16.72 ID:yOBeQEEC0
翻訳といえばiOS5のリファレンスブックとかは出てるんでしょうか?
ios5で追加されたCIFaceFeature(顔認識?)とか興味があるんですが
資料が少なすぎてまったくわかりません

メソッドを一覧にしたような書籍はないんでしょうか?
313名称未設定:2012/03/07(水) 18:27:16.32 ID:ljmyPF5o0
いや開発は英語でやろうよ。
仲間が欲しいだけ。
314名称未設定:2012/03/07(水) 19:07:49.26 ID:b7hixjWM0
リファレンスの類は英語でもいいんじゃないの?
プログラミングガイド的な読み物は翻訳があると超ありがたいけど。
315名称未設定:2012/03/07(水) 19:09:40.03 ID:nbUo6bui0
英語のままのほうがいいよ。
敷居は高いほうがいい。
日本語化すると糞みたいなアプリが今以上に溢れる。
316名称未設定:2012/03/07(水) 19:45:19.07 ID:F0glUvw20
>>315
なるほどw
それなら英語のままがいいな。
317名称未設定:2012/03/07(水) 20:06:44.95 ID:HuNhDR1K0
プログラミング初めてもう少しで一年目の俺に言わせればobjective-cは多分十分敷居が高いほうですよ。。
Cと混在してる構文、ど重なる開発環境の変化、英語サイトで色々登録、、、
318名称未設定:2012/03/07(水) 20:10:42.37 ID:PkeMNPkS0
ipad用のアプリが出来たんだけど、今リリースするか、ipad3発表後にxcodeアップデートでipad3対応版でリリースかどっちがイイと思う?
319名称未設定:2012/03/07(水) 20:19:36.97 ID:b7hixjWM0
そもそもプログラミングの初心者がいきなり突撃するような分野じゃないと思うんだけどね。
色々便利になってるとはいえ、ぶっちゃけ組み込みでしょiOSって。
320名称未設定:2012/03/07(水) 20:26:14.84 ID:lFdaHT6V0
開発初心者なんですが
新しいOSが出た場合、β版を普段使い兼開発用のiPhoneに入れるのはやめた方がいいですか?
これまでどんな感じだったか教えていただけると嬉しいです。
321名称未設定:2012/03/07(水) 20:29:08.11 ID:yatA/r5W0
>>317
度重なるの読み方間違えてない?
322名称未設定:2012/03/07(水) 21:06:06.31 ID:K4LYOVCR0
ごめんなさい、ちょっと教えて下さい。
CLLocationManagerとMKMapViewを使って位置情報の記録をしてるのですが、ステータスバーに表示されるアイコンがアプリケーション終了時に消えなくて困っています。
(アプリケーション終了してもアイコンが付きっぱなしに・・・)

終了時には
mapView.showsUserLocation = NO;
mapView.delegate = nil;
mapView = nil;
locMgr.delegate = nil;
locMgr = nil;
としているのですが・・・。

バックグラウンドでも動くようにしてるのが不味いのかなぁ・・・。
どなたか分かる方いらっしゃいませんか?

323名称未設定:2012/03/07(水) 21:16:35.51 ID:+1ISZN2h0
>>322
「終了時」って applicationWillTerminate:?
iOS 4 以降は、ホームボタンを押すと applicationWillResignActive: と
applicationDidEnterBackground: が呼ばれてバックグラウンド状態になり、
バックグラウンド状態で終了させられた場合は何も呼ばれないので、
applicationDidEnterBackground: でも「終了時」の処理をする必要があるよ。
324322:2012/03/07(水) 21:54:17.31 ID:K4LYOVCR0
>>323
ありがとうございます。
UIApplicationWillTerminateNotificationでもlocMgr.delegateにnilを入れてみたりしてたのですが、全然アイコンが消えなくて・・・。

えー、で、解決したっぽいです。
CLLocationManagerでstartUpdatingLocation「しか」使っていなかったので、終了時にstopUpdatingLocationのみを呼べば良いのかな、と思っていたのが間違いでした。
終了時に、stopUpdatingLocationと一緒に「stopUpdatingHeading」も呼ぶ必要がありました。

それを呼んでから、mapView.showUserLocation=NO; にして、
CLLocationManagerのdelegateとMKMapViewのdelegateにnilを入れた後、終了処理( exit(0); )を書きました。

これでステータスバーのアイコンが消えました・・・。
なんでだろう???
325名称未設定:2012/03/07(水) 21:59:54.39 ID:+1ISZN2h0
>>324
あ、コード見てなかった。
delegate を nil にする必要なんてないと思うけど。
あと、自分で exit() 呼んじゃ駄目だよ。
326301:2012/03/07(水) 22:00:00.34 ID:mzm2JP+h0
>>302-303
回答ありがとうございます。cameraOverlayViewを使った処理で考えてみます。
あともう一点質問なのですが、
アプリ起動時にカメラを起動したいと思い、viewDidLoadに以下のコードを置いたのですが起動しませんでした。
_imagePicker = [[UIImagePickerController alloc] init];
_imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:_imagePicker animated:YES];

ただボタンに割り当てるとカメラの起動ができるので、viewDidLoadに記述するのが間違っているとは分かるのですが、
起動時にカメラを直ぐ起動するにはどこに記述するのが適切でしょうか?
327324:2012/03/07(水) 22:09:52.83 ID:K4LYOVCR0
>>325
> あと、自分で exit() 呼んじゃ駄目だよ
了解しました。
328名称未設定:2012/03/07(水) 22:35:57.56 ID:Anwz2ovg0
アプリのアイコンって標準のカレンダー見たく時間で変更とかって可能なんですか?
329名称未設定:2012/03/07(水) 23:10:32.77 ID:B79m9q880
>>321
その発送はなかった
330名称未設定:2012/03/07(水) 23:20:08.98 ID:StLxPN/90
>>328
無理。ジェイルブレイクすればできるかは知らん
331名称未設定:2012/03/07(水) 23:30:38.53 ID:0vh+NsoI0
html5でwebアプリ作ってるんだけど質問はここで良いのか?
332名称未設定:2012/03/07(水) 23:40:06.80 ID:Anwz2ovg0
>>330
やっぱ無理ですよね。ありがとうございます。
333名称未設定:2012/03/08(木) 00:03:34.76 ID:k8BXTAGO0
>>331
いいえ。
334名称未設定:2012/03/08(木) 00:26:50.33 ID:/4R3/0W90
>>331
そんなあなたに
http://toro.2ch.net/test/read.cgi/hp/1190775698/
歓迎されると思う
335名称未設定:2012/03/08(木) 00:43:13.31 ID:pD5sPwfm0
>>334
thx
336名称未設定:2012/03/08(木) 00:58:31.74 ID:kaQ9o8lz0
楽器アプリを制作しているのですが、
サイレントモードかつヘッドフォン装着時に音が鳴りません。
AudioServicesPlaySystemSound
を使用しているのですが、どなたかご教授いただけないでしょうか。
サイレントモードでないとき再生確認済みで、音声ファイルはaiffを使用しています。
337名称未設定:2012/03/08(木) 01:03:25.35 ID:qIf7xv3f0
>>336
info.plistでバックグラウンドを許可
338336:2012/03/08(木) 01:46:21.90 ID:kaQ9o8lz0
ご返答ありがとうございます。
Required background modesは意図した機能と違うようでした。
339名称未設定:2012/03/08(木) 02:23:16.00 ID:NJZgsUtW0
>>336
NSTimerでループ再生とかしてないか?
340名称未設定:2012/03/08(木) 05:31:28.49 ID:NCpZ+Ehw0
ttp://www.icab.de/blog/2010/07/11/customize-the-contextual-menu-of-uiwebview/

ここを参考に、UIWebViewのContextual Menuの書き直しをやっているのですが、

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none';"];
}

この部分が効かなくて、デフォルトのメニューが消せません。
iOS5では動かないのでしょうか?
どのようにしたらできるのか、わかる方いらっしゃったらよろしくお願いします。
341名称未設定:2012/03/08(木) 06:43:16.00 ID:DbI2Fp0xP
>>336
audio session categoryかな?
342名称未設定:2012/03/08(木) 07:18:22.01 ID:NOg8iXcp0
snow leopardのくせにiPhoneを5.1にしてしまったorz
snow leopard版のXCodeは5.1に対応しない?
343名称未設定:2012/03/08(木) 07:45:56.67 ID:G3UPiAQM0
>>328
結構前に、Appleがアイコンを動的に変えられる技術をSDKに組み込むために
人を雇ったとかなんとかってニュースを見たから、iosの更新が進めば出来るようになるかも
(海外のニュースを意訳しただけなんでニュアンスは違うかもしれない)
344名称未設定:2012/03/08(木) 09:47:11.31 ID:KUApIxqn0
>>275
Xcode 4.3.1にしたら直ったみたいな気がする
345名称未設定:2012/03/08(木) 11:33:41.58 ID:/P6W5phN0
質問です。
Navigation Controller用ルートビューのTableViewControllerのinitメソッドの中に
ツールバーを作る下記コードを書いたのですがツールバーが表示されません。
原因はなんでしょうか?
ルートビューを作った後でNavigation Controllerを作っているので、それが原因かとも思うのですが、
そうだとしたら、ルートビューにツールバーを表示するにはどうすれば良いのでしょうか?

UIBarButtonItem* button21 =
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemOrganize
target:self action:@selector(action21)] autorelease];
UIBarButtonItem * spacer=[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil action:nil] autorelease];
UIBarButtonItem* button22 =
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction
target:self action:@selector(action22)] autorelease];
self.navigationController.toolbarHidden=NO;
self.toolbarItems=[NSArray arrayWithObjects:button21, spacer, button22, nil];
346名称未設定:2012/03/08(木) 12:10:52.34 ID:kR6qjoIs0
ダウンロード制限が20MBから50MBに変更になったみたいだね。
347名称未設定:2012/03/08(木) 12:20:19.51 ID:PKBCj5UA0
どんどん大容量化していくね
348名称未設定:2012/03/08(木) 12:30:04.13 ID:djef1kXu0
>>342
しないだろうなあ
実機動作確認できない?
349名称未設定:2012/03/08(木) 14:13:45.26 ID:jdL7KObY0
テキストフィールドのアクティブを外すにはresignFirstResponderと調べたら出てきたのですが、
アクティブにするコードはありますか?
テキストフィールドをタップするのではなく、コードで自動的にフォーカスがあたるようにしたいです。
よろしくおねがいします。
350名称未設定:2012/03/08(木) 14:19:25.72 ID:qIPxZKB90
becomeFirstResponder
351名称未設定:2012/03/08(木) 14:31:17.45 ID:jdL7KObY0
>>350
有難うございます。助かりましたm(_ _)m
352名称未設定:2012/03/08(木) 15:06:46.76 ID:i8++lEvj0
UITableViewの右横にsectionのタイトルが並んべて、
タップすれば選んだsectionに移動するようにする方法がわかりません。

「ミュージック」アプリの曲一覧画面での右端のと同じ動きをさせたいのです。

scrollToRowAtIndexPathとかで自作する方法しかないのでしょうか。
353名称未設定:2012/03/08(木) 16:32:55.68 ID:hybZyN6l0
>>352
sectionIndexTitlesForTableView:
354名称未設定:2012/03/08(木) 16:40:33.93 ID:i8++lEvj0
>> 353
まさに探していたものそのものです!ありがとうございます!
355名称未設定:2012/03/08(木) 16:45:35.90 ID:WyVUs6fD0
xcode4.2.1でiPhoneアプリを作り始めたのだが、作り方教えてくれるおすすめサイトない?いろいろ探してみたが記事が古くて...
356名称未設定:2012/03/08(木) 17:32:45.01 ID:dx2A9Zu50
開発用のiPod touchにこれまで出てた開発バージョンの 5.1 β3 ビルド9B5141a を入れて開発してましたが、晴れてGMの5.1 (多分、ビルド 9B176 )をインストールしたいのですが、復元しか方法はないのでしょうか?

また、どうも現在はiTunes10.6から復元しようとしてもエラーが出ます。皆さんのところはどうですか?

もし、この方法しかないなら効率悪いですね!
357名称未設定:2012/03/08(木) 17:56:25.21 ID:DbI2Fp0xP
358名称未設定:2012/03/08(木) 17:57:22.22 ID:DbI2Fp0xP
>>356
iPhone4と初代iPad、アップデートで問題無かったけど。
359名称未設定:2012/03/08(木) 18:17:12.79 ID:/4R3/0W90
>>340
その方法で何をしたいのかわからないけど、UIWebViewのContextual Menu の不必要なのを出したくない and/or 自分のを出したいというのなら、

http://stackoverflow.com/questions/3833184/iphone-ipad-context-menu

canPerformAction:withSender:
は UIWebView のサブクラスを作って、そこで(標準のアイテムを削るならUIWebView より先にするため)

menu.menuItems に自分の機能を追加は application:didFinishLaunchingWithOptions: でいいんじゃないかな
360名称未設定:2012/03/08(木) 18:21:58.28 ID:/4R3/0W90
>>359
UIWebView は
Subclassing Notes
The UIWebView class should not be subclassed.
なんだ
361名称未設定:2012/03/08(木) 19:47:12.14 ID:WyVUs6fD0
>>357
ありがとうございます。
362名称未設定:2012/03/08(木) 20:56:27.38 ID:dx2A9Zu50
>>358
どちらの機種も、iOS5.1の開発者用のβ 3から 正式版へのupdateなんですか?
どのようにupdateされたのでしょうか?
363名称未設定:2012/03/08(木) 21:02:02.88 ID:DbI2Fp0xP
iTunesからopt押しながらアップデートでファイル指定。urlはggr.
364名称未設定:2012/03/08(木) 22:17:29.90 ID:NCpZ+Ehw0
>>359
どんぴしゃでした。ありがとうございます。
365名称未設定:2012/03/08(木) 22:29:19.19 ID:/4R3/0W90
>>364
でもね、>>360 なのよ。ごめんね
追加だったら問題無いんだけどねえ(UIViewController で canPerformAction:withSender: すればいいので)
366名称未設定:2012/03/08(木) 22:31:23.59 ID:dDCbvGRSP
ユーザーがiPhoneにタッチすると、タッチ座標にあるビューの
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
が呼ばれますが、このメソッドをプログラミングから呼び出す(つまりiPhoneの特定の座標を
タッチした事にする)にどうすればいいんでしょう??
367名称未設定:2012/03/08(木) 22:50:49.16 ID:k8BXTAGO0
>>366
ビューにタッチしたら、

>- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

が呼ばれて、その座標はtouchesの中にあるよ。
目的の座標かはその時に調べる。
368名称未設定:2012/03/08(木) 23:16:42.35 ID:NJZgsUtW0
>>366
なんでそんな事をしたいのか興味あるけど、
それ聞くとダメなんでしょ?
369名称未設定:2012/03/08(木) 23:22:26.46 ID:UYrFq3tl0
>>368
回答者が質問者にそんなことするならこうしようとかこうしたほうがいいとか
野暮な会話にならないようにするためだろうから別にそこに興味があるなら聞いてもいいと思いますな。
370名称未設定:2012/03/08(木) 23:49:03.09 ID:dx2A9Zu50
>>363
要は、公式の方法でなく、他所で拾ったファームウェアをインストールする方法ですか?
公式には、DFUモード等にした上で、復元時にupdateする方法になるという認識で、正しいでしょうか?
371開発者あるある:2012/03/09(金) 07:53:18.77 ID:qLKncLTK0
あーここからここまでコピペだよめんどくせー
と思いながらマウスで選択しようとして
ブレイクポイントをつけてしまう
372名称未設定:2012/03/09(金) 08:28:01.58 ID:5FX8k+9d0
>>371
無いよw
>ここまでコピペだよめんどくせー
vi,pico,Emacsをとりあえずやれw
なんて贅沢なことを言っているのかわかるから
ここまでは冗談

ダブルクリックで開始行を選択して、Shift+クリック(or プレスでずりずり)だと、行の先頭にマウスカーソルがある必要はなくなるよ

行の途中から始めるとかは除外。行の先頭からその行の途中までというのは行の先頭にtab以外があるのが少ないので除外
373名称未設定:2012/03/09(金) 08:29:06.60 ID:5FX8k+9d0
>>372
×ダブルクリックで開始行を選択して
○トリプルクリックで開始行を選択して
374名称未設定:2012/03/09(金) 08:41:21.55 ID:WzsnveHs0
質問です。
iPhoneのgoodReaderで、ドキュメント一覧(表)のactionボタンを押すと
ドキュメント名(セル)の左に丸印が表示され、タップするとチェック印に変わります。
この丸印とチェック印のアイコン名(ボタン名)を教えて下さい。
375名称未設定:2012/03/09(金) 08:53:48.67 ID:rjQHQGoL0
>>371
てかブレイクポイントの意味を未だに把握してない。使わなくてもこれまで支障なし。
376名称未設定:2012/03/09(金) 10:42:36.69 ID:TUTOwBQZP
>>370
AppleのURL
普通はDFUから復元だが、俺はこれで更新出来たよ、と言う話。
めんどくさい奴だなぁ。
377名称未設定:2012/03/09(金) 13:25:47.52 ID:8DCIaeth0
NSNotFoundみたいなフレームワークで定義されている
よく使われる定数が網羅されているドキュメントはないですか?
マジックナンバーを出来るだけ使いたくないので。
378名称未設定:2012/03/09(金) 15:16:46.43 ID:8Wa37/ed0
Appleのリファレンス
379名称未設定:2012/03/09(金) 16:06:34.99 ID:/Khikh9n0
すいません アプリケーションローダーについて教えてください
下請けとして製作したアプリを先方にappファイルをipaにして送りました
先方が言うにはそれをアプリケーションローダーでストアにアップするというのです
バンドルIDは指定のものにして、配布用で出力はしたのですが
開発証明書等はどうなるんでしょうか?
ソースを保有してない環境でアプリケーションローダーでアップするとして、appファイルを送るとき
ソース保有側で気をつけることはありますか?
380名称未設定:2012/03/09(金) 16:13:25.47 ID:8Wa37/ed0
相手から証明書と鍵をもらって、それで署名したのを渡す。
381名称未設定:2012/03/09(金) 17:57:55.22 ID:pPRjOjnD0
質問です。
アプリを起動して、タイマーの処理を開始。

バックグラウンドに移行

アプリ再開
までタイマーを処理させる方法はあるのでしょうか?
382名称未設定:2012/03/09(金) 18:10:12.90 ID:TUTOwBQZP
むり。local notificationでアラート出して、ユーザータップで復帰
383名称未設定:2012/03/09(金) 18:30:42.23 ID:pPRjOjnD0
>>382
ですよね。ありがとうございます
384名称未設定:2012/03/09(金) 18:44:58.30 ID:YOYrMx290
引っ越ししてdeveloper programのIDの住所変更は出来たんですが、iTunes connectのTax & Bankの住所に反映しないんですが、やっぱりFaxを送る要ですかね?
送るとしたら住民票でいいんですかね?
385名称未設定:2012/03/09(金) 23:24:51.37 ID:bQti26F80
>>355
http://dotinstall.com/
で解説動画見てみたら、作れるようになったよ。
386名称未設定:2012/03/10(土) 00:35:21.39 ID:KsZqozyE0
アプリをアップロードしようとしているのですが、3つのエラーが出ます。
どうすればエラーは消えますか?
エラーメッセージは次の通りなのですが。ピクセル数は合っているはずです。

warning: iPhone/iPod Touch: icon-72.png: icon dimensions (0 x 0) don't meet the size requirements. The icon file must be 57x57 pixels, in .png format (-19014)
Unable to validate your application. - (null)

warning: iPad: icon-72.png: icon dimensions (0 x 0) don't meet the size requirements. The icon file must be 72x72 pixels, in .png format (-19014)
Unable to validate your application. - (null)

warning: Application failed codesign verification. The signature was invalid, or it was not signed with an iPhone Distribution Certificate. (-19011)
387名称未設定:2012/03/10(土) 00:45:35.08 ID:KsZqozyE0
OSの不具合のようですね。今アップデートをダウンロードしています。
388名称未設定:2012/03/10(土) 05:20:59.91 ID:zATu2wxT0
>>384
サポートにメール、返信に番号有るのでそれを住民票に書いてFAX。送付から反映されるまで1ヶ月ぐらいかかる。全部日本語でOK。
389名称未設定:2012/03/10(土) 08:57:45.18 ID:mO2hAQ5l0
>>388ありがとうございます。
やっぱりFaxかぁ。にしても1ヶ月って丁度developer programの更新が4月中旬だからダブってトラブりそうでいやだなf^_^;)
390名称未設定:2012/03/10(土) 09:55:30.75 ID:KsZqozyE0
アプリを公開する段階まで来まして、「Waitng for upload」の状態にしました。
"Valid signing identity not found"という警告が出て、
OSは以前クリーンインストールしたところです。

↓以下、引用。
________________________________________________
原因は、クリーンインストールする前のAirに関連付けられていたキーチェンの証明書が原因だったようです。
なので、2台目以降のMacで実機テストをするための方法というのが下記に書いてあったのですが、
私にはこの方法が出来なかったので、別の方法を試しました。
Mobile Dev.(iPhone + Objective C)
2台目以降のMacで実機テストをする方法
なぜ、上記の方法が出来なかったかというと1台目の証明書の書き出しがそもそもできないからです。
なので、どうしたかというと・・・。
一度、前回の鍵情報を消去して、もう一度証明書を作成し、iPhone Developer Programにアップロードする作業をしました。
iPhone Developer Programに入っている証明書やプロビジョニングファイルも削除しました。
言ってしまえば、もう一度、鍵とプロビジョニングファイルの生成を行う作業をするということです。
鍵の生成などの詳しい方法は下記のサイトがわかりやすかったので、リンクを張っておきます。
iPhoneアプリ
iPhoneアプリを実機で動かす
________________________________________________
この方法で最初から作ったのですが、まだエラーが出ます。
どこかやり方が間違っているのでしょうか?
m(_ _)m どうかご教示お願いします。
391名称未設定:2012/03/10(土) 10:43:53.68 ID:/Fold0XS0
>>390
自分は前スレの
> 239 名称未設定 sage 2012/02/14(火) 18:36:20.34 ID:P7iH1WlRP
> >>236
> ApplicationLoaderを更新して、Xcodeでclean>rebuild.
> https://itunesconnect.apple.com/apploader/ApplicationLoader_2.5.1.dmg
で直ったけど、これってその後ソフトウェアの更新で配布されなかったっけ?
392名称未設定:2012/03/10(土) 10:49:17.37 ID:KsZqozyE0
>>391
はい。更新で配布されてました。
それでこのエラーは出なくなったんですが、
最後に一つ「The value for the info.plist key CFBundleLocalizations is not of the required type for key.
See the Information Property List Key Reference.」というエラーがでています。
日本語と英語に対応させます。Plist.storingsを消しても出てきました。
この最後のひとつのエラーを消すにはどうすればいいでしょうか?
393名称未設定:2012/03/10(土) 11:08:44.59 ID:/Fold0XS0
>>392
これでもダメかな?
http://astrodeo.com/blog/archives/598
394名称未設定:2012/03/10(土) 11:24:14.77 ID:KsZqozyE0
>>393
ダメでした。
それは関係あるんですか?
395名称未設定:2012/03/10(土) 11:51:31.59 ID:KsZqozyE0
こういう状況なのですが。

私はどこでもこの質問に対する答えを見つけることができません。 私は、Xcodeに新たなんだ。
私は2多言語のiPhoneアプリを開発していると私は有名なエラーを取得していますので、
iTunes Connectにするためにそれらをアップロードすることはできません "の
Info.plistキーcfbundlelocalizationsの値をそのキーの必要なタイプではありません"。
誰もが私は値の配列を配置する必要がありますので、だと言うが、私はそれを行う方法を知りません。
私は、例えば必要な場合は、英語とフ​​ランス語は、私はそこに何を配置するべきですか? このような何か(0 = EN、1 = FR)?
http://translate.googleusercontent.com/translate_
396名称未設定:2012/03/10(土) 11:53:31.78 ID:Zvw3EekH0
397名称未設定:2012/03/10(土) 12:15:51.25 ID:KsZqozyE0
>>396
ありがとうございます!!
plistのLocalizeの部分を消したらイケました!!
無事アップロード出来たようです!!
m(_ _)m 皆さんどうもありがとうございました。
398名称未設定:2012/03/10(土) 13:37:29.95 ID:zGRZ7X5l0
教育は”幼児””小中高””専門”に分けようざ
399名称未設定:2012/03/10(土) 14:08:01.17 ID:Kc0EYmMa0
アプリが動かない。星1個
たぶん対応してない3Gだと思うけど、こんな糞レビューにペナルティってないのかな? 消すのもAppleに頼んで放置されるのかな?開発者は泣き寝入りしか手段はないの?
400名称未設定:2012/03/10(土) 14:36:58.35 ID:HlldzrnN0
ほとんどのデベロッパーがいつか通る道

あの頃の俺と同じだキミは
401名称未設定:2012/03/10(土) 15:04:24.02 ID:9ltY6xj30
「待機中のままダウンロードが始まらない ★1つ」というレビューも見た事ある。
アプリ作った奴の責任じゃないだろ。
402名称未設定:2012/03/10(土) 16:14:18.36 ID:ev6eSRyz0
iphoneシミュレータで開発中のアプリの動作確認してたら、
いつの間にかそのアプリがゾンビになってしまい、
以後同名のアプリがシミュレータで動かせなくなってしまいました。
ログアウトすれば解消はしますが、もっと良い方法はないでしょうか?
403名称未設定:2012/03/10(土) 16:27:32.30 ID:rVS8CU2H0
アプリの支払いがきて喜ぶのもつかの間、今の銀行の手数料がえげつない。1万未満の支払いだったのだが4000円かすめ取られた。
調べたらCITI BANK以外は手数料とられる模様。これテンプレ化した方が良いよ。
404名称未設定:2012/03/10(土) 16:34:16.42 ID:KsZqozyE0
>>403
>CITI BANK
シティバンクってヤバイことしたところじゃん。
405名称未設定:2012/03/10(土) 16:43:20.48 ID:rVS8CU2H0
>>404
んな事言っても選択肢がないしなあ。
ゆうちょ銀行なら大丈夫って情報もあるので誰か試してくれないかな。
406名称未設定:2012/03/10(土) 16:54:54.92 ID:NFRPEMxd0
>>402
ゾンビが何を言っているのかわからないけど、iPhone Simulator を終了して再起動してもダメってことなら、
$HOME/Library/Application Support/iPhone Simulator/5.0/Applications
の中身を全部消してみる(5.0の所はiOSのバージョン)
それでもダメなら、$HOME/Library/Application Support/iPhone Simulator を削除する、またはテストデータを作ってあったりするならデスクトップにでも移動する。また $HOME/Library/Preferences/com.apple.iphonesimulator.plist も

iPhone Simulator は結構サブプロセスを起動しているみたい。アクティビティモニタでは
ubd
mediaremoted
locationd
BTServer
aggregated
SimulatorBridge
apsd
installd
lsd
mstreamd
itunestored
itunescloudd
mediaremoted
など。ログアウトすればってことはこれらのどれかが iPhone Simulator を終了しても終了しないってことかなあ。それだけならそのプロセスを殺せばログアウトする必要無いけど

iPhone Simulator を終了して
lsof -nP | grep Simulator
ってすれば何か得られるかも
407名称未設定:2012/03/10(土) 17:13:37.39 ID:E7GUxjXe0
>>406
すでにMyAppを起動しているので、XcodeからMyAppを起動できません
ってメッセージがでるときあるよ。
でもMyAppは動いてないし、アクティビティモニタの起動プロセスにも出てこない。
ってことをいいたいんだと思う。

どうすれば解決するか分からないけど。
408名称未設定:2012/03/10(土) 17:26:52.26 ID:mzM508de0
Appストアで頒布されている既存のアプリですが
どのアプリがどの時期にどれだけDLされたか調べるには、どうすればいいですか?
409名称未設定:2012/03/10(土) 17:29:21.55 ID:mO2hAQ5l0
>>403
俺はUFJで手数料取られてないよ。
1年ぐらい前にドイツ経由の振込になったとかで都市銀行だったらだいたいかからないんじゃなかったっけ?
地方銀行は知らないけど。
410名称未設定:2012/03/10(土) 17:31:59.06 ID:NFRPEMxd0
>>407
ああ、なるほど
それは発生したことは無いけど、iPhone Simulator でアプリ起動したまま Xcode 終了しようとしたら、
iPhone Simulator で動いているプロセスを終了させるか聞いてきて、するってすると、
iPhone Simulator ではアプリ終了したのに、Xcode はずっと待ったままてのはある

Xcode側の問題だったらXcodeを終了させればいいように思うけど、それはすでにやっているだろうし
ログアウトすればってのだったら何らかのプロセスが死なないんじゃないかなと。ちなみに iPhone Simulator で動くアプリはアクティビティモニタには出ないでしょう
411名称未設定:2012/03/10(土) 17:35:48.95 ID:jzGoOzkP0
うちはゆうちょで取られてないと思う
412名称未設定:2012/03/10(土) 17:41:26.94 ID:lKK1QDA00
ネットバンクだけど取られてないよ
413402:2012/03/10(土) 17:42:15.17 ID:ev6eSRyz0
>>406-407
ありがとうございます。407さんに補足いただいた内容がズバリです。
psで確認すると、ゾンビ化したiPhoneアプリがlaunchdに割り付けられて残っています。
launchdを殺すことは、すなわちシャットダウンと道義なので、現状そうするしかなくて困っています。
放って置いてxcodeで作業しようにも407さんに書いていただいたエラーが出て作業が完全ストップとなります。
今度、406さんに教えていただいた方法を試してみます。
414名称未設定:2012/03/10(土) 17:50:48.61 ID:NFRPEMxd0
>>413
ああ、iPhoneアプリも一つのプロセスとしてあるのね。恥ずかしい
ゾンビってゾンビプロセスなのね
う〜む、それは... 転進しますw
415名称未設定:2012/03/10(土) 18:17:26.64 ID:aOJy0bLvP
もしかしてホームボタン押して終了させたつもりとか。サスペンドしてるからXcodeから止める。
416名称未設定:2012/03/10(土) 18:42:12.30 ID:9ltY6xj30
>>408
自分のアプリならレポートを見る。
他人のアプリはシラネ。
417名称未設定:2012/03/10(土) 19:11:50.96 ID:KsZqozyE0
>>409
地方銀行にしました。
418名称未設定:2012/03/10(土) 19:54:27.36 ID:mO2hAQ5l0
>>417
ああ、やっぱり地方銀行はかかるんだ。
いや、実は自分もUFJのATMが県内に一個も無いような田舎で、
不便でしょうがないから地方銀行に変えようか検討してたんだけど、
4000円はちょっと高いねf^_^;)
ゆうちょ銀行かからないならゆうちょ銀行にしようかな。

419名称未設定:2012/03/10(土) 20:40:15.51 ID:KsZqozyE0
>>418
えーと、申請したばっかりなので、
すみませんが、まだ手数料高いか分かりません。
ゆうちょにしようかと迷いましたが、
確定申告用に別銀行にしました。
ゆうちょダイレクトも使えて便利なんですけどね。
420名称未設定:2012/03/10(土) 21:24:46.48 ID:QjJzKGqL0
アップルの振込は5000円からだろ
それで4000円取られたらどんな顔すればいいんだ
421名称未設定:2012/03/10(土) 22:32:52.03 ID:AJBU0Iex0
銀行の手数料とられるって書き込みがチラホラみられるけど、
銀行のアカウント情報に全銀コード設定してないんじゅないの?
アップルからのメール読んでないの?
422名称未設定:2012/03/11(日) 01:15:40.57 ID:zzscpwvX0
すみません
企業名<>本社所在地<>業種<>設立日(改行)
の形式で保存されたテキストから、
企業名→name、本社所在地→location、業種→category、設立日→establishedDate
のようにプロパティとして格納したインスタンスを生成するテストを行なっています。
そこで、各プロパティとそのアクセサ@property (retain, nonatomic) NSString* ・・・、@synthesize ・・・
を定義・実装したクラスtestClassを作り、ウェブにアップしてそのURLをコピーし、
NSURL *targetURL = [NSURL URLWithString:@"URL"];
NSError *err = [[NSError alloc] init];
NSString *targetText = [NSString stringWithContentsOfURL:targetURL encoding:NSUTF8StringEncoding error:&err];
NSLog(targetText);
NSArray *lines = [targetText componentsSeparatedByString:@"\n"];
NSArray *elements;
NSNumber *keynum;
NSMutableDictionary *testDict = [[NSMutableDictionary alloc] init];

testClass *test = [testClass alloc];
for (NSInteger i=0; i<[lines count]; i++){
elements = [[lines objectAtIndex:i] componentsSeparatedByString:@"<>"];
test = [[testClass alloc] initWithParameter:[elements objectAtIndex:0] location:[elements objectAtIndex:1] category:[elements objectAtIndex:2] establishedDate:[elements objectAtIndex:3]];
keynum = [[NSNumber alloc] initWithInt:i+1];
[testDict setObject:test forKey:keynum];
}
testClass *testobj;
for (testobj in testDict){
NSLog(testobj.name);
}
としたのですがどうも.nameを参照する時点で
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber name]: unrecognized selector sent to instance 0x6d34430'
と出てエラーとなります。何がマズいのでしょうか?
423名称未設定:2012/03/11(日) 01:18:31.62 ID:zzscpwvX0
書き忘れました
initWithParameter:<#(NSString *)#> location:<#(NSString *)#> category:<#(NSString *)#> establishedDate:
はname,location,category,establishedDateを引数として与えて初期化するインスタンスメソッドです↓
-(id)initWithParameter:(NSString *)givenName location:(NSString *)givenLocation category:(NSString *)givenCategory establishedDate:(NSString *)givenDate{
if (self != nil) {
self.name = givenName;
self.location = givenLocation;
self.category = givenCategory;
self.establishedDate = givenDate;
}
return self;
}
424名称未設定:2012/03/11(日) 01:28:04.14 ID:D97HWi//0
>>423
初期化メソッドに
self = [super init];
が抜けてる。
425名称未設定:2012/03/11(日) 01:36:13.36 ID:M1QrCGGU0
>>422,423
エラーは NSNumber インスタンスに name っていうメソッドを呼び出しているけど、そんなの NSNumber には無いよってこと
testObj.name でなので、testObj が NSNumber のインスタンスになっている
振り返ると testDict のキーが NSNumber でしょ
ってことで、 testObj in testDict が間違っているので、ちゃんと testObj in testDict.objectEnumerator によりオブジェクトで回るようにしましょう
426名称未設定:2012/03/11(日) 01:42:09.09 ID:zzscpwvX0
あっforイテレータでディクショナリから取り出そうとすると値じゃなくてキー取り出すんですか
ありがとうございますsuper initの方もありがとうございます。
427名称未設定:2012/03/11(日) 04:22:58.14 ID:vQ7mMovP0
>>422
あと&errとして使うならNSError *err;のみで大丈夫だよ
現状だとリークしてる
428名称未設定:2012/03/11(日) 09:18:21.44 ID:cx2NV4Bz0
iPadでベクター画像のお絵かきソフト作ろうと思い色々調べたところQuarz2Dを
使えばよさそうなことはわかったんですがとりあえずこれは読んでおけ、目をとおしておけと
いうものがあったら教えてください。
429名称未設定:2012/03/11(日) 18:10:30.42 ID:YmYQYEMJ0
>>421
それをやると何処の銀行でも手数料が掛からないの?
430名称未設定:2012/03/11(日) 18:24:38.88 ID:TyC2Ti6x0
>>421
Zengin Code入力するのは強制じゃないですか?
なんかそれ入力しないと先進めなかったような。
Appleに載ってる情報が古かった。
自分の口座の銀行は移転してたんだけど、
古いのが載ってた・・・それで時間取られた。
431名称未設定:2012/03/11(日) 18:59:16.33 ID:+Xy7vISh0
>>429
かからないよ。まさか入力していないの?
432名称未設定:2012/03/11(日) 19:09:18.55 ID:KdF+op050
昔は口座名義がアルファベットでしか入らなくて、
いつからかカナで入れられるようになって、
カナにしたら手数料が掛からなくなった。
433名称未設定:2012/03/11(日) 19:09:43.31 ID:bIvbacwO0
入金てまだドル建てだっけか?
むかーし、契約した時はそれでたしかに
手数料安いとこ選んだ覚えがあるけど…
434名称未設定:2012/03/11(日) 19:13:25.93 ID:+Xy7vISh0
>>430
昔は強制じゃなかったんだよ。
たしか去年の5月くらいに全銀コードとカナ文字を設定してくれって
アップルからメールきた。
そしたら、次回の入金分から手数料が引かれなくなった。たぶん
送金方法が変わったんだろうと理解してるんだが。
435名称未設定:2012/03/11(日) 20:38:22.45 ID:TyC2Ti6x0
>>434
そうなんですか。アルファベットにしてしまいました。
カタカナに直します、ありがとうございました。
436名称未設定:2012/03/11(日) 20:53:42.32 ID:+Xy7vISh0
もらったメールに

銀行口座がカタカナで登録されている場合には、口座名義人フィールドを銀行での登録名に一致するように変更して下さい。
特に、空白やカッコを含めて、銀行から送られてくる口座明細書に一致するように注意をお願いいたします。一致しない場合
には御支払いが滞る可能性があります。

って書いてあったから、単にカナに変えればいいってもんじゃないと思うが。
437名称未設定:2012/03/11(日) 21:01:56.50 ID:WFhybKNE0
おまいら確定申告しろよ
438名称未設定:2012/03/11(日) 21:06:17.34 ID:ZmGbM8CL0
カタカナって例えばリョウの場合リヨウにしなければならないとかありますか?
439名称未設定:2012/03/11(日) 21:24:40.41 ID:+Xy7vISh0
銀行に登録している通りにした方がいいと思う。
俺はカナを使っている部分だけカナにして、漢字の部分はアルファベットのままにした。
それより問題は全銀コードじゃないのか。
440名称未設定:2012/03/11(日) 22:03:01.58 ID:VN9iFWVq0
絵師さん大募集!!
アプリに使用する絵を書いてみませんか?
可愛い女の子、部屋などの背景などなど

詳しくは
vipでiphoneアプリ作ってランキング1位目指そうぜwwwwww
ttp://hayabusa.2ch.net/test/read.cgi/news4vip/1331468220/

スレ違いすいません
441名称未設定:2012/03/11(日) 22:09:05.49 ID:h7VjmP+w0
今、ユーザに文字入力させて、それをplistに保存してテーブルに表示させる
って感じのアプリを作っているんですが、plistにどういった形式で保存させるかわかりません。(Array?Dictionnary?)
もし、良サイトや良いサンプル知っている方いましたら教えてください。お願いします!
442名称未設定:2012/03/11(日) 23:05:26.99 ID:cx2NV4Bz0
>>441
googleでiphone plist で検索すると普通に引っかかるしそれ見るかぎりじゃ
辞書形式っぽいけど?
443名称未設定:2012/03/12(月) 07:28:22.34 ID:oe+kPVqN0
>>441
保存先のディレクトリはNSFileManagerかNSUserDefaultで取得。
NSStringとかNSArrayとかNSDictionary等のwriteToFile: atomically: で保存
444名称未設定:2012/03/12(月) 11:16:26.68 ID:aJISF/Ql0
アプリ起動中に時間で待機状態に入らないようにしたいのですが、
どうしたいいですか?
445名称未設定:2012/03/12(月) 11:49:31.88 ID:uq4GjZHc0
>>444
どうしたいかは自分で決めましょう。
446名称未設定:2012/03/12(月) 11:58:04.78 ID:+eM0SpQ90
Waiting fo review からIn reviewになるまでの期間は、7日〜10ぐらいですか?
447名称未設定:2012/03/12(月) 12:00:04.74 ID:MtgSIdOv0
こないだは7日だった
448名称未設定:2012/03/12(月) 12:05:41.01 ID:+eM0SpQ90
>>447
そうなんですか。
レスありがとうございます。
449名称未設定:2012/03/12(月) 12:12:03.56 ID:wnH54OX20
モーダルではないUIAlertViewのような半透明のウインドウを出してるアプリ(bb2cとか)を見かけますが、
あれはUIAlertViewをカスタマイズして実現してるんでしょうか?
他にUIKitで使えるクラスが用意されてるのでしょうか?
450名称未設定:2012/03/12(月) 12:33:22.58 ID:wEXe8YIsP
UIViewのバックグラウンドカラーのアルファ値
451名称未設定:2012/03/12(月) 12:49:10.55 ID:wnH54OX20
>>450
角がまるかったり、背景にグラデーションもかかってるから、
アルファだけじゃないと思うのですが。
452名称未設定:2012/03/12(月) 12:53:00.81 ID:oe+kPVqN0
自分で作れば良いじゃん。
453名称未設定:2012/03/12(月) 13:04:03.86 ID:wnH54OX20
>>452
iPhoneの他のインターフェイスと統一感を持たせたいので、
自分で画像を用意するのは避けたいです。
454名称未設定:2012/03/12(月) 13:07:28.96 ID:e6wyhq9Z0
iPhoneでモーダルではないってどういう状態だろ
455名称未設定:2012/03/12(月) 13:14:32.26 ID:TfK3f/u70
見た目にこだわる時はかえって画像で作った方が楽だよ
456444:2012/03/12(月) 13:38:35.52 ID:728SLneF0
>>445
意味が分かりません。
457名称未設定:2012/03/12(月) 13:50:05.40 ID:ECDZ4BCH0
>>456
自分の質問の文章よんでみ、そこから来てるんじゃ?
ちょっとググったが10秒で
http://tonby.sakura.ne.jp/?p=435
こういうの見つかるが、、、試してはいないが。
458名称未設定:2012/03/12(月) 14:06:21.32 ID:UWbZVDVkP
>>453
キモチはわからんでもないが、すくなくともUIKitにゃお望みのことを実現するクラスは無い。
UIViewを駆使するぐらいしか方法が思いつかないのだが。
459名称未設定:2012/03/12(月) 14:36:39.48 ID:u+aMhYIt0
>>454
別のViewの上にaddSubviewで
UIAlertViewと同じ見た目のViewを表示したいのです。
presentModalViewControlerで表示するような感じではなく。

>>455,458
ご意見、ありがとうございます。
UIAlertViewをモードレスにする方法、
もしくはUIAlertViewが使用している背景画像を参照する方法を調べるためにあと少しだけ悪あがきして、
それでもだめだった場合は、素直にUIViewで実現しようと思います。
460名称未設定:2012/03/12(月) 14:42:55.68 ID:wEXe8YIsP
あれは大きさ変わるからCoreGraphicsで描いてるのでは?
461名称未設定:2012/03/12(月) 14:50:06.48 ID:oe+kPVqN0
CALayerのcornerRadiusとborder、CAGradientLayerあたりで作れるんじゃね?
UIViewのサブクラスだけどね。
462444:2012/03/12(月) 14:56:23.17 ID:aJISF/Ql0
>>457
ありがとうございますm(_ _)m
まさにやりたかったことです。助かりました!
463名称未設定:2012/03/12(月) 15:02:46.25 ID:qSRvv8w+0
>>460
ありがとうございます!
ググったらRoundRectもグラデーションも数行のコードで実現できるみたいで目から鱗です!
うれしい!このスレで質問させてもらえて良かった!!
464名称未設定:2012/03/12(月) 15:21:08.07 ID:Zpc0MepT0
すみません、Xcode4.2以降のキャッシュのクリアって
どこで行えばいいのでしょうか?
4.2以前はメニューのXcode内にあったと思うのですが・・・
465名称未設定:2012/03/12(月) 15:53:44.70 ID:vQuxN8il0
>>464
Product メニューの Clear のこと? キャッシュのクリアとは違うけど…。
466464:2012/03/12(月) 16:47:11.30 ID:Zpc0MepT0
http://nanoca.me/relaxtyle/blog/2010/10/xcode.html
Xcode メニューのXcode > キャッシュを空に
これの事ですね、昔のバージョンにはあるみたいなのですが
Cleanだと、ファイルの更新が上手くいかないみたいなんですよね・・・
467名称未設定:2012/03/12(月) 17:14:14.79 ID:vy5srnoQ0
>>466
/Users/***/Library/Developer/Xcode/DerivedData
これかな?昔のバージョンを知らなくて・・・
つい半年前から勉強し始めたばかりなんですいません;;
ちなみにosは10.6です
468名称未設定:2012/03/12(月) 17:57:00.65 ID:DfUOQWKg0
textfieldに絵文字が入力された時を検知したいのですが
どのような方法をとればいいでしょうか
469名称未設定:2012/03/12(月) 18:05:19.26 ID:vQuxN8il0
>>468
UITextFieldDelegate の textField:shouldChangeCharactersInRange:replacementString: で、
引数 string に絵文字が含まれてるか調べる。
470名称未設定:2012/03/12(月) 19:12:04.30 ID:cD/KkdVg0
スミマセン
NSTimerを使ってIBに配置した部品を動かすと、別のUITextFieldをスクロールなどしている間、NSTimerで動かしている部品の動きが止まってしまいます。他の部品の操作に関わらず、NSTimerで一定時間おきに処理をさせるにはどうすればいいのでしょうか?
471名称未設定:2012/03/12(月) 19:29:48.19 ID:vQuxN8il0
>>470
NSRunLoopCommonModes
または、アニメーション的な処理なら CADisplayLink を使うといいかも。
472名称未設定:2012/03/12(月) 19:52:45.58 ID:cD/KkdVg0
>>471
ありがとうございます!
NSRunLoopCommonModesで出来ました!
CADisplayLinkについてもあとあと使うかもしれないので調べて見ます。
473sage:2012/03/12(月) 20:38:16.65 ID:9QC0AZ5q0
質問です
アプリの売上がAppleから振り込まれるのはいつごろですか?
例えば2月分の売上は何月ごろもらえるんでしょうか。
474sage:2012/03/12(月) 20:51:34.63 ID:9QC0AZ5q0
↑自己解決
FAQに書いてあった
締めから45日以内か
475名称未設定:2012/03/12(月) 20:58:45.65 ID:y4u3/tZ70
質問です。
ios5.1に対応すべく最新のxcodeにアップデートをしました。
NSLOGなどでログエリアに日本語を表示するメソッドがあるのですが、
実機テストで日本語が文字化けしてしまいます。
シミュレーターではちゃんと日本語表示されているし、
xcode4.2では実機テストでもログに日本語表示されていたので、訳が分かりません…
何か設定が必要でしょうか?
詳しい方よろしくお願いします。
476名称未設定:2012/03/12(月) 22:37:54.73 ID:Lpn/jIrw0
NSLOGなどでログエリアに日本語を表示するメソッド
とやらのの内容は貼れないのだろうか。
NSLOGって、NSLogのことだろうか。それともマクロかなんかだろうか。
ログエリアってなんだろう。デバッグエリアの出力領域のことだろうか。

あ、独り言だから気にしないでね。
477名称未設定:2012/03/12(月) 22:42:54.24 ID:e6wyhq9Z0
ちょっと試してみたらNSLog()に渡す文字列に日本語入ってると実機の時だけ何も出なかった。
普段日本語入れる習慣ないから気づかなかったけど。
Lion+xcode4.2.1
478名称未設定:2012/03/13(火) 00:14:42.74 ID:gCbTEd9s0
なぜログに日本語を表示したいの?(燃料)
479名称未設定:2012/03/13(火) 00:29:21.40 ID:jGM0uiPt0
>>478
ログだとそこにあり簡単に出せるし、本来日本語も正常に出るものだから
ログを全く使わないというなら別だが、日本語だと問題があることもあるので積極的には使わない/全く使わないというのであれば、>>475 のような質問は根本的におかしい
という返答でいかがでしょうか?
480名称未設定:2012/03/13(火) 00:30:25.83 ID:jGM0uiPt0
>>479
×>>475 のような質問は根本的におかしい
>>478 のような質問は根本的におかしい
481名称未設定:2012/03/13(火) 01:29:47.97 ID:wHopDy2j0
そろそろ配列のログちゃんとして欲しい。。
482名称未設定:2012/03/13(火) 01:30:12.99 ID:wHopDy2j0
失敬さげ
483名称未設定:2012/03/13(火) 01:31:58.23 ID:cu8TQ7Mr0
日本語は諦めるのと同時に出力を当てにしないでUIに表示するのを優先しておけばいい
484名称未設定:2012/03/13(火) 01:37:05.84 ID:JqSWufvc0
実機画面にログを出す汎用クラスでも作れば良い。
[obj initWithLog:@"べろべろばあ"];
485名称未設定:2012/03/13(火) 01:37:49.96 ID:SSENmxm/0
積極的に日本語でログを出さなくても、データに日本語入ってて、それをちょっと確認したい事もあるだろうし。
486名称未設定:2012/03/13(火) 01:51:12.00 ID:wpKFtvjg0
>>475
最新 Xcode ではデフォルトのデバッガが LLDB になってるけど、
それだと実機で日本語が出なかった。GDB にしたら出たよ。
(Debugger Output の出力も違うし…)
487開発者あるある:2012/03/13(火) 10:22:35.69 ID:D02RUHcT0
こんなん@property宣言するだけじゃん
と思ったらint配列だったので素直にsetter getterを作る
488名称未設定:2012/03/13(火) 10:28:59.08 ID:yLDJoYCn0
>>469 ありがとうございます
絵文字自身はどのようにプログラムで判別すればいいのでしょうか
単独での絵文字の判別、
絵文字と通常文字列が一緒になった文字列で絵文字が含まれているかの判別がわかりません
489名称未設定:2012/03/13(火) 11:30:48.76 ID:wpKFtvjg0
>>488
それを一発で判別する API はなさそうだね。

自分でやる場合、まず enumerateSubstringsInRange:options:usingBlock: で文字列を文字に分解する必要がある。
(絵文字の多くは unichar だとサロゲートペアになるので、characterAtIndex: じゃ駄目。)

それから、各文字が絵文字かどうかを判定する訳だけど、どこまでを「絵文字」とみなすかはアプリによるので、
http://ja.wikipedia.org/wiki/Unicode6.0%E3%81%AE%E6%90%BA%E5%B8%AF%E9%9B%BB%E8%A9%B1%E3%81%AE%E7%B5%B5%E6%96%87%E5%AD%97%E3%81%AE%E4%B8%80%E8%A6%A7
あたりを参考にして自分でテーブル作るしかないんじゃないかなぁ。
(Unicode には、いわゆる日本の携帯絵文字以外にも、各国の絵文字っぽい記号がいろいろ入ってるからね。雪だるまとか。)
490名称未設定:2012/03/13(火) 11:39:27.98 ID:jGM0uiPt0
>>484
obj はすでに alloc しているのですね。なかなか凝った書き方しますね
491名称未設定:2012/03/13(火) 12:21:15.82 ID:9TnQb8an0
>>484
質問に答える側のレベルじゃないだろ
492489:2012/03/13(火) 12:47:30.29 ID:wpKFtvjg0
>>488
補足。iOS 4 と 5 では絵文字の文字コードが変わったみたいだね。
ここの Unified が iOS 5 で、Softbank が iOS 4 らしい。
http://code.iamcal.com/php/emoji/
493名称未設定:2012/03/13(火) 12:52:03.34 ID:ffvh95IHP
ここは自称中・上級者の頓珍漢な回答をニヤニヤしながら眺めるスレだからな
494名称未設定:2012/03/13(火) 13:07:44.45 ID:yLDJoYCn0
>>489 >>492 ありがとうございました
495名称未設定:2012/03/13(火) 13:11:38.78 ID:/Zxq2Tym0
すいません。ログの見方を教えて下さい。
2012-03-13 12:30:33:19.072 ABC[1234:456] @@@@
とあったら[1234:456]はスレッドだと思うんですが、
1234と456はどういう関係ですか?

今試してるコードが[1234:456](メインスレッド)が[1234:abc]のスレッドに足を引っ張られてる様なのでそれを解消したいのですが、
ヒント下さい(>_<)
496名称未設定:2012/03/13(火) 13:31:31.63 ID:SSENmxm/0
プロセスIDと、スレッドを区別する値
497名称未設定:2012/03/13(火) 13:46:39.20 ID:C1Zfe32R0
>>495
プロセスIDとスレッドIDだと思うけど。
子スレッドがCPUを掴みっぱなしなら、メインは止まると思うが。
498名称未設定:2012/03/13(火) 13:46:43.09 ID:/Zxq2Tym0
>>496さんありがとうございます。
つまり[1234:456]と[1234:abc]は何ら関係はないですね?
自分としては[1234:abc]の作業は全然スピードを要求しないもので、[1234:456]の作業のペースを乱すこと無くやって欲しいのですが、
そんなの無理ですかねf^_^;)
499名称未設定:2012/03/13(火) 13:53:10.09 ID:SSENmxm/0
処理の過程で同期とかが必要ないなら、平行して好き勝手に動くようにプログラムを書けばいいのでは。
500名称未設定:2012/03/13(火) 13:53:13.13 ID:/Zxq2Tym0
>>497さんまさにそんな感じです!
[1234:abc](小スレッド?)のタイミングでメインのメッセージが0.15秒ぐらい遅れて来るんです。

501名称未設定:2012/03/13(火) 13:58:46.73 ID:/Zxq2Tym0
>>499さん
同期の必要は無く平行して進んでるはずなんですが、メインから必要になるつどNSInvocationOperationでスレッド作るからダメなんですかね?
502名称未設定:2012/03/13(火) 14:07:36.10 ID:SSENmxm/0
>>501
それってちゃんとキューに突っ込んで実行してるの?
503名称未設定:2012/03/13(火) 14:13:24.40 ID:/Zxq2Tym0
>>502さんキューはviewdidloadで作ったやつに毎回突っ込んでます。
Logでメインとは別スレッドで動いてるのも確認出来ていて、小スレッドの処理は1秒ぐらいで終っているようです。
ちなみに毎回起きるわけでもないです。
7割起きますがf^_^;)
504名称未設定:2012/03/13(火) 14:27:35.05 ID:SSENmxm/0
じゃあわかんないや。
505名称未設定:2012/03/13(火) 14:42:42.23 ID:9bB4uQhb0
もうちょっと細切れに
506名称未設定:2012/03/13(火) 14:48:46.50 ID:wpKFtvjg0
>>503
NSOperation はよく分かんないけど、setThreadPriority: とか?
507名称未設定:2012/03/13(火) 14:53:59.12 ID:SSENmxm/0
メインでもサブでも親の敵のようにNSLogしまくってるとかw
508名称未設定:2012/03/13(火) 15:01:10.28 ID:/Zxq2Tym0
すいません。setThreadPriority: は私が使ったことないのですが、
恐らくNSInvocationOperationのsetQueuePriorityと同じ意味合いですよね?
それは一様VeryLowにしてます。
509名称未設定:2012/03/13(火) 15:04:29.45 ID:/Zxq2Tym0
>>507さんレスありがとうございます。
一様気にして小スレッドにはログは一切入れてないです。
iPhone オフラインでも再現します(>_<)
510名称未設定:2012/03/13(火) 15:08:29.59 ID:6/UeQttl0
sleep〜でCPUの占有率を下げてもダメなの?
511名称未設定:2012/03/13(火) 15:15:54.30 ID:cy8Il6quP
>>508
ドキュメントによれば、
setQueuePriority: は、一つのキューに複数のオペレーションがある場合の、オペレーション間の優先度で、他のキューやスレッドとは関係ない。
setThreadPriority: は、そのオペレーションを実行するオペレーションのスレッドの優先度で、そのオペレーションが実行されてる間だけ変更される。
512511:2012/03/13(火) 15:24:50.17 ID:wpKFtvjg0
最後の部分が舌足らずだったので補足すると、
オペレーション開始前に setThreadPriority: すると、そのオペレーションを実行する間、そのオペレーションを実行するスレッドの優先度が指定した値になる。
ってことらしいよ。使ったことないけど。
513名称未設定:2012/03/13(火) 15:31:57.88 ID:/Zxq2Tym0
>>510さんつまり小スレッドを一定時間停止させて、その間メインのCPU占有率を上げるということですか?
やってみます(^_^)
514名称未設定:2012/03/13(火) 15:41:41.08 ID:9oLkhK+v0
>>513
わかってると思うけど、whileとかぐるぐるぶん回して待たせたりしたらダメだからね。悪化するから。
ちゃんとNSThreadのsleep〜みたいな用意されてるのを使ってね。
515名称未設定:2012/03/13(火) 15:58:10.95 ID:/Zxq2Tym0
>>514さんsleepForTimeInterval使うとメインスレッドも一緒に止まってしまいました(>_<)
>>512さん丁寧にありがとうございます。
違いは良く理解しました。
ただ使おうと思ったらdoubleの値を指定するようで、何と比べてどのような値を入れればいいのかよくわからないです。
516名称未設定:2012/03/13(火) 16:06:07.58 ID:xLYyuAZA0
質問です。
TableViewのナビゲーションバー上にある[編集]ボタンと[項目追加]ボタンの
[編集]ボタンをタップされた時に[項目追加]ボタンを非表示にして、
編集完了時に[項目追加]ボタンを再表示するには、どうすれば良いのでしょうか?
517名称未設定:2012/03/13(火) 16:07:35.61 ID:SSENmxm/0
ていうか、メインとサブの間で何かリソースを取り合ってるんだと思うけど。
サブの方はなにしてんの?
518名称未設定:2012/03/13(火) 16:09:44.01 ID:YrSbuctR0
>>515
マジですか??
iphoneではスレッドのセオリーがきかないのかな?
あと使えるとしたら、NSRunLoop runUntilDateとかどうでしょ?
519名称未設定:2012/03/13(火) 16:29:43.01 ID:/Zxq2Tym0
>>517さん
サブではメインで溜め込んbufferを消して次にメインが使えるbuffer準備してます。
>>518さん
私がよく理解できてないのでsleepForTimeIntervalの使いかたが悪かったのかもしれません。

結局子スレッドの内容を見直して軽量化したら、遅延も妥協出来る程度になりましたのでこれで解決とします。
私もそろそろスレの占有率を下げますねf^_^;)
本当に皆さんありがとうございましたm(_ _)m
520名称未設定:2012/03/13(火) 16:36:54.78 ID:SSENmxm/0
サブでsleepしたらメインも一緒に止まったっていうのは、
サブが掴んでるものをメインが待ってるか、そもそも並列に動いてないって事だと思う。
解決ならいいけど。
521名称未設定:2012/03/13(火) 16:41:14.24 ID:C8KG1AE50
NSOperationQueue作る時にmainQueue指定してんじゃねーの?
522名称未設定:2012/03/13(火) 16:47:28.35 ID:wpKFtvjg0
>>516
編集ボタンが editButtonItem のことなら、押されたら setEditing:animated: が呼ばれるから、
それをオーバーライドして項目追加ボタンの表示・非表示を切り替えればいいよ。
523名称未設定:2012/03/13(火) 17:08:02.21 ID:a091Dlof0
uiviewcontrollerを使用し画面遷移したさいに自動で作成される戻るボタンについてですが
そのボタンを押されたとき前の画面に戻る前に現在の画面情報を保存したいのですが
どのようにすればよろしいでしょうか?
524名称未設定:2012/03/13(火) 17:11:08.38 ID:RVxUWxpZ0
SDK5.0対応のまま開発用の実機を5.1にアップデートしたら、
開発中のアプリの実機への転送ができなくなりますか?

いまXcodeを4.3に上げられない事情があるので。アプリの5.1対応は
もうちょっとしたらやるつもりですが、実機のiOS5.1は先に試してみたいのです。
525名称未設定:2012/03/13(火) 17:15:26.51 ID:l/InEpvr0
【乞食速報】Android/iOS向けのゲーム開発ツールが65,000円→無料に
http://engawa.2ch.net/test/read.cgi/poverty/1331625779/
526名称未設定:2012/03/13(火) 17:23:02.47 ID:gCbTEd9s0
>>524
できなくなります。
527名称未設定:2012/03/13(火) 17:28:29.88 ID:wpKFtvjg0
>>523
UINavigationController のことだよね?
viewWillDisapper: かな。「戻る」ボタンが押されたときだけじゃないけど。
528名称未設定:2012/03/13(火) 17:33:51.03 ID:RVxUWxpZ0
>>526
レスどうも
しばらくiOS5.1はおあずけになりました。
529名称未設定:2012/03/13(火) 18:05:39.72 ID:OUM/D3Hs0
Xcode4.3のスナップショットがちゃんとRestoreしてくれない時があります
皆さんは安定して使えていますか?
530名称未設定:2012/03/13(火) 18:08:11.34 ID:a091Dlof0
>>527
ありがとうございました
531名称未設定:2012/03/13(火) 18:13:19.54 ID:AoVyHMDD0
スミマセン
ボタンをタップしたときのIBActionでUITextView(可変)を一番下まで強制的にスクロールさせたいのですがどうするのでしょうか?
またUITextViewのスクロールがトップ以外にあるとき、UITextViewの値を変えてしまうと強制的に一番上に戻されてしまうのですが、戻さないように値を変えることは出来ませんか?
(値を変える前のスクロール位置より値を変えた後の底が下にあるなら元の位置を維持し、そうでないなら値を変えた後の底を表示するようにしたい)
532516:2012/03/13(火) 18:21:03.83 ID:xLYyuAZA0
>>522
レスありがとうございます。

>項目追加ボタンの表示・非表示を切り替えればいいよ。
このコードの記述が分からないので質問させて頂きました。
どうすれば良いのでしょうか?
533名称未設定:2012/03/13(火) 18:25:43.46 ID:wpKFtvjg0
>>531
[TextView scrollRangeToVisible:NSMakeRange([TextView.text length], 0)];

>>532
UIBarButtonItem には hidden プロパティがないので、非表示にするには
self.navigationItem.rightBarButtonItem = nil;
かな。表示し直すときのために、元の値を保存しといてね。
534名称未設定:2012/03/13(火) 19:16:31.02 ID:AoVyHMDD0
>>533
ありがとうございます!出来ました。
スクロール位置固定もcontentOffsetを記憶する事で出来ました。
535532:2012/03/13(火) 19:28:56.12 ID:xLYyuAZA0
>>533
レスありがとうございます。
536名称未設定:2012/03/13(火) 19:37:06.13 ID:yt84vbFK0
>>524
出来るよ。現におれがその状態。
appleからXcode 4.3.1のdmgを落としてiOS sdk5.1のファイル群をXcode4.2にコピーするだけ。

詳しくはappleのフォーラムに載ってるよ。
537名称未設定:2012/03/13(火) 19:37:56.74 ID:yt84vbFK0
てかLionはアップする価値無いのでやめときな。
538名称未設定:2012/03/13(火) 19:56:47.71 ID:RVxUWxpZ0
>>536
ども、試してみます

Xcodeのバージョンはともかく、iOS
のSDK>=デバイスは必要なんですね
539名称未設定:2012/03/13(火) 20:21:13.93 ID:Kp1zMyK50
SiriのAPIってアプリから使えるようになる?
540名称未設定:2012/03/13(火) 20:57:55.70 ID:AoVyHMDD0
何度もスミマセン
UITextViewを指でスクロールした後、自動でスクロールし続けている間に、他のボタンを押すなどしてそのスクロールを強制的に止めたいのですが、どうするのでしょうか?
調べて見たところstopAutoScrollメソッドで止められるというページがあったのですが、そのようなメソッドは無いようでした。
scrollRectToVisible animated:NOで同じ場所に強制スクロールさせてみても自動スクロールは止まらないようでした。
541名称未設定:2012/03/13(火) 21:27:30.31 ID:wpKFtvjg0
>>540
[textView setContentOffset:textView.contentOffset animated:NO];
542名称未設定:2012/03/13(火) 22:16:08.06 ID:HGq5TxFS0
>>536
横だが助かった。ありがとう。
543名称未設定:2012/03/13(火) 22:38:39.67 ID:AoVyHMDD0
>>541
おぉ、ありがとうございます!
544名称未設定:2012/03/13(火) 22:51:36.60 ID:icwBH3Bo0
超初心者です。よろしくお願いします。調べてみましたが原因がわからないためここで質問させてください。
教本を読みながら、ボタンを押すとHalloと表示されるアプリをつくってました。シュミレーターで上手く起動できたんですが、何回かためしていたら以下の部分でエラーがでてしまいシュミレーターが起動できなくなりました。プログラムは何も変えていないです。

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

この文の横には Thread 1 : signal SIGABRT と警告が出ています。

下には Couldn't register com.Shun.btnTest with the bootstrap server. Error: unknown error code.
This generally means that another instance of this process was already running or is hung in the debugger.(lldb)  と表示されています。わかる方よろしくお願いします。
545名称未設定:2012/03/13(火) 22:52:09.62 ID:a091Dlof0
すみません>>523についてですがもうひとつ
BB2Cのスワイプで戻る機能のように
下段のツールバーなど他のボタンで戻るボタンを押したことにする方法はないでしょうか?
546名称未設定:2012/03/13(火) 23:23:44.83 ID:wpKFtvjg0
>>545
[self.navigationController popViewControllerAnimated:YES];

ってか、ちょっとは本とかドキュメントとか読もうね。
547名称未設定:2012/03/14(水) 00:08:59.82 ID:RSsQlDRK0
デリゲートのデータ受け渡しがうまくいかないのでどこがおかしいか指摘していただけないでしょうか?
//CafeTable.h◆
#import <UIKit/UIKit.h>
#import "XMLParser.h"
@protocol CafeTableDelegate;
@interface CafeTable : UITableViewController
@property(unsafe_unretained,nonatomic)id<CafeTableDelegate> delegate;
@end

@protocol CafeTableDelegate <NSObject>
-(void)nextViewAndString:(NSString*)URL;
@end
//CafeTable.m◆
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *linkURL=[NSString stringWithFormat:[linkTableArray objectAtIndex:indexPath.row]];
[delegate nextViewAndString:linkURL];
CafeWeb *cafeweb=[[CafeWeb alloc]init];
[self.navigationController pushViewController:cafeweb animated:YES];
}
548名称未設定:2012/03/14(水) 00:12:06.88 ID:RSsQlDRK0
続き
//CafeWeb.h◆
#import <UIKit/UIKit.h>
#import "CafeTable.h"
@interface CafeWeb : UIViewController<CafeTableDelegate>
{
NSURL *url;
}
@end

//CafeWeb.m◆
-(void)nextViewAndString:(NSString*)URL
{
url=[[NSURL alloc]initWithString:URL];
}
-(void)viewWillAppear:(BOOL)animated
{
UIWebView *web=[[UIWebView alloc]initWithFrame:self.view.bounds];
CafeTable *cafetable=[[CafeTable alloc]init];
cafetable.delegate=self;
NSURLRequest *request=[NSURLRequest requestWithURL:url];
[web loadRequest:request];
[self.view addSubview:web];
}

エラーが出なくて逆に困ってますよろしくお願いします。
549名称未設定:2012/03/14(水) 00:31:03.00 ID:A53YKtx70
>>547,548
[delegate nextViewAndString:linkURL];
CafeWeb *cafeweb=[[CafeWeb alloc]init];
[self.navigationController pushViewController:cafeweb animated:YES];

の順番が違うんじゃないの
[delegate nextViewAndString:linkURL] の時の delegate の中身は nil でしょ
といっても、delegateの設定とdeledateメソッド(で得たい情報url)の利用がごっちゃで、目的を間違えているようだから、もういちど考え直した方がいい
550名称未設定:2012/03/14(水) 00:36:25.60 ID:YtgKvJrS0
>>547
デリゲートの使い方がおかしい。デリゲートが何なのか、根本的に分かってない。
ってのは置いといて、そもそもこの場合はデリゲート使う必要ない。

やりたいことは CafeTable で cell を選択したら URL を指定して CafeWeb を開きたいってことだよね。
だったら、CafeTableDelegate や delegate は不要で、CafeTable.m の tableView:didSelectRowAtIndexPath: で
CafeWeb *cafeweb=[[CafeWeb alloc]init];
の後に
[cafeweb nextViewAndString:linkURL];
とすればいいだけ。
551名称未設定:2012/03/14(水) 00:44:35.31 ID:A53YKtx70
だね。なんか無理にdelegate使おうとして、ドツボに嵌っているようだし
CafeTable *cafetable=[[CafeTable alloc]init]; なんて、新しいインスタンスを作るつもりなんて元々無いように見えるし
552名称未設定:2012/03/14(水) 01:03:54.06 ID:RSsQlDRK0
>>549-551
デリゲート使うのにふさわしくない、メソッドでおkは理解してたんですがどうしてもデリゲートを理解したくて。
http://cropcrusher.web.infoseek.co.jp/support-iphone/send_data_2_4.html
このページ見ててdelegate作ったらとりあえず放置でCafeTable.delegate=selfでどこかで名乗り上げて使うもんでおkかと、、

delegateの設定とdeledateメソッド(で得たい情報url)の利用がごっちゃ
↑この部分が少し理解できないのでkwskお願いできないでしょうか??
553名称未設定:2012/03/14(水) 01:48:13.70 ID:YtgKvJrS0
>>552
CafeTable → CafeWeb の順方向へのデータの受け渡しは単なるメソッドでOK。
デリゲートを使う必要があるとすれば、逆方向、つまり CafeTable ← CafeWeb の場合。

例えば、CafeWeb に入力欄があって、入力された値を CafeTable に返したいとする。
//CafeWeb.h◆
@protocol CafeWebDelegate <NSObject>
- (void)setSomeValue:(NSString *)value;
@end
@interface CafeWeb : UIViewController
@property (unsafe_unretained, nonatomic) id <CafeWebDelegate> delegate;
@end
//CafeWeb.m◆
- (void)inputValue(id)sender {
  [delegate setSomeValue:[sender text]];
}
//CafeTable.h◆
#import "CafeWeb.h"
@interface CafeTable : UITableViewController <CafeWebDelegate>
@end
//CafeTable.m◆
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  CafeWeb *cafeweb = [[CafeWeb alloc] init];
  cafeweb.delegate = self;
  [self.navigationController pushViewController:cafeweb animated:YES];
}
- (void)setSomeValue:(NSString *)value {
  NSLog(@"value = %@", value);
}
みたいな感じ。
554名称未設定:2012/03/14(水) 01:56:49.89 ID:YtgKvJrS0
ちなみに、デリゲートを使わずに
//CafeWeb.h◆
@class CafeTable
@interface CafeWeb : UIViewController
@property (unsafe_unretained, nonatomic) CafeTable *cafeTable;
@end
//CafeWeb.m◆
- (void)inputValue(id)sender {
  [cafeTable setSomeValue:[sender text]];
}
//CafeTable.h◆
@interface CafeTable : UITableViewController
@end
//CafeTable.m◆
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  CafeWeb *cafeweb = [[CafeWeb alloc] init];
  cafeweb.cafeTable = self;
  [self.navigationController pushViewController:cafeweb animated:YES];
}
- (void)setSomeValue:(NSString *)value {
  NSLog(@"value = %@", value);
}
とも書けるけど、CafeTable と CafeWeb がお互いの詳細を知る必要があるので美しくない。
555名称未設定:2012/03/14(水) 02:20:19.32 ID:YtgKvJrS0
「お互いの詳細を知る必要があるので美しくない」と書いたけど、
画面数が少なければ >>554 の書き方で全然構わない。

画面が増えて、例えば CafeMap という地図画面からも CafeWeb を呼び出せるようにしたい場合、
順方向の CafeTable → CafeWeb および CafeMap → CafeWeb はどっちも普通のメソッド呼び出しで構わないけど、
逆方向の CafeTable ← CafeWeb および CafeMap ← CafeWeb のデータの受け渡しが必要な場合、
>>554 みたいに CafeWeb が CafeTable * を持ってると、CafeMap * どうすればいい? ってことになる。

で、>>553 みたいにデリゲートにしておけば、CafeWeb や CafeTable はそのままで
//CafeMap.h◆
#import "CafeWeb.h"
@interface CafeMap : UIViewController <CafeWebDelegate>
@end
//CafeMap.m◆
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
  CafeWeb *cafeweb = [[CafeWeb alloc] init];
  cafeweb.delegate = self;
  [self.navigationController pushViewController:cafeweb animated:YES];
}
- (void)setSomeValue:(NSString *)value {
  NSLog(@"value = %@", value);
}
とすればいいってこと。
556名称未設定:2012/03/14(水) 02:27:09.86 ID:RSsQlDRK0
>>554
id使わずにCafeTableの変数で参照することもできるのですな。
しかし>>553を見てると僕のデリゲートの書き方と一緒(すみませんそう見えます。。)なので
>>547-548の僕のデリゲートの使い方のどこに問題あったのがどうしても気になります。。。
>>554のようにdelegate=cafeTable;とかしなきゃいけなかったのでしょうか?
557名称未設定:2012/03/14(水) 02:44:15.27 ID:YtgKvJrS0
>>556
だから、何度も書いてるように参照の方向が違う。
意味が分かるまではデリゲートなんか使っちゃ駄目。
以上。ねる。
558名称未設定:2012/03/14(水) 02:49:53.34 ID:RSsQlDRK0
>>557
うーむありがとうございます。
559名称未設定:2012/03/14(水) 06:53:20.01 ID:pJhrFEVr0
すみません
NSURLConnectionでリクエストを投げた後、その応答で返って来たCookieの情報を見たいのですがどうすれば良いのでしょうか?
デリゲートしてdidReceiveResponseでresponseをNSHTTPURLResponseにキャストしてallHeaderFieldsの中身を探してみても無いみたいなのです。
560名称未設定:2012/03/14(水) 09:00:51.82 ID:V5B8qjKn0
質問です。

NSMutableArrayのAの要素0番目に(c1,c2,c3)を要素として持つ配列を入れ、
Aの要素1番目に(c3,c4)を要素として持つ配列を入れるには、どうれば良いのでしょうか?
NSMutableArrayのBを使って、下記のようにするとc1,c2,c3がなくなるのではないでしょうか?
//1回目のループ
[B addObject:c1];
[B addObject:c2];
[B addObject:c3];
[A addObject:B];
[B removeallObjects];
//2回目のループ
[B addObject:c4];
[B addObject:c5];
[A addObject:B];
[B removeallObjects];
  :
561名称未設定:2012/03/14(水) 09:42:44.32 ID:YtgKvJrS0
>>560
B は毎回生成する必要があるし、removeAllObjects したら中身が消えちゃうよ。
これでどう?
[A addObject:[NSArray arrayWithObjects:c1, c2, c3, nil]];
[A addObject:[NSArray arrayWithObjects:c4, c5, nil]];
562名称未設定:2012/03/14(水) 09:53:48.09 ID:YtgKvJrS0
>>559
NSHTTPCookieStorage の cookies とか cookiesForURL: とか。
今までに受け取ったすべてのクッキーが取れちゃうけどね。
563560:2012/03/14(水) 10:02:33.52 ID:V5B8qjKn0
>>561
レスありがとうございます。

c1,c2,c3…の個数は可変なので、>>561のコードは使えません。
564名称未設定:2012/03/14(水) 10:17:36.18 ID:YtgKvJrS0
>>563
ならこれで。

//1回目のループ
B = [[NSMutableArray alloc] init];
[B addObject:c1];
[B addObject:c2];
[B addObject:c3];
[A addObject:B];
[B release]; // ARC なら不要

//2回目のループ
B = [[NSMutableArray alloc] init];
[B addObject:c4];
[B addObject:c5];
[A addObject:B];
[B release]; // ARC なら不要

とにかく、[A addObject:B]; したら A に B そのものが追加されるので、その後 B をいじったら、A に追加したやつも変わっちゃうってこと。
565563=560:2012/03/14(水) 11:16:22.00 ID:V5B8qjKn0
>>564
レスありがとうございます。

Bをreleaseしても、Aに追加した「c1,c2,c3を要素に持つ配列」は残っているのでしょうか?
もし残っているとしたら、Bのreleaseって何を解放してるんでしょうか?

566名称未設定:2012/03/14(水) 11:26:03.71 ID:c2ezeUF50
releaseは、解放するんじゃなくて参照カウントを減らすという行為。
実際に解放されるのは、結果として誰も参照していない状態になる時だけ。
567名称未設定:2012/03/14(水) 11:55:50.75 ID:A53YKtx70
>>556
>しかし>>553を見てると僕のデリゲートの書き方と一緒(すみませんそう見えます。。)なので
正直、>>547-548 はまともなコードには見えないよ。一目で。(>>553はいたってまともなコード)
CafeTable -> CafeWeb -> CafeTable -> CafeWeb.... と延々とインスタンスを新たに作り繰り返すものなの?(CafeTable *cafetable=[[CafeTable alloc]init];は放置しているところからとてもそうは見えない)

>delegateの設定とdeledateメソッド(で得たい情報url)の利用がごっちゃ
は、ここ
CafeTable *cafetable=[[CafeTable alloc]init];
cafetable.delegate=self;
NSURLRequest *request=[NSURLRequest requestWithURL:url];
delegate に自身を設定しているけど、url は delegateメソッドで取得できるものだよね。cafetable.delegate=self したからって、nextViewAndString: が勝手に呼ばれるものじゃないよ(というのは [delegate nextViewAndString:linkURL] て自分で書いているからわかるよね)
delegateの「美しい使い方」は ID:YtgKvJrS0 の言う通りだが、あなたは根本的に delegate を(というかObjective-Cを)理解していない

別にあなたを叩いているわけじゃなくて、あなたは何がわからないかわからない状態なのをわからないというのを自覚して、もっと勉強してほしい
568565=563=560:2012/03/14(水) 12:10:31.64 ID:V5B8qjKn0
>>566
レスありがとうございます。
569名称未設定:2012/03/14(水) 12:14:38.06 ID:A53YKtx70
>>567
続き。あなたの望みにちかい形でというなら、

[delegate nextViewAndString:linkURL];
CafeWeb *cafeweb=[[CafeWeb alloc]init];
[self.navigationController pushViewController:cafeweb animated:YES];

CafeWeb *cafeweb=[[CafeWeb alloc]initWithCafeTable:self];
[delegate nextViewAndString:linkURL];
[self.navigationController pushViewController:cafeweb animated:YES];
----- 追加 ----
- (id)initWithCafeTable:(CafeTable *)cafeTable
{
if( (self = [super init]) == nil )
return nil;
cafeTable.delegate = self;
return self;
}
-----
UIWebView *web=[[UIWebView alloc]initWithFrame:self.view.bounds];
CafeTable *cafetable=[[CafeTable alloc]init];
cafetable.delegate=self;
NSURLRequest *request=[NSURLRequest requestWithURL:url];

UIWebView *web=[[UIWebView alloc]initWithFrame:self.view.bounds];
NSURLRequest *request=[NSURLRequest requestWithURL:url];

かな。すんごい無意味だと思うけど(そういう意味でID:YtgKvJrS0の言う参照の方向が違うだと思うけど)
無理にdelegate使って、これが勉強になるとはあまり思えないけど、あなたが勉強になるならとやかくは言わないw


570名称未設定:2012/03/14(水) 12:21:01.95 ID:p005pwQV0
このスレほんわかしてんな〜
571名称未設定:2012/03/14(水) 12:46:01.50 ID:Z92KRRr00
>>570
平和ですよね。iPhone板やApple板とは大違いです。
572名称未設定:2012/03/14(水) 15:10:56.02 ID:rDk/0FRR0
xcodeのアップデートをしたら以下の箇所でleakしてしまうのですがどうしてでしょうか
また、このようなleak箇所はどのように調べればいいのでしょうか
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
573名称未設定:2012/03/14(水) 16:14:36.41 ID:YtgKvJrS0
>>572
その箇所は main 関数と言って、Objective-C のプログラムを動かす時に最初に通るところ。
なので、実際にリークしてるのはそこから呼ばれたプログラムのどこか。(そこで落ちる場合も同様。)
つまり、プログラム全体を見直す必要があるってこと。

「以下の箇所でleakしてしまう」のはどうやって分かったの?
あと、Product メニューの Analyze は実行した?
574名称未設定:2012/03/14(水) 16:21:37.19 ID:pJhrFEVr0
>>562
なるほどクッキーを管理するクラスがあるんですね。
そっちを使う方法を調べてみます。ありがとうございます。
575名称未設定:2012/03/14(水) 16:34:34.66 ID:hzuvUa9q0
>>572
http://www.zero4racer.com/blog/480
これで調べてみよう
576名称未設定:2012/03/14(水) 17:18:52.34 ID:ds0UAEcU0
すいません。didReceiveMemoryWarningがイマイチ掴めないのですが、これが来ると具体的に何が消えるんですか?
例えば、didReceiveMemoryWarningが呼ばれるとviewDidUnloadでreleaseしたものは消えると思うんですが、
viewcontrollerのinitでNSStringを初期化してそれをviewDidUnloadでreleaseしなかったら、didReceiveMemoryWarningが来てもNSStringが使え続けたりします?
577名称未設定:2012/03/14(水) 17:28:23.85 ID:hzI5owIhP
>>576
デフォルトでは self.view が消えて、その結果として viewDidUnload が呼ばれる。
self.view の配下にあるサブビューは、後で xib から生成されるだろうから、viewDidUnload で消す。
(取って置いて再利用できないこともないけど。)
それ以外に消したいものがあれば自分で消す。つまり、NSString は自分で消さなきゃ残ってる。
578名称未設定:2012/03/14(水) 17:51:20.41 ID:rDk/0FRR0
>>573 >>575 ありがとうございます
もう一つお聞きしたいのですが
Analyzeで一カ所青いアイコンが表示されたのですが
直接アイコンがさしているコードにジャンプすることはできないでしょうか
目視ですべてのコードの青いアイコンを探したのですがみつかりません
579名称未設定:2012/03/14(水) 18:06:54.64 ID:hzI5owIhP
>>578
青いアイコンを押してみれば?
580名称未設定:2012/03/14(水) 18:39:58.09 ID:rDk/0FRR0
>>579 ありがとうございました
よく確認していませんでした 左に一覧が出てました
リーク場所が特定できていないのですが
main 関数でのリークでリークオブジェクトが以下のようになっているのですが
この情報から手がかりなど得られないでしょうあk

Leaked Object # Address Size Responsible Library Responsible Frame
Malloc 48   Bytes,1 0x7fa8c90 48 Bytes libsystem_c.dylib strdup
581名称未設定:2012/03/14(水) 18:49:44.20 ID:82R0LUNg0
>>544
誰かよろしくお願いしますm(_ _)m
582名称未設定:2012/03/14(水) 18:57:56.80 ID:WlYkfikb0
LocalNotificationで設定した音声が
iOS5だと通知ダイアログからアプリ起動しても
音声が停止しないんですが停止する方法ないですかね。
[キャンセル]押しても停止しないですね。

iOS4のときは停止してたはずなんですが。。
583名称未設定:2012/03/14(水) 19:07:59.58 ID:A53YKtx70
>>581
とりあえず>>573,575
584名称未設定:2012/03/14(水) 19:13:35.65 ID:A53YKtx70
>>581,583
と思ったら、
another instance of this process was already running
なのね。はてさて
Xcodeを終了する、iPhone Simurator を終了する、ログアウトする、Macを再起動すると、そういうことは起こらないとかなの?
585名称未設定:2012/03/14(水) 19:19:10.19 ID:82R0LUNg0
>>583
>>584
コメントありがとうございます。

Macを再起動すれば治ります。しかし、しばらくすると再度エラーになってしまいます。プログラムなどは何も変えていません。よろしくお願いしますm(_ _)m
586名称未設定:2012/03/14(水) 19:21:55.29 ID:A53YKtx70
>>581,584
iPhone Simulator は終了しても常時スリープにしかなんないみたいなので、
ホームボタンをダプルクリックで動いているアプリを消す、
iOS Simulator メニューの Reset Content and Settings.. をする(本当にリセットしやがる)
なんぞも

>>585 うーむ、怪しいプロセスをアクティビティモニタで探して殺す。の前にホームボタンをダブルクリックを試してみるかな
587名称未設定:2012/03/14(水) 19:24:18.08 ID:ds0UAEcU0
>>577さんありがとうございます。
新たに疑問なんですが、消されviewを再構築するのに-initWithNibNameが再度呼ばれたりしますか?
588名称未設定:2012/03/14(水) 19:25:46.38 ID:82R0LUNg0
>>586
ありがとうございます。試してみます^^
589名称未設定:2012/03/14(水) 19:35:46.38 ID:YtgKvJrS0
>>587
initWithNibName:bundle: で指定した xib ファイルが使われるだけで、
initWithNibName:bundle: そのものが何度も呼ばれることはありません。
590名称未設定:2012/03/14(水) 19:41:27.12 ID:ds0UAEcU0
>>589スッキリしました!
ありがとうございますm(_ _)m
591名称未設定:2012/03/14(水) 21:07:30.56 ID:rDk/0FRR0
以下のコードがleakしているのですが、なにがいけないのでしょうか

NSString *tempText = [myTextView.text stringByReplacingCharactersInRange:newRange withString:replaceText];
myTextView.text= tempText;
592名称未設定:2012/03/14(水) 22:05:29.70 ID:v5NK+V84P
UIWindowの任意の座標にあるUIViewを取得する処理を書きたくて
このようなテストコードを書いたんですが、
なぜかUIWindowに対するhitTestの結果がnullになってしまいaViewを取得できません。。
なぜでしょう??

// ウィンドウ作成
UIWindow *window = [[UIWindow alloc] initWithFrame:CGRectZero];
window.frame = CGRectMake(0.0, 0.0, 500.0, 500.0);

// ビューを作成
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 100.0)];
[window addSubview:aView];

UIView *theView = [window hitTest:CGPointMake(50, 50) withEvent:nil];
NSLog(@"%@", theView); // ← nullになってしまう
593名称未設定:2012/03/14(水) 22:08:54.71 ID:V5B8qjKn0
「連絡先」アプリの入力・編集画面のような画面(テーブルのグルーピング表示のようなデザインで
個々のフィールドに見出しが有ってデータが入力できる)は、
どういうUI部品を使えば作れるのでしょうか?
594名称未設定:2012/03/14(水) 22:31:01.72 ID:A53YKtx70
>>592
ヒットテストの前に
[window makeKeyAndVisible];
595名称未設定:2012/03/14(水) 22:44:31.79 ID:RSsQlDRK0
>>569
申し訳ないです。自作デリゲートは参考書などにもあんまりいい例文がなくて
一度ぐちゃぐちゃでいいんで成功例が欲しかったもので。ありがとうございます。
596名称未設定:2012/03/14(水) 23:04:17.97 ID:v5NK+V84P
>>592
それだとなぜかiPhoneの画面にUIWindowが表示されちゃいます。
ちなみに、今確認したらUIWindowのに1枚baseView(FrameはUIWindowと同じ)を入れて
その上にaViewを入れて、baseVIewにhitTestしたら無事にいけました。
ありがとうございました
597名称未設定:2012/03/14(水) 23:18:28.15 ID:CLkIzDO/0
UIViewControllerのサブクラスをinitWithNibNameで初期化したのですが、
インスタンスは生成されたのに
IBOutlet接続しているプロパティは
すべてnilになってしまいました。
なにか見直すべき点はないでしょうか?
これまで、同じやり方でうまくいってたので、戸惑っています。
598名称未設定:2012/03/14(水) 23:41:39.18 ID:Ct0KDKF00
スミマセン。
NSTimerについてですが、scheduledTimerWithTimeInterval: target: selector: userInfo: repeats:でインスタンス生成したあと、すぐ動き出されては困るので
[timer invalid];
しておいて、後で必要になったときに
[timer fire];
で動き出させようとしたのですが、動き出してくれません。
Timerを動かすときには毎回scheduledTimerWithTimeInterval: target: selector: userInfo: repeats:でタイマーを新規生成してやらないといけませんか?
また、同じtimer にtimer = [NSTimer scheduledTimerWithTimeInterval:interval target:self selector:@selector(method) userInfo:nil repeats:YES];
と何度もやっていたら使い終わったNSTimerが大量生成されたりしないのでしょうか?
599名称未設定:2012/03/14(水) 23:46:09.81 ID:YtgKvJrS0
>>597
view プロパティにアクセスしないと xib ファイルは読み込まれないよ。
普通は setRootViewController: とか pushViewController:animated: とか presentModalViewController:animated: とかに
view controller を渡した時に view が呼ばれるけど、その前に IBOutlet にアクセスしたければ
[self view]; を自分で呼ぶ必要がある。
600名称未設定:2012/03/14(水) 23:52:09.82 ID:YtgKvJrS0
>>598
NSTimer は使い捨て。invalidate したら再利用はできないよ。
scheduledTimerWithTimeInterval:... は生成と同時にタイマーを開始する便利メソッドだから、
生成と開始を分けたかったら timerWithTimeInterval:... で生成して、
[NSRunLoop currentRunLoop] に addTimer: すればいい。
601名称未設定:2012/03/15(木) 00:30:08.41 ID:m6Aldxc/0
>>600
ありがとうございます。invalidateしたらもう一度作り直さないといけないのですね。
ちなみに、使い終わったらinvalidateしないといけないのでしょうか?
invalidateしないでさらに[NSTimer scheduled...]を代入したところ、それをinvalidateしても、前のタイマーが生きているのか、selectorで指定したメソッドが呼び出され続けました。
この場合、この生きているタイマーにアクセスするすべが無いと思いますが、これがいわゆる「メモリがリークしている」という状況なのでしょうか?
また、これを防ぐためには、新しくtimer = [timer scheduled...]を行う前に、if ([timer isValid]) [timer invalidate];を行えば良いのでしょうか?
ARCをオンにしているため、release等が書けないのですが、前のタイマーは開放されるでしょうか。

また、timerを一時止めて(suspend)、後で再開(resume)したい場合、
suspendでinvalidateする前に状態を他のところに保存しておき、
resumeで前の状態を元に新しくタイマーを作って見かけ上再開したようにみせるか、
suspendと言いながら実は処理をしないようにフラグを立てておいてtimerはそのまま走らせ、
resumeでそのフラグをオフにするといった感じになるのでしょうか?
602名称未設定:2012/03/15(木) 00:59:32.31 ID:nRe/WXKL0
>>601
repeats:YES で生成したタイマーは不要になったら invalidate する必要があります。
その際、timer = nil; とすれば ARC の場合は自動的に release されます。
また、NSTimer には suspend も resume もないので、一時停止の際にも invalidate して、
再開するには新しく生成し直すことになります。
フラグを立てて無視するってのは美しくない気がするなぁ。
「再利用できない」って時点で、NSTimer の生成や解放は気軽にやっていいと解釈していいと思います。
それより、用もないのに fire させる方が電池の無駄です。
603名称未設定:2012/03/15(木) 01:02:08.78 ID:i3fC73lB0
>> 597
xibで、UIViewControllerのクラスのプロパティと結び付けてるとnilになることがあります
そうではなく、File's Ownerに結び付けるとうまくいったことがありました
604名称未設定:2012/03/15(木) 01:03:49.22 ID:PJrjIug70
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15

ボタンを押すたびに斜めに(0,1,4,2,5,8)
みたいに処理したいのですが
例文おねがいします。
605名称未設定:2012/03/15(木) 01:04:54.67 ID:i3fC73lB0
質問です。
ステータスバーを含めた、スクリーン上でのUIViewの位置を取得する便利な方法ってありますか?
606名称未設定:2012/03/15(木) 01:05:35.61 ID:PJrjIug70
すいません。sage忘れてしまいました。
607名称未設定:2012/03/15(木) 01:07:43.93 ID:3G8BoCy/0
>>604
昨日プログラム板のC言語の入門スレでよく似た質問が出てた。
608名称未設定:2012/03/15(木) 01:15:18.58 ID:nRe/WXKL0
>>601 って >>470 かな?
CADisplayLink には paused プロパティがあるよ。
タイマーの目的がアニメーション的な処理なら、CADisplayLink 使った方がいいかも。
609名称未設定:2012/03/15(木) 01:22:14.48 ID:PJrjIug70
>>607
ありがとうございます。
610名称未設定:2012/03/15(木) 01:23:33.49 ID:nRe/WXKL0
>>605
convertPoint:toView: の toView に nil を指定して UIWindow での座標を取得して、
さらに convertPoint:toWindow: すればいいっぽい。試してないけど。
http://stackoverflow.com/questions/1465394/iphone-get-position-of-uiview-within-entire-uiwindow
611名称未設定:2012/03/15(木) 01:42:16.00 ID:m6Aldxc/0
>>602
ありがとうございます。
メモリを開放させるためにはnilの代入もしないといけないのですね。
今のところは、suspendとresumeは実装してないのですが、
確かに、裏で動かし続けるのはバッテリの無駄なので、
実装する際には新しく作り直す方でやってみたいと思います。
>>608
ありがとうございます。お察しの通りです。
CADisplayLinkは調べてみたのですが日本語のサイトがあまりでてこなくてよくわかりませんでした。
何をやりたいかと言うと,UILabelを継承してUINotificationクラスを作り、
表示位置とか表示時間とか消失にかかる時間とかフレームレートとか与えて、通知を出したいのです。
ツイッタークライアントとかで良くあるアレです。
今のところ、runしたらalpha=1にしてタイマーセット、タイマーでメソッドが呼び出されるたびにalpha減らして・・・という感じでやってます。
そういった目的なら、CADisplayLinkの方がいいんでしょうかね・・・。
612名称未設定:2012/03/15(木) 02:03:36.41 ID:nRe/WXKL0
>>611
そういうことなら自分でタイマー制御なんかせずに Core Animation を使うべきだし、
既存の HUD クラスを使えばいいんじゃない? MBProgressHUD とか SVProgressHUD とか。
613名称未設定:2012/03/15(木) 02:05:14.27 ID:3G8BoCy/0
UIViewのanimateWithDuration:animations:completion: あたりで出来そうな予感が
614名称未設定:2012/03/15(木) 02:11:43.90 ID:m6Aldxc/0
>>612
うぁー。そうなんですか。
現状で動くから良いやーと思いたいのですが、他人が使うかも知れない以上、そうは問屋が卸さないですよねぇ。
Core AnimationもMBProgressHUDもSVProgressHUDも初耳句で一気にドバーッと出て来て心が折れそうなのですが、
どうにかこうにかやってみます。ありがとうございます。
615名称未設定:2012/03/15(木) 02:42:43.79 ID:nRe/WXKL0
>>614
HUD はともかく Core Animation 知らないってやばいよ。
使い方は、label の alpha を 0.5 秒かけて 0 にしたければ、>>613 が言う通り、
[UIView animateWithDuration:0.5
    animations:^{ label.alpha = 0; }
    completion:^(BOOL finished) { /* アニメーション終了時の処理 */ }];
でいいはず。(ブロックの書き方で悩みそうだけど…。)
616名称未設定:2012/03/15(木) 02:54:21.34 ID:3G8BoCy/0
ちなみにユーザが操作してる最中なんかだと、
animateWithDuration:delay:options:animations:completion:
ていうのでoptionsにUIViewAnimationOptionAllowUserInteractionを
指定しないとスムーズに動かないよ。
617名称未設定:2012/03/15(木) 03:18:03.22 ID:i3fC73lB0
>>610
こんな便利なメソッドがあったとは・・・ UIViewのメソッドもう一度見直します。
ありがとうございました!
618名称未設定:2012/03/15(木) 03:23:47.11 ID:am3jM+Ig0
>>599
ありがとうございます。おかげで、これまではviewDidLoadでコントロールに値を代入していたのを、
もっと前の段階にずらしたのが原因だったことに気がつきました。
>>603
ご回答ありがとうございました。
619名称未設定:2012/03/15(木) 08:16:16.32 ID:AAXx1bYI0
質問です。
インスタンス変数の使い方が間違っているのだと思いますが、
下記のviewDidLoadで作成した配列を
numberOfSectionsInTableViewで見れるようにするためには
どうすれば良いのでしょうか?

//ヘッダーファイル
NSMUtableArray *gNames;

//実行ファイル
- (void)viewDidLoad{
NSMUtableArray *gNames=[[NSMutableArray alloc] init];
for 〜 {
//次のステートメントで
//「Local declaration of'gNames' hides instance variable」の
//ワーニングメッセージが表示される
[gNames addObject:x];
:
}
NSLog(@"登録件数:%@",[gNames count]); //7件(実際の登録件数)と出力される
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
NSLog(@"見出し件数:%@",[gNames count]); //0件と出力される
}
620名称未設定:2012/03/15(木) 08:29:17.63 ID:tRg3k00E0
>>619
NSMUtableArray *gNames=[[NSMutableArray alloc] init];


gNames=[[NSMutableArray alloc] init];

に変更
621名称未設定:2012/03/15(木) 09:48:28.87 ID:Q8zmBKvu0
Payments and Financial Reportsが1ヶ月以上たったけど反映されない。
salesのInappには反映されているんですが・・・
反映されるまでそんなに時間かかりますか?
622名称未設定:2012/03/15(木) 09:50:56.95 ID:7i3CdhPg0
>>607
マルチなのか、学校の課題なのか。
623名称未設定:2012/03/15(木) 10:07:14.04 ID:MRWYEvf20
ユーザーコード以外の場所でリークしているのですが,以下のleak情報は何を意味しているのでしょうか
Event Type:Malloc Responsible Library:libsystem_c.dylib Responsible Caller:strip
624619:2012/03/15(木) 10:18:07.69 ID:AAXx1bYI0
>>620
レスありがとうございます。
625名称未設定:2012/03/15(木) 10:56:55.03 ID:nRe/WXKL0
>>623
strip って関数で malloc したものが leak してると言ってるけど、
そんな関数あったっけ? もしかして >>580 の strdup?

Instruments の Extended Detail で、どこから呼ばれてるか確認して。
http://blog.elearning.co.jp/archives/15174.php
626名称未設定:2012/03/15(木) 11:51:12.43 ID:MRWYEvf20
>>625 ありがとうございます 昨日も質問しました
Extended Detail ではmain関数でリークしています
怪しい自作のメソッドをひとつひとつとめて確認すると
以下のコードが含まれるメソッドを止めるとリークが止まったのですがどこがいけないのでしょうか
NSString *tempText = [myTextView.text stringByReplacingCharactersInRange:newRange withString:replaceText];
myTextView.text= tempText;
627名称未設定:2012/03/15(木) 12:04:57.75 ID:atnHUvCGP
>>626
iOSデバッグ&最適化技法 という本を読むのがオススメ。
NSString で返されるオブジェクトはautorelease済みのものが多い事といつ誰がretainしたかなどを知る術が書いてある
628名称未設定:2012/03/15(木) 19:53:56.27 ID:AAXx1bYI0
質問です。
TableVIewで、選択されたセルの画像を変える場合、
画像を変える処理をした後、
表示中のセルを再描画(変えた画像を表示)させる方法を教えて下さい。
(選択されたセルのtableView:cellForRowAtIndexPath:が再度呼ばれる方法です)
629名称未設定:2012/03/15(木) 20:25:30.08 ID:tRg3k00E0
Reloading the Table View
– reloadData
– reloadRowsAtIndexPaths:withRowAnimation:
– reloadSections:withRowAnimation:
– reloadSectionIndexTitles
630名称未設定:2012/03/15(木) 21:18:01.38 ID:2t88dBBX0
>>615
そうなのですか。
いま読んでる本には、アニメーション関連はUIImageViewの機能startAnimatingと、NSTimerを使ったアニメーションと、
[UIView beginAnimation:nil context:nil]〜[UIView commitAnimation]を使う方法が載っていて、
他の部分ではこっちを使っている箇所もあるのですが、調べたところこれが、iOS 4以降では非推奨となって、
[UIView animateWithDuration:・・・]
を使えという事になったのですね。
beginAnimation〜commitAnimationを使ってなら、書けると思うのですが、
これをブロックに直す方法が分からないので、調べてみようと思います。ありがとうございます。
631名称未設定:2012/03/15(木) 22:20:49.85 ID:O0+3mrJfP
OpenGLESの雛型を使ってアプリを作っております。
今までGoogleMapを使ったアプリ等は作ったことがあるのですがOpenGLESは初めてです。

WebViewを表示するコントローラーをプログラム内で呼び出すと
selfがない?みたいなエラーが出てしまいます。
(navigationControllerを使わないでアプリを使っている為?)

// 表示イメージ(OpenGlループ内でボタンを押された時に一回だけ呼ばれる関数に書いております)
WebViewController *nextView = [[WebViewController alloc] init];
nextView.link = @"http://www.Web-navi.jp/test/Web_001.mp4";
[[self navigationController] pushViewController:nextView animated:YES]; // ここでエラーが出る
[nextView release];

どのように実装するのが正しいのでしょうか。
表示の仕方は遷移出来ればモーダル等でも構わないと考えております。
632名称未設定:2012/03/15(木) 22:29:41.80 ID:nRe/WXKL0
>>631
・エラーメッセージは勝手に意訳せずに、コピペすること
・ここにある「iOS View Controller プログラミングガイド」を読むこと
 https://developer.apple.com/jp/devcenter/ios/library/japanese.html
・navigationController を使ってないなら当然 pushViewController:animated: は使えない。
 代わりに presentModalViewController:animated: または presentViewController:animated:completion: を使うべき。
・OpenGLES 関係なくね?
633名称未設定:2012/03/15(木) 23:00:22.32 ID:ciPKKEMt0
質問です。
起動したらbaseというviewを単にくるくるとエンドレスで回転させたいだけのアニメーションをつくりたいのですが、
- (void)viewDidLoad
{[super viewDidLoad];
[UIView animateWithDuration:1.0
animations:^{ base.transform = CGAffineTransformMakeRotation(M_PI * 90.0f / 180.0f); }
completion:^(BOOL finished){ [self next01]; } ];}

-(void)next01
{[UIView animateWithDuration:1.0
animations:^{ base.transform = CGAffineTransformMakeRotation(M_PI * 180.0f / 180.0f); }
completion:^(BOOL finished){ [self next02]; }]; }

-(void)next02
{[UIView animateWithDuration:1.0
animations:^{ base.transform = CGAffineTransformMakeRotation(M_PI * 270.0f / 180.0f); }
completion:^(BOOL finished){ [self next03]; }];}

-(void)next03
{[UIView animateWithDuration:1.0
animations:^{ base.transform = CGAffineTransformMakeRotation(M_PI * 360.0f / 180.0f); }
completion:^(BOOL finished){ [self next04]; }];}

-(void)next04
{[UIView animateWithDuration:1.0
animations:^{ base.transform = CGAffineTransformMakeRotation(M_PI * 90.0f / 180.0f); }
completion:^(BOOL finished){ [self next01]; }]; }

と、したところ、エンドレス回転はしているのですが90度回転するごとに一瞬回転が止まってしまいます。スムーズにくるくると回転させるためにはどうしたら良いのでしょうか?

634名称未設定:2012/03/15(木) 23:32:08.35 ID:3G8BoCy/0
自分が似たようなことした時は、タイマでちょっとずつまわした。
635名称未設定:2012/03/15(木) 23:42:17.73 ID:weuBftJB0
animateWithDuration:delay:options:animations:completion:
の方で、options に UIViewAnimationOptionCurveLinear とか
636名称未設定:2012/03/15(木) 23:42:58.67 ID:0uAWLhTC0
popoverについて質問させてください。xCode 4.3、Storyboard使用でiPad専用アプリでpopoverを使いたいのですがうまくいきません。
popViewController(中身はラベルのみ)をボタンを押した時に表示させようとしているのですが、

- (IBAction)push:(id)sender {
UIPopoverController *popover;
popViewController *popView = [[popViewController alloc] init];
popover = [[UIPopoverController alloc] initWithContentViewController:popView];
[popover presentPopoverFromRect:CGRectMake(10, 10, 200, 200) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}

としてボタンを押しても落ちてしまいます。デバッグのメッセージは (lldb) のみです。どこを変更すれば
動くようになるのでしょうか?
637名称未設定:2012/03/16(金) 00:05:59.12 ID:2SuqtDppP
デベロッパープログラムの期限が切れたから
AppleStoreで1年間購入したんがこれいつになったら有効になるの??
もしかしてバグってる??めっちゃ不安。

http://iup.2ch-library.com/i/i0589159-1331823893.png
638名称未設定:2012/03/16(金) 00:26:55.35 ID:ZotiKq6z0
>>636
popViewController の view はどうやって生成してるの?
storyboard の中にあるの?
あと、クラス名は大文字で始める (PopViewController) のが普通だよ。

>>637
数日かかる場合もあったような。気長に待ちな。
ってか、切れてから更新したのか。アプリとかどうなるんだろ?
639名称未設定:2012/03/16(金) 00:41:18.58 ID:yRCA4kL30
スミマセン、もう1点
あるインスタンスA,B,Cがあって、
Aのメソッドa1から、Bにメッセージ[B b1]を投げてその結果を受け取りたいとします。
このとき、b1からさらにCに[C c1]を投げますが、その結果resultはc1の返り値で返ってくることはなく、
デリゲートメソッドc2:resultと同じ名前のb2:resultが呼び出されるとします。
で、b2で処理をして、Aに[B b1]の返り値としてdealedResultを返してやりたいのですが、b1じゃないので値を返すことが出来ません。
この場合、Aもa1の中で値を受け取ろうとせずに、b2からデリゲートメソッドb3:dealedResultを呼び出すようにして、同じ名前のa2:dealedResultを用意してそちらに引き継ぐべきなのでしょうか?
640名称未設定:2012/03/16(金) 00:53:52.51 ID:ZotiKq6z0
>>636
storyboard で popover を使う場合、
・PopViewController は storyboard 中に孤立して (segue をつながずに) 作って、
 View Controller の identifier を指定する。("popViewController" とする。)
・PopViewController を生成する場合、alloc/init ではなく、
 [self.storyboard instantiateViewControllerWithIdentifier:@"popViewController"];
・UIPopoverController は親 view controller のインスタンス変数とすること。

>>639>>547 かな? デリゲート分かってないなら使うなと何度言えば…。
641名称未設定:2012/03/16(金) 01:03:39.80 ID:Zc4CLPQF0
>>639
グローバル変数か、Notification使えば?
642名称未設定:2012/03/16(金) 01:10:38.85 ID:9yZKnJPk0
>>639
プログラムを言葉で表すのがいかに無駄で意味がないことなのかといういい例にはなっている
わざわざ言葉に書く方も、それも理解しようとする方も
643名称未設定:2012/03/16(金) 01:42:59.41 ID:siaPLv8D0
>>640
それはわしですねん。。
644名称未設定:2012/03/16(金) 08:46:11.16 ID:dr4lihW40
すいません。
アプリ内に画像を保存する際に、iPhoneの残量ギリギリまで保存出来ますか?
それともある程度余裕をもって保存出来なくなりますか?
645名称未設定:2012/03/16(金) 09:56:12.92 ID:8nuGNd8k0
>>623 >>625 >>627
昨日よりリークの箇所を絞ったのですが以下の箇所で確実にリークしているのですが
以下のメソッドを一秒間隔連続して発生させるとユーザーコード以外のmain関数でリークしています
リークオブジェクトがEvent Type:Malloc Responsible Library:libsystem_c.dylib Responsible Caller:stripとなっています
strip関数について以下のページをさがしたのですが英語でわかりませんでした
http://answers.yahoo.com/question/index?qid=20100219004213AAircba

-(void)dicSingleTap{
NSLog(@"dicSingleTap");
NSString *longSentence =@"1000文字以上の文字列〜";//
[myWebView loadHTMLString:longSentence baseURL:nil];
}
646名称未設定:2012/03/16(金) 10:09:14.63 ID:D4s1HFKX0
>>645
strdup のリークについては他のスレや Apple の開発者フォーラムでも話題になってるね。
OS のバグってことで、とりあえず無視しとけばいいんじゃない?
647628:2012/03/16(金) 10:14:31.21 ID:lvwqr6H60
>>629
レスありがとうございます。
648名称未設定:2012/03/16(金) 10:38:28.37 ID:8nuGNd8k0
>>644 ありがとうございます
以下のようにuiwebViewにUITapGestureRecognizerいれて空のメソッド呼ぶだけでもstripのリークが出るのですが
Gestureの実装に問題はないでしょうか。
またこのstrdupのリークでも申請は合格するでしょうか
xcodeのバージョンを上げてからこのリークが発生しましたのでOS のバグと考えてみます
ありがとうございました
UITapGestureRecognizer* tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dicSingleTap)];
tapGesture.delegate = self;
[myWebView addGestureRecognizer:tapGesture];
[tapGesture release];

  -(void)dicSingleTap{
  NSLog(@"dicSingleTap");//一秒間に一回呼ぶとリーク
  }
649名称未設定:2012/03/16(金) 10:43:59.89 ID:8nuGNd8k0
>>646 返信を間違えました ありがとうございました
ちなみに>>646様が参考にしている他のスレ、Appleの開発者フォーラムはどこでしょうか
650名称未設定:2012/03/16(金) 10:57:30.01 ID:D4s1HFKX0
651名称未設定:2012/03/16(金) 11:11:00.76 ID:8nuGNd8k0
>>650
感謝です。ありがとうございました
652名称未設定:2012/03/16(金) 12:36:03.10 ID:N8W8UyEU0
今日はipad版が売れるな
653名称未設定:2012/03/16(金) 15:51:00.22 ID:Dyk3PoN00
Metadata RejectedくらってReview Notesにデモビデオ貼ってねって言われたんですが、
これって一般にも公開されるもんなんでしょうか?
それとも審査のときにレビュアーにみられるだけ?
654名称未設定:2012/03/16(金) 16:56:49.35 ID:12NSXuUH0
xcode4.2から4.3のときappStoreからのアプデありました??
655名称未設定:2012/03/16(金) 17:13:46.07 ID:/Rfyu1vSP
>>653
レビューアだけ。YouTubeで公開するなよ。
656名称未設定:2012/03/16(金) 17:19:01.12 ID:yKB0DNkX0
>>640
すみません。自分>>630でございます。
日付変わったの気づきませんでした。
>>641
ありがとうございます。
NSNotificationでいけそうですね。
しかしaで、通知が来るまで待ってもらうにはどうすれば良いのでしょう?
NSThreadでslepp掛けるといった感じでしょうか。
>>642
すみません・・・。
657653:2012/03/16(金) 17:37:05.08 ID:Dyk3PoN00
>>655
ありがとうございます!
YouTubeでの公開は禁止されているという意味ですかね…?
自ら一般公開してしまうという意味でのアドバイスでしょうか?
658名称未設定:2012/03/16(金) 17:42:11.89 ID:QR/etq7t0
一般向けに公開している紹介動画のURLをReview Notesに貼っても全然問題ない。
>>655の発言は、レビュアー向けに作ったマニアックなものなら一般公開するなという意味か?わからん。
659名称未設定:2012/03/16(金) 17:50:00.63 ID:D9JFbPtr0
>>657
こんなのとか
http://shiffon.dtiblog.com/blog-entry-67.html
「ビデオ貼ってね」の理由がわからないからなんともだけど


(全く関係無いけどw、いやすまんかった>>656)
660名称未設定:2012/03/16(金) 18:20:20.93 ID:vSem/e2vP
Xcode4.3で右クリック→New Group で作成するグループ名に日本語を使っても大丈夫ですか?
試しに日本語にしてビルドしても問題は無かったんですけど、***の時に使えないからやめとけなどありあましたら…。
661名称未設定:2012/03/16(金) 18:25:39.55 ID:I+82YncQP
>>631です
>>632様、アドバイスありがとうございました。

エラー内容は下記です。

// モーダル側のビューコントローラを作成し、先に作ったcontrollerから表示させる。
WebViewController* controllerB = [[WebViewController alloc] init];
// 判別用にこちらは背景を赤にする。
controllerB.view.backgroundColor = [UIColor redColor];
// モーダルビューとして表示。

// error: request for member 'parentViewController' in 'self', which is of non-class type 'OpenGLAppDelegate*'
[self.parentViewController presentModalViewController:controllerB animated:YES];

[controllerB release];
662名称未設定:2012/03/16(金) 18:28:17.93 ID:YXMizc1c0
xcode 4.3.1を使ってiphone開発の勉強を始めたばかりですが、いくつかよくわからない現象が起きて
しまって困っています。
実機にアプリを転送できる環境を整えようと思い、様々なサイトを参考にデバイスの登録を行ったつもり
なのですが、xcodeのオーガナイザーのプロヴィジョン・プロフィールのステータス欄に
"Valid string identity not found"という警告とともに黄色いワーニングのマークが出ているのですが、
これは何が原因かわかる方はいらっしゃいますでしょうか?
663名称未設定:2012/03/16(金) 18:42:08.34 ID:D9JFbPtr0
>>661
parentViewController なんてのは self にはありません
そのコードがあるのは OpenGLAppDelegate クラスであり、OpenGLAppDelegate は UIViewController を親に持っていないんじゃないの
664名称未設定:2012/03/16(金) 18:59:21.49 ID:sdeC3jNV0
相談させて下さい。
CGFloat scale = [UIScreen mainScreen].scale;
iPhoneのretina だと 2.0 になるはずですが本日発売されたRetinaディスプレイ対応の
iPadではなぜか1と返ってきてしまいます。RetinaのiPadシミュレータで2と返ってきて
いただけに悩んでます。どちらが正しいのでしょうか?
665名称未設定:2012/03/16(金) 19:44:34.51 ID:Qr8sa1MUP
>>638
朝起きたらきちんと購入処理できてました〜
ありがとうございました!
666名称未設定:2012/03/16(金) 19:52:14.73 ID:cN9cND0I0
Objective-Cについて勉強して、よくわかるiPhoneアプリ開発の教科書をやり終えたんですが、
次のステップへ上がるために有用なiPhoneアプリ開発書を教えてください。
いろいろあってどれやっていいか迷います・・・。
667名称未設定:2012/03/16(金) 20:30:20.79 ID:iY8hxwpo0
>>640
遅くなりましたがレスありがとうございます!仕事が片付いたら試して見ます!
668名称未設定:2012/03/16(金) 20:35:49.38 ID:1Gv8cMQX0
>>666
自分の向かいたい方向に一番近いのを選べばいいと思う。
学ぶ動機次第だよ。
669アドルフォイ ◆J7x7Kq26DTjq :2012/03/16(金) 20:54:07.01 ID:S1eRPE1x0
あああクソが
こんなエロいのAppleStoreに出すんじゃねーよ!!
Appleの審査はザルか!?ザルなんだな!?
http://beebee2see.appspot.com/i/azuYxImBBgw.jpg
670名称未設定:2012/03/16(金) 21:05:04.57 ID:Io7slP510
ラッ◯ー◯ーイか
671名称未設定:2012/03/16(金) 21:07:47.73 ID:iY8hxwpo0
>>640
できましたー!1週間の悩みが一瞬で解決しました!ありがとうございます!!
672名称未設定:2012/03/16(金) 21:26:24.49 ID:S1eRPE1x0
>>670
はい。
673名称未設定:2012/03/16(金) 21:40:52.53 ID:pjUcGQLd0
すみません、>>639>>656はとりあえずおいておくとして、シンプルな形にしてテストを行いたいと思うのですが、
一定時間(5秒)ごとにあるURLからテキストを引っ張ってきて、テキストビューに表示します。MyViewControllerの中身は以下です。
@implementation//一部省略
- (void)viewDidLoad{
[super viewDidLoad];
test = [MyTestClass alloc];
test.delegate = self;
[test synchronouslyLoadText:[NSURL URLWithString:TARGET_URL]];
mainTextView.text = test.text;
timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(reloadText) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
}
-(void)reloadText{
[test synchronouslyLoadText:[NSURL URLWithString:TARGET_URL]];
}
-(void)textUpdated{
mainTextView.text = test.text;
}(続く)
674名称未設定:2012/03/16(金) 21:42:34.29 ID:pjUcGQLd0
すいませんレベル低くて長く書けないのでprotocolとかinterfaceとかpropertyとかsynthesizeとか省略します
MyClassの実装
@implementation MyTestClass
@synthesize text;
@synthesize delegate;
-(void)synchronouslyLoadText:(NSURL *)givenURL{
NSError *err;
self.text = [NSString stringWithContentsOfURL:givenURL encoding:NSUTF8StringEncoding error:&err];
[delegate textUpdated];
}
@end
で、これでも動くのですが、testがstringWithContentsを読みに行っている間、メインスレッドの処理が止まってしまいます。
そこで、-(void)asynchronouslyLoadTextを導入して非同期で読み込むようにしたいのですが、これが上手く行きません。
単純に別スレッドで動かすように、async…の中身を
[NSThread detachNewThreadSelector:@selector(synchronouslyLoadText:) toTarget:self withObject:givenURL];
とすると、そこからデリゲートされて呼び出されるtextUpdatedでmainTextView.textを書き換えようとすると、エラーとなります。
別スレッドからUIViewを書き換えようとするとまずいのでしょうか。
そこで、UIViewを書き換えるのではなくて、MyTestClassにプロパティlastUpdatedDateを導入して、textが更新されるたびにこの日付も更新するようにし、
UIViewControllerに、最終更新日付を監視する別のタイマーを導入し、更新されていたらmainTextView.textを更新する・・・という方法では上手くいったのですが、
カクカクする上に、あまりスマートじゃない気がするので、非同期での読み込みとtextの更新が終わったら、UIViewのmainTextViewを更新するメソッドを呼び出す・・・という形にしたいのですが、
上手いやり方はありませんでしょうか?
675名称未設定:2012/03/16(金) 22:36:43.49 ID:hrJbntxrP
パズドラとかのアプリやff3などのアプリも、全てobject-cで作ってるのかな?

webkitでhtml取得して、その中でjavascriptでコーディングしめも審査通るのかな?
676名称未設定:2012/03/16(金) 23:08:59.53 ID:sdeC3jNV0
>>675
それでもいんじゃね?それで何十万のユーザー数得たやつを知ってる。
ネットサービスの箱としてのアプリだっていいんだぜ。
677名称未設定:2012/03/16(金) 23:10:02.65 ID:DMuAZSHX0
Webサイトを表示するだけで事足りるようなのは却下されるんじゃないっけ
678名称未設定:2012/03/16(金) 23:28:45.56 ID:sdeC3jNV0
>>677
んなこといったらWebサービスとかどうすんの。AppbankとかもWebサイト表示してるだけだし。
679名称未設定:2012/03/16(金) 23:32:17.03 ID:sdeC3jNV0
まぁアイデア次第だよ。やらないよりやったほうがいい。
iPhoneに向いてると思えば箱だけアプリの実態webサービスでも大丈夫だって。
ただし、エロはダメだぞw
680名称未設定:2012/03/16(金) 23:46:55.47 ID:S1eRPE1x0
>>669-670
でもラッキー◯ーイめっちゃ面白いよw
681アドルフォイ ◆J7x7Kq26DTjq :2012/03/16(金) 23:47:14.16 ID:S1eRPE1x0
フォイです。
682名称未設定:2012/03/16(金) 23:50:19.88 ID:hrJbntxrP
>>676-679
ありがとう!作ってみます!
683名称未設定:2012/03/16(金) 23:56:56.54 ID:3TM+vP520
UIViewをboundsの値を変更してリサイズしようと思っているのですが、
UIViewの中身が左上合わせでリサイズされるため、右下の表示内容が見えなくなってしまいます。
UIViewを右下あわせでリサイズ(左上の内容は見えなくなっても構いません)する方法はありませんでしょうか?
684名称未設定:2012/03/16(金) 23:59:34.67 ID:0JpK101w0
Xcodeでプロジェクト新規作成でSingle View Applicationで作成すると、最初のViewControllerにinitWithName:もdeallocもないのですが、これは何でですか?
例えばNSArrayを用意したい時に、viewDidLoadでallayを初期化してたら、memoryWarningに対応出来ないですよね?
685名称未設定:2012/03/17(土) 00:02:21.92 ID:j96sW9z0P
>>683
IBの定規
686名称未設定:2012/03/17(土) 00:20:28.92 ID:dHbMwHm10
>>685
実行中にリサイズしたいです。
687名称未設定:2012/03/17(土) 00:32:07.78 ID:8J7P03490
>>686
bounds の size だけじゃなくて origin もそれに合わせて、増減させればいいってだけじゃないの
688名称未設定:2012/03/17(土) 00:39:57.16 ID:DSJfhc2D0
俺は◯ッキーボーイはすぐ飽きた
689名称未設定:2012/03/17(土) 00:46:56.26 ID:dHbMwHm10
>>687
originを変更するとUIView自体が移動してしまいます。
UIViewをリサイズして表示されている中身を右下固定にしたいのです。
690名称未設定:2012/03/17(土) 00:54:12.39 ID:8J7P03490
>>689
frame と bounds は違うよ
691名称未設定:2012/03/17(土) 01:07:33.15 ID:tuHkdTo80
すみません、>>673-674を簡略化します。
・NSThreadで作った別スレッドから、UIViewの部品のプロパティを変えるとエラーが出るのはなぜでしょうか?
また、エラーを出さずに変える方法はありますか。
・別スレッドの処理が終わったとき、メインスレッドでメソッドを呼ぶにはどうすればいいのでしょうか。
692名称未設定:2012/03/17(土) 01:32:14.16 ID:N4ngRN0E0
エラーメッセージくらい書けよ。
693名称未設定:2012/03/17(土) 01:44:44.55 ID:8J7P03490
>>689
frame の意味と bounds の意味を説明しているAppleのドキュメントがあるんだけど、なんだったかなあ。市販本でもここは説明してあると思うけど
frame は UIView の大きさ、及び、superView 内での位置。bounds は UIView のコンテツの大きさ(と位置)。bounds の一部が frame の大きさでクリッピングされて表示される(boundsがframeより大きい/基準ポジションからズレている場合)

まあ、bounds をちょしたら、ハマると思うけど。オートリサイズ時にもフォローしなければならないとか

UIView って言うなら、自分で drawRect: で描画してるの?だったら、そこで、右下基準になるように調整した方が簡単だし無難だと思うけど

>>691
UI関係はメインスレッドで呼ばなければ、いろいろ不都合があるよ
安易に
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait
で両方とも解決するんじゃね
694名称未設定:2012/03/17(土) 06:46:41.40 ID:tuHkdTo80
>>692
すみません、エラーメッセージはメモってませんでした・・・。
>>693
ありがとうございます、その方法で出来ました。
しかしUIViewControllerインスタンスにデリゲートするのに、delegateをidで定義しているのはダメで、
NSObject <MyTestClassDelegate> *delegate;と定義したところうまく行ったのですがこれで良いのでしょうか。
idで定義するとperformSelector...がありませんと出ます。
695名称未設定:2012/03/17(土) 06:58:30.32 ID:3ItI4QiZ0
俺は id<MyTestClassDelegate> delegate みたいに書いてるな。
696名称未設定:2012/03/17(土) 06:59:01.84 ID:z9LSVk/H0
UIホニャララクラスは、基本的にメインスレッド専用。
697名称未設定:2012/03/17(土) 07:00:57.49 ID:3ItI4QiZ0
UIをいじるのがメインスレッドでしか出来ないのはiOS以外でもわりと普通。
698名称未設定:2012/03/17(土) 07:44:24.81 ID:IoqzMb9T0
動作確認て、やっぱ実機使ったほうがいいの?
699名称未設定:2012/03/17(土) 08:56:46.94 ID:qvfWpkQ00
>>698
実機使わないほうがいいと思うの?
700名称未設定:2012/03/17(土) 09:05:58.37 ID:ylCSgbDX0
iphone4sをもってないのでお聞きしたいのですが
uitextviewやuifieldviewにbecomeFirstResponderでキーボードをだしてから
siriでの文字入力は可能なのでしょうか
siriは通常キーボードの一部として考えていいのでしょうか
siriに関するapiなどあるのでしょうか
701名称未設定:2012/03/17(土) 09:26:10.52 ID:j96sW9z0P
>>700
Siriじゃ無くてdictationだけど、プログラムからスタートさせることは出来ず、変換結果と候補を持ってこれるだけ。
702名称未設定:2012/03/17(土) 09:49:53.07 ID:jvWJ9ia30
>>691
別スレッドから UI をいじれないのは仕様。
performSelectorOnMainThread:withObject:waitUntilDone: を使え。
703名称未設定:2012/03/17(土) 09:58:12.62 ID:oKai+zsL0
質問です。
tableViewのcellの背景とtableの背景(cellがないときに見える地の色)を
別の背景(色等)にしたい(「時計」アプリの「フラーム」のように)のですが、
どうすれば良いのでしょうか?

tableView.backgroundColorを透明にして
cell.backgroundViewでCellの背景イメージを指定すれぱcellの背景は変えられますが、
tableの背景(地)が真っ黒になります。
tableView.backgroundColorを透明以外にすると、tableの背景がその色になりますが、
cellの背景色もtableの背景色と同じになります。
704名称未設定:2012/03/17(土) 09:58:35.39 ID:U7mnAUpU0
どうしてもわかりません。どなたかアドバイスをお願いします。

SoftbankのiPhoneで[email protected]にメールが届いた時に

メッセージを受信しました
You got a mail.

と通知が来るのですが、アプリ側で自動ロックを無効にしていても
通知の画面のままだとアプリ側ではバックグラウンド扱いになり、
自動ロックが実行されてしまいます。
バックグラウンドでは特定のプログラム以外は10分制限にひっかかるため
どうしても自動ロックを無効にしたいのです。

何か対策はあるのでしょうか?
705名称未設定:2012/03/17(土) 10:12:29.60 ID:jvWJ9ia30
あ、>>693 見落としてた。

>>694
delegate の宣言を NSObject <MyTestClassDelegate> *delegate; にするか、
メソッド送信時に [(NSObject *)delegate performSelectorOnMainThread:...]; のようにキャストするといいよ。

Objective-C では、任意のオブジェクトに任意のメッセージを送れるんだけど、
それじゃ気持ち悪いってことで知らないメソッドについては警告を出すようになってる。
で、
id delegate; ... 任意のクラス (#import されたもの) で宣言されたメソッド以外だと警告が出る。
id <MyTestClassDelegate> delegate; ... MyTestClassDelegate (およびその親プロトコル) で宣言されたメソッド以外だと警告が出る。
NSObject <MyTestClassDelegate> *delegate; ... NSObject クラスおよび MyTestClassDelegate で宣言されたメソッド以外だと警告が出る。
ってことになってるみたい。
706名称未設定:2012/03/17(土) 10:21:27.44 ID:jvWJ9ia30
>>683
Cocoa の view には自動リサイズという仕掛けがあって、
親 view のサイズが変更された時、その中身をどうするかを設定できるよ。
やり方は、IB なら定規のところの Autoresizing をいじる。
http://blog.livedoor.jp/second_flush/archives/51118870.html
コードで指定する場合は UIView の autoresizingMask プロパティ。
707名称未設定:2012/03/17(土) 10:34:26.90 ID:RVYBNwS+0
どなたか>>684教えて下さい(>_<)
708名称未設定:2012/03/17(土) 10:39:28.96 ID:jvWJ9ia30
>>703
tableView:willDisplayCell:forRowAtIndexPath: で cell.backgroundColor を設定すればいいらしい。
http://runlooprun.wordpress.com/2010/12/05/striped_table_view/
709名称未設定:2012/03/17(土) 10:40:29.64 ID:jvWJ9ia30
>>684
必要なら自分で追加すればいいだけ。
710名称未設定:2012/03/17(土) 11:59:13.87 ID:9Ye6cNmV0
チュンコネのセルトレでトゥデイのマネーチェックだぜ
711703:2012/03/17(土) 12:04:43.56 ID:oKai+zsL0
>>708
ありがとうございます。
うまくいきました。
712名称未設定:2012/03/17(土) 13:25:03.67 ID:5ooyxiSj0
円安が進んだなぁ
また,ある朝突然に,アプリの値段が上がってしまうのだろうか?
どれくらい円安になったら,変わるのかなぁ?
713名称未設定:2012/03/17(土) 13:58:08.64 ID:/P0v3g+e0
XCodeの検索って勝手にクリップボードからペーストするよね
エロい単語が張り付いてて驚いた
714名称未設定:2012/03/17(土) 14:26:31.19 ID:mfIAGUaT0
あるあるw
715名称未設定:2012/03/17(土) 14:32:20.67 ID:qvfWpkQ00
SEXcode
716名称未設定:2012/03/17(土) 19:18:52.01 ID:RVYBNwS+0
>>709そうなんですけどねf^_^;)
その理屈だと必要じゃないことの方が稀だと思うんですが、あって邪魔になるわけじゃないし、テンプレ化してるのにあんまり便利じゃないですよね?
わざわざ消す意味があって、なんか気をつけないといけないことがあるのでわ??と勘ぐってしまうわけですよf^_^;)
717名称未設定:2012/03/17(土) 19:27:58.06 ID:8J7P03490
ARC絡みだからじゃないのdeallocは
自分でテンプレート作るのがいちばんだね
718名称未設定:2012/03/17(土) 20:34:45.15 ID:2VDIWBII0
>>694
NSObject protocol をadoptする
@protocol XXDelegate <NSObject>
719名称未設定:2012/03/17(土) 20:47:40.68 ID:QosbJGJjP
>>718
NSObject プロトコルには普通の performSelector: はあるけど、performSelectorOnMainThread: とかはなかった筈。
720名称未設定:2012/03/17(土) 20:56:07.79 ID:RVYBNwS+0
>>717確かにそうかもしれませんね!
ARC使って無いので躊躇しないでdellocしちゃいます(^O^)/
ありがとうございました。
721名称未設定:2012/03/17(土) 23:58:19.05 ID:iamlHuIP0
個人で開発しています。
Company Identifierなどでドメインを入力するよう勧められますが、独自ドメインは必須でしょうか。
722名称未設定:2012/03/18(日) 00:11:28.68 ID:AgeJMCvD0
一般に公開するなら必須。テスト/開発するだけならどうでもいい
723名称未設定:2012/03/18(日) 00:37:31.90 ID:UaOo4+7t0
UIImagePickerControllerを使って写真ライブラリを表示しているのですが、
1回目の写真ライブラリの起動が異様に遅いです。

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self.view presentModalViewController:picker animated:YES];

端末はiPhone4です。
画像が多すぎるのかと思い、2枚くらいしか入っていない端末で試しても同じでした。

何か良い方法はないでしょうか?
724名称未設定:2012/03/18(日) 01:24:34.60 ID:CigzkKCd0
>>694に回答していただいた方々ありがとうございます。
>>695,>>696
UIは、メインスレッドでしかいじってはダメなのですね。
となると、サブスレッドで表示するデータを更新させておいて、
メインスレッドでTimer回してそれが更新されたか定期チェックするか、
何らかの方法でサブスレッドからメインスレッドに更新されたということを報告するかということになるかと思うのですが、
前者は例によってリソースの無駄なので、後者になろうかと思いますが、
performSelectorを使ってメインスレッドでメソッドを呼び出すのは出来たのですけども、
メインスレッドでサブスレッドで回すメソッドを呼び出したあと、それとは別にサブスレッドの処理の後に呼び出すメソッドを分けて作らないといけないのがどうもすっきりしないという印象です。
メインスレッドでの他の処理を邪魔させずに、その呼び出しメソッド内でサブスレッドからの応答が返って来るまで待つというのは出来ないのでしょうか。
>>705
なるほど、キャストするという手がありましたね!後で試してみます。

すみません、上とは関係ないのですがもう一点
iPhoneだと問題無いのですが、iPadでUITextViewをおいて、
ハードウェアキーボードをシミュレートし、改行してビューの下の方で書こうとすると、変換候補が下にはみ出てしまうのは仕様ですか?
実機の方でも試して見ましたが同じ感じですね。他のメモアプリも同様でした。
しかしMicrosoft Office OneNoteだけ問題ありませんでした。はみ出ないように上側に表示するオプションがあるのでしょうか?
725名称未設定:2012/03/18(日) 01:59:39.38 ID:wW35VIBb0
>>724
>メインスレッドでサブスレッドで回すメソッドを呼び出したあと、それとは別にサブスレッドの処理の後に呼び出すメソッドを分けて作らないといけないのがどうもすっきりしないという印象です。

そんなもんです。ってか、後処理なんてプロパティを設定するとか reloadData や setNeedsDisplay を呼ぶ程度で済むのが普通では?

>メインスレッドでの他の処理を邪魔させずに、その呼び出しメソッド内でサブスレッドからの応答が返って来るまで待つというのは出来ないのでしょうか。

言ってることが矛盾してます。「メインスレッドでの他の処理を邪魔」しないためにスレッドを使うのです。
726名称未設定:2012/03/18(日) 02:11:30.10 ID:AgeJMCvD0
>>724
すっきりしないというけど、それが普通だし、簡単だし、見た目はすっきりしていると思うんだけど
普通:依頼は依頼をしただけで処理終了後の処理はdelegateで受けてするとか

望みの方法は、その元メソッド内で
NSRunLoop の runMode:beforeDate:
を使ってだけど、 ただ回して定期的に毎回チェックだと Timer と同じだから、一度入ったら終わるまで抜けないというのは、スレッド間通信作って終了時に破棄するってのかなあ(見直したら信頼性無いそうだけどw)
https://developer.apple.com/jp/devcenter/ios/library/documentation/Multithreading.pdf
の実行ループを読んで見なさい。めんどくさいから
簡単にプログラミングしようとしてるのに全然割りに合わないよねw


727名称未設定:2012/03/18(日) 02:52:25.26 ID:CigzkKCd0
ありがとうございます。うーん、そんなもんですか。
メソッド内で、「メインスレッドで他のことやってていいけどこのメソッドのこの後の処理はサブスレッドからの応答が返って来るまで待ってね〜」
みたいな感じで書きたいのですが。
728名称未設定:2012/03/18(日) 03:01:47.58 ID:AgeJMCvD0
それはブロッキングで一般的には格好わるい
一般的というか俺がそう思うだけかもしれないけどw
729名称未設定:2012/03/18(日) 03:08:08.73 ID:qyctOdV20
そもメインスレッド=UIスレッド
メインスレッドが止まるってことは画面の更新もタッチすらも受け付けないで固まることを意味する
ていうか最初からイベントドリブンで設計しろ
今時バッチ処理なんぞ銀行夜間でしかやらんわ
730名称未設定:2012/03/18(日) 03:16:11.75 ID:8s7xsZBv0
処理スレッドから好きなときに performSelectorOnMainThread してやればいいんじゃないの?
731名称未設定:2012/03/18(日) 07:55:00.87 ID:CigzkKCd0
ありがとうございます。
うーむやはりバックグラウンドでデータ取得させるような場合、
リクエストを送らせるメソッドと、
データが届いたときのデリゲートメソッド用意した方がいいんですかね。
NSURLConnectionなんかもそうなってますし・・・

ところでTextViewのはみ出し問題のほうどなたかわかりませんか。
Bluetoothユーザーにとっては結構問題だと思うので対処法があれば対策したいのですが。
732名称未設定:2012/03/18(日) 09:08:36.02 ID:7sr2xt2I0
iPhone4SをiOS5.1にバージョンアップしたら、Xcodeで認識しないように思われます。
BaseSDKを「Latest iOS(iOS5.0)」にしているのですが、この設定で5.1で使えるのでしょうか?
5.1で使えない場合、どうすれば良いのでしょうか?
733732:2012/03/18(日) 09:24:40.48 ID:7sr2xt2I0
自己解決しました。
Xcode4.3.1にバージョンアップしなければいけないようです。
734名称未設定:2012/03/18(日) 12:02:18.20 ID:tRZlBVsj0
ID:CigzkKCd0 はずっとこの調子で人に聞き続けるつもりなんだろうか・・・
735名称未設定:2012/03/18(日) 12:20:51.87 ID:pOrTKV5j0
また「答えられないなら黙ってろ」って言い出すぞ
736名称未設定:2012/03/18(日) 14:31:04.68 ID:zIHG/1JqP
>>727
GCD
737名称未設定:2012/03/18(日) 16:19:07.17 ID:AgeJMCvD0
>>735
確かにお前のような単なるヤジ馬は黙ってろは真理w
738名称未設定:2012/03/18(日) 16:57:55.21 ID:pOrTKV5j0
いいえ、牽制球です(`・ω・´)キリッ
739名称未設定:2012/03/18(日) 16:58:43.94 ID:SjZ/epnE0
俺も最近もっぱらGCD

>>727
>>2
エキスパートObjective-Cプログラミング(インプレスジャパン/達人出版会 2011/11)坂本一樹

これの3章を読むといいよ。
740名称未設定:2012/03/18(日) 17:18:10.03 ID:lSLUWiBx0
ふとっぱら
すきっぱら
もっぱら
741名称未設定:2012/03/18(日) 19:05:02.37 ID:AM1qZexY0
Xcodeを4.3.1にしたら、
NSLogが表示されなくなってあせった。
アルファベット以外があると出力されないんだね。
742名称未設定:2012/03/18(日) 19:06:15.31 ID:AM1qZexY0
×アルファベット以外 ○ASCII文字以外?
743名称未設定:2012/03/18(日) 19:06:50.56 ID:8s7xsZBv0
デバッガがlldbだとそうなるっていう話だね。
744名称未設定:2012/03/18(日) 19:40:42.09 ID:xZcJg01z0
アーロン・ヒレガスのiOSプログラミングの難易度ってどんぐらい?
Obj-Cについて知ってて、よくわかるiPhone開発の教科書読んでたら大丈夫かな?
745名称未設定:2012/03/18(日) 21:57:20.35 ID:kL8ioaGP0
>>727
GCDのキューにブロック突っ込むってのはどうでしょう?簡単なコードで自動でスレッド分けて処理してくれるし、複数処理の待ち合わせまでできて超便利。
>>2
にある、詳解iOS5プログラミング(秀和システム 2011/12)沼田哲史 にシンプルなサンプルコードもあります。この本のコードはiOS4.3でも動いたし、試してみてはいかがでしょう?
746名称未設定:2012/03/18(日) 22:11:34.38 ID:SjZ/epnE0
NSOperationQueueとはなんだったのか。
747名称未設定:2012/03/18(日) 23:21:31.36 ID:CigzkKCd0
>>734-735
すみません。一応、ググってから質問しているつもりだったのですが、
「つもりは、つもらない」という事で、すぐ聞きすぎだったかも知れません。
もうちょっとちゃんと調べるようにします・・・。

エキスパートObjective-Cプログラミングは、書店で見て良さそうだと感じたので
まさに明日買いに行こうと思っていたので、買ってきます。
ARCとBlocksもさっぱり分かってないのでちょうど良さそうです。
詳解iOS5プログラミングもチェックして見ます。
ありがとうございます。
748名称未設定:2012/03/19(月) 04:10:05.04 ID:zH8luWG30
色々いじってるとどうも4sより3gsの方がフレームレートが安定しているのですが、
レティナディスプレイOFFで処理することできないですか?
お絵かきアプリは設計でどうにかなると思うのですが、
カメラアプリでも3gsの方が安定してて、もともとカメラからの解像度を低くしてるのでRetina必要ないのですが(^_^;)
749名称未設定:2012/03/19(月) 07:49:28.31 ID:71vUxkno0
>>748
「RetinaDisplayの人は買わないで」って書いておけ
750名称未設定:2012/03/19(月) 08:34:05.63 ID:qeehOaGA0
TableViewCellのサブビューのUILabelの高さについての質問です。

下記のコードで、UILabelを表示しますと、
UILabelの高さが22.9、行の高さが91.75ですので
セルの高さの約1/4(22.9÷91.75)になるはずなのですが、
実際の表示ではUILabelの高さがセルの高さの約3/4を占めています。
どうしてこうなるのでしようか?

- (void)viewDidLoad{
self.tableView.rowHeight=91.75/
}
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:identifier];
serviceLabel=[[[UILabel alloc] initWithFrame:CGRectMake(5.0, 0.0, 200.0, 22.9)] autorelease];
[cell.contentView addSubview:serviceLabel];
}
751名称未設定:2012/03/19(月) 08:36:16.68 ID:zH8luWG30
>>749まあ、それもありですが( ̄◇ ̄;)
パソコンにフルハイビジョンモニターつないでも、解像度はソフト側で決めるじゃないですか。それと同じこと出来ればいいなぁって思いません!?
752名称未設定:2012/03/19(月) 08:52:31.41 ID:O/QzlIak0
>>750
> cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
> reuseIdentifier:identifier];
さてこの時点でセルの高さはいくらになってるでしょうか?
91.75ではないよね?
753名称未設定:2012/03/19(月) 09:04:21.64 ID:f4XzVtmP0
view.layer.contentScale = 1.0 うろ覚え
でどうにかなんない? >>751
754名称未設定:2012/03/19(月) 09:49:09.17 ID:zH8luWG30
>>753ありがとうございます!今日時間が取れたら調べてやってみます!
755名称未設定:2012/03/19(月) 15:38:01.16 ID:5Y6sNt4d0
UITableViewで表示領域が埋まらないとき、背景が表示されますが、
背景のセパレーターだけを非表示にする方法はありませんか?
756名称未設定:2012/03/19(月) 15:56:47.30 ID:yVdPyBkB0
メールの添付ファイルについての質問なのですが、

NSData* data = [texts dataUsingEncoding:NSUTF8StringEncoding];
[pickerCtl addAttachmentData:data mimeType:@"text/plain" fileName:[title stringByAppendingString:@".txt"]];

* textsはnsstringです。

以上のように文章をメールに添付しているのですが、
マックのメーラーでならば正常にみることができるのですがiPhoneで添付ファイルを開くと
文字化けしてしまいます。添付している文章は日本語です。

上記の方法は間違っているのでしょうか?
文字化けしない添付やエンコードの仕方をご存知の方がいましたら、
お助けください...。
757750:2012/03/19(月) 15:57:01.82 ID:qeehOaGA0
>>752
レスありがとうございます。

> cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
> reuseIdentifier:identifier];
の時点でセルの高さが91.75でないとすると、
いくつなんでしょうか?(どこで指定した値になっているんでしょうか)
758名称未設定:2012/03/19(月) 16:13:43.39 ID:f4XzVtmP0
>>757
752じゃないけど

> cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
> reuseIdentifier:identifier];
の時点では、UITableViewCellのデフォルト値(44かな?)になってると思われ。
だってこの命令は単にUITableViewCellを作るだけであって、UITableViewとは
まだ関連付けられていない。当然UITableViewに設定されたrowHeightはまだ反映されていない。
rowHeight 44 のtable view cell に高さ22.9のUILabelが追加され、
その後table view がUITableViewに登録される際に、rowHeightが44から91.75
に伸びる→自前で作ったUILabelも22.9も47.75高さが増えて、高さ70.65になる
ってことじゃないか?
759名称未設定:2012/03/19(月) 16:16:18.03 ID:f4XzVtmP0
>>756
txtを使うのが間違い。
760名称未設定:2012/03/19(月) 16:28:05.64 ID:yVdPyBkB0
>>759
ありがとうございます。些細なことに気づきませんでした。HTMLとか、
txt以外のファイルに変換したところ文字化けせずにみることができました。
761名称未設定:2012/03/19(月) 16:44:19.73 ID:yVdPyBkB0
一般的には、メールに文書を添付する際はどのファイル形式を使うのでしょうか。
762名称未設定:2012/03/19(月) 16:54:32.54 ID:f4XzVtmP0
>>761
.doc
763名称未設定:2012/03/19(月) 16:58:14.91 ID:yVdPyBkB0
>>762
度々ありがとうございます。
とても助かりました。
764757:2012/03/19(月) 17:18:55.12 ID:qeehOaGA0
>>758
レスありがとうございます。
UITableViewCellの高さのデフォルト値は、どうすれば変えられるのでしょうか?
765名称未設定:2012/03/19(月) 17:41:45.92 ID:f4XzVtmP0
>>764
デフォルト値を変更する事は不可能です。

serviceLabelの高さが絶対的なものなら、自動高さ変更できないように
autoresizingMaskを設定してやる。
766名称未設定:2012/03/19(月) 18:31:14.47 ID:XpFGoEs80
全く同じコンセプトなうでした。
UITableViewCellってinitWithFrame:で高さ決めてやっても強制的にデフォルト値にされちゃうんですね。
配列にセルごとの高さ情報突っ込んでやって、heightForRowAtIndexPath:で参照してリターンしてやるか無いですかね?
767764:2012/03/19(月) 18:37:49.90 ID:qeehOaGA0
>>765
レスありがとうございます。
デフオルト値を変えられないのであれば、
その値を確認したいのですが、どうすれば分かるのでしょうか?
(44なのでしょうか?)
768名称未設定:2012/03/19(月) 18:38:27.08 ID:XpFGoEs80
デフォルト値はIBの定規で見られるのではないでしょうか
769名称未設定:2012/03/19(月) 19:19:46.21 ID:vO6kBEeR0
iキーボードの上の変換候補を非表示にしたいのですが…
何かいい方法はないでしょうか?
770名称未設定:2012/03/19(月) 19:26:44.69 ID:AbiSgKmQP
>>764
UITableView の rowHeight プロパティ
771名称未設定:2012/03/19(月) 19:51:03.74 ID:f4XzVtmP0
>>767
cellをつくったら
cell.frame.size.height
で高さがわかる。
772名称未設定:2012/03/20(火) 02:32:18.15 ID:ThEvY7zT0
ってか初心者なのはいいがアップルのUIガイドラインぐらい読んでくれよ。
大抵の教本でも読めって書いてないか?
だいたいのことは書いてあるぞ。
44だってしっかりと明記してある。

こんなこというとまた逆ギレされるんだろーねorz

773名称未設定:2012/03/20(火) 03:32:26.76 ID:MYlr6T5u0
そのUIガイドラインってやつには初心者の相手の仕方は書いてないのかい?w
774名称未設定:2012/03/20(火) 04:13:58.33 ID:+Sr7PdjT0
2dゲームにオススメのフレームワークありますでしょうか?
775名称未設定:2012/03/20(火) 06:56:05.82 ID:ERY9RjqH0
UIKitとかQuartzCoreとか
776名称未設定:2012/03/20(火) 08:02:51.13 ID:1/NUiYCa0
iOS5からついてるsafariででてくる辞書のデータはどのようにアクセスしたらいいのか、わかる方いたら教えてください。
777名称未設定:2012/03/20(火) 08:36:40.64 ID:BmRkwyYt0
UIReferenceLibraryViewController
778名称未設定:2012/03/20(火) 08:55:39.82 ID:1/NUiYCa0
>>777
ありがとうございます
779767=764=750:2012/03/20(火) 09:03:58.17 ID:LDIt36hi0
>>758,768,770,771,772
レスありがとうございます。

Labelの高さ70.65(rowの高さ91.75)の場合には表示できるが
Labelの高さ22.9(Cellの高さ44)では表示できない行数、文字サイズの文字を
>cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
>reuseIdentifier:identifier];
の直後で
Cellにセットするには、どうすれば良いのでしょうか?



780名称未設定:2012/03/20(火) 09:25:24.34 ID:BmRkwyYt0
781779:2012/03/20(火) 10:30:26.31 ID:LDIt36hi0
>>780
レスありがとうございます。

もう一点教えて頂けませんでしょうか。
編集モードの時、削除ボタンや詳細表示ボタンを表示していると、
文字を表示可能なCell幅が小さくなると思います。

>cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
>reuseIdentifier:identifier];
の直後で
削除ボタンや詳細表示ボタンの表示領域以外のCell幅、又は編集モードか否かを
知るにはどうすれば良いのでしょうか?


782名称未設定:2012/03/20(火) 10:47:00.47 ID:BmRkwyYt0
>もう一点教えて頂けませんでしょうか。
>編集モードの時、削除ボタンや詳細表示ボタンを表示していると、
>文字を表示可能なCell幅が小さくなると思います。

確認してないけど
UITableViewCellのcontentViewにサブビューを追加すれば、あとは自動で面倒見てくれるんじゃないの?
783名称未設定:2012/03/20(火) 11:56:13.16 ID:3LbUNcU30
標準で内蔵されているフォントで、「数学用の英数字記号」(例えば、U+1D712)などを実装しているものはありますでしょうか?
あったら、フォント名を教えていただけませんでしょうか。
(自分で小一時間ほど探したのですが見つかりませんでした)
784名称未設定:2012/03/20(火) 12:07:44.32 ID:Usrh3WBk0
そんな文字があったのか
ギリシャ文字とは違うのかな
785名称未設定:2012/03/20(火) 13:18:24.14 ID:3LbUNcU30
>>784
ギリシャ文字は、コードU+0391あたりで、また別なんですよ。
こんなの表示したいんです(ばけるかもしれないけど)→��
786名称未設定:2012/03/20(火) 13:41:00.84 ID:g5OaggRJ0
787名称未設定:2012/03/20(火) 14:35:15.92 ID:skTiFXpmP
これであってりゃ、iPadのフォントは全部豆腐だたよ。
unsigned char c[] = {0xF0, 0x9D, 0x9C, 0x92, 0};
NSString *s = [NSString stringWithCString:c encoding:NSUTF8StringEncoding];

@"¥u1d712"とは書けないのね。
788名称未設定:2012/03/20(火) 14:42:04.73 ID:GgwfRBFL0
Mac OS X でも無いようだけど
789名称未設定:2012/03/20(火) 14:46:32.52 ID:BmRkwyYt0
自前のフォントを入れれば解決。
790名称未設定:2012/03/20(火) 14:47:16.58 ID:GgwfRBFL0
http://www.fileformat.info/info/unicode/char/1d712/fontsupport.htm
のうち Code2001 とかフリーのを作者の確認をいちおうとってアプリに取り込むとかかな
791781:2012/03/20(火) 15:13:53.07 ID:LDIt36hi0
>>782
レスありがとうございます。

やってみたら次のようになりました。
(1)「詳細表示ボタン」は、重ならないように、セルのLabel文字が左にズレて表示されますが、
 「削除ボタン」はセルのLabel文字と重なって表示されます(文字が右にズレません。
 「詳細表示ボタン」の有無に関係なく。)
(2)編集モードでは、tableView:cellForRowAtIndexPath:が呼ばれないので、
 編集モードか否か判定して表示位置を変える事はできないようです。

どうすれば、編集モードの時に「削除ボタン」と文字が重ならないようにできるのでしょうか?
792名称未設定:2012/03/20(火) 15:58:13.10 ID:eDAJRISN0
ツールバーのボタンを押したときに
tablecellviewの慣性スクロールが残っていた場合にピタっとスクロールを止める方法はありませんか?
793名称未設定:2012/03/20(火) 16:02:40.99 ID:jkIa2THZ0
あるメソッドを遅延させて、以降の処理も同じだけ遅延させたいんだけど、いい方法ないですか?
以下簡単にテストしたところ、123の順で処理させたいんだが、231と表示されてしまいます。
なんで?

- (void)tst
{
NSLog(@"1");
}

- (void)test
{
[self performSelector:@selector(tst) withObject:nil afterDelay:5];
[NSThread sleepForTimeInterval:5];
NSLog(@"2");
}

- (void)viewWillAppear:(BOOL)animated
{
[self test];
NSLog(@"3");
}
794名称未設定:2012/03/20(火) 16:06:43.95 ID:Cb9Ksp+E0
非同期なんだから当然じゃないか?
1→2→3の順に処理する関数でも作ればいいじゃない
795名称未設定:2012/03/20(火) 16:26:42.53 ID:5jdVEmIHP
>>792
>>541 の textView を scrollView にしてもいけるはず。
796名称未設定:2012/03/20(火) 16:31:41.80 ID:5jdVEmIHP
>>793
何をやりたいのかさっぱりわからないけど、test がメインスレッドで動くなら、
sleepForTimeInterval: したらメインスレッドが止まっちゃうから、絶対ダメ。
797名称未設定:2012/03/20(火) 16:32:02.01 ID:eDAJRISN0
>>795
ありがとうございました
798名称未設定:2012/03/20(火) 16:49:39.11 ID:BmRkwyYt0
>>791
http://stackoverflow.com/questions/1629335/how-to-get-the-size-of-the-delete-button-in-a-uitableviewcell-when-swipe-to-de
の解答によれば、contentViewが自動で面倒見てくれるみたいだけど?
799名称未設定:2012/03/20(火) 16:54:26.83 ID:jkIa2THZ0
>>794 >>796
Thanx
800名称未設定:2012/03/20(火) 17:28:05.39 ID:95NDetyw0
>>793
そういう場合は全部の処理を別スレッドにぶん投げて、そのスレッドの立ち上げを遅延させる
801名称未設定:2012/03/20(火) 17:37:50.45 ID:3LbUNcU30
フォントの件、レス有難うございます。
色々とやってみます。
802名称未設定:2012/03/20(火) 18:05:46.39 ID:GgwfRBFL0
>>793
viewWillAppear: で処理中に tst を時間を置いて処理したいって見えるけど
viewWillAppear: を素早く終わらせないのは問題があるだろうというのは、置いておいて
performSelector: で afterDelay: 付きなのが処理されるのは、実行ループ中
つまり、それだと時間を指定しても viewWillAppear: を抜けた後じゃなきゃ tst は実行されず、231 になる。だと思う

[self performSelector:@selector(tst) withObject:nil afterDelay:5];
[[NSRunLoop currentLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:5]];

で希望する動きになるんじゃないのかなあ
きっちり時間とおりなのか知らんけど(dateWithTimeIntervalSinceNow:5 をちょっと長くするとか)

まあ、もうちょっと別の方法を考えた方がいいと思うけど
803名称未設定:2012/03/20(火) 18:26:32.31 ID:GgwfRBFL0
>>793,802
[self performSelector:@selector(tst) withObject:nil afterDelay:5];
[NSThread sleepForTimeInterval:5];
そのままで、直後に
[[NSRunLoop currentLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:.001]];

[[NSRunLoop currentLoop] runUntilDate:[NSDate date]];
の方がより確実かもね
804名称未設定:2012/03/20(火) 19:06:57.40 ID:skTiFXpmP
GCDでキュー
805791:2012/03/20(火) 19:59:47.72 ID:LDIt36hi0
>>798
レスありがとうございます。

削除ボタンのサイズは知る必要ないと書かれていますが、
layoutSubviewsをオーバーライドして、適当なサイズをsubViewにセットしろと
書かれていませんか?(英語に自信ないですけど)
806名称未設定:2012/03/20(火) 20:16:10.77 ID:WZZjo/bz0
CLLocationManagerを使う部分を Static Library にして、startUpdatingLocation を呼ぶと、

CLLocationManager onClientEvent:supportInfo
objc_msgSend EXC_BAD_ACCESS

って言ってクラッシュするんだけど・・・。

どうしようもないですか?
位置情報サービス部分はStaticLibraryじゃダメなのかな・・・?
807名称未設定:2012/03/20(火) 20:26:09.18 ID:GgwfRBFL0
>>805
ID:BmRkwyYt0 はオートリサイズで全部まかなえるということでしょ
オートリサイズでフラグなどをいくら調整しても、思い通りにならないってなら、layoutSubviewsでやれってことじゃないの
俺はモード変わる時にでvisibleCellsからとtableView:cellForRowAtIndexPath:indexPathで自分でやっていたけど
808名称未設定:2012/03/20(火) 20:26:39.50 ID:L2G39H830
アプリ作りたいからMAC買いたいんですがminiとimacどちらがいいですかね
809名称未設定:2012/03/20(火) 20:59:07.34 ID:jkIa2THZ0
>>800 >>802 >>803
アドバイスありがとう

>>808
今使ってるけど、miniでもメモリ増設すれば快適
将来不要になったらテレビと繋げるつもり
810名称未設定:2012/03/20(火) 21:40:23.59 ID:5LScnrSm0
次のiPhoneってアスペクト比変わるんかな?
811名称未設定:2012/03/21(水) 00:14:05.62 ID:QMw7uygv0
2点質問させてください。
コーディングの練習として2chビュアーを作っているのですが、特定のスレッドだけstringWithContentsOfURLで.datの中身が取得出来ないことがあります。(nullが返ってきます)
例えばhttp://awabi.2ch.net/gogaku/dat/1298542858.datなどです
URLはURL文字列からNSURL URLWithString:で変換しています。
エンコーディングは、NSShiftJISStringEncodingです。UTF8とかにしてみてもダメです。
同じ掲示板の別のスレッドだと問題なかったりするので、なんでかなーと思っているのですが
GETのrequestを作ってみてもダメです。ステータスコードは200が帰ってきます。
これはサーバーからデータ自体取得出来ていないんでしょうか、それとも使うメソッドを間違っていてStringに変換し損なっているのでしょうか?

また、数値実体参照、文字実体参照を文字に変換するメソッドが分からないのですが、そういったメソッドは用意されているのでしょうか?
調べてみたところGoogle Toolbox for Macに入っているメソッドを使えばOKとあったので、入れてみたのですが、一部の文字が変換されず残ってしまう感じです。
例えば上のスレッド(awabi.2ch.netだと取得出来ないのでkamome.2ch.netから取得します)の58レス目などです。
812名称未設定:2012/03/21(水) 00:55:36.67 ID:zUIGxE0F0
>>811
NSString文字列に変換する時に変換できない(文字コードが含まれている)てのじゃないのかな
iOS(MacOSX)の文字変換(コード認識)は弱いから、.datを NSData とかで生で取得して、nkfなどの強い文字コード変換で変換するてのはどうかな
813名称未設定:2012/03/21(水) 03:22:52.15 ID:qq2MsGQH0
>>811
NSString文字列に変換できないコードが含まれているんじゃないのかな?
.datを NSData とかで取得して、nkfなどの強い文字コードで変換するてのはどうかな?
814名称未設定:2012/03/21(水) 04:08:12.65 ID:GDlw7jbB0
同じ人かと
815名称未設定:2012/03/21(水) 07:41:39.16 ID:efdr/JUD0
すみません。質問です。
連絡帳のようなアプリを作成しています。
openURLで番号を渡し電話をかけているのですが、
電話をかけている時(発信後)に表示されるIOS標準の電話画面(消音、スピーカーや、キーパッド、終了ボタンなど)の作成は可能でしょうか?
検索したり資料みても、openURLで電話を渡しIOS標準機能に移行という形しか見つからず困ってます。
可能ならば、電話を切る等の作業もカスタマイズして作り、制御したいと考えているのですが・・・
よろしくお願いします。
816名称未設定:2012/03/21(水) 07:55:40.14 ID:Kw8N89EN0
電話機能にはアクセス不可能です。
817805:2012/03/21(水) 08:27:28.59 ID:NX9fUZfr0
>>807
レスありがとうございます。

オートリサイズ関連で調整できるフラグには、どのようなものがあるのでしょうか?
現象的には、幅が小さくなっていないようなのですが。
(詳細表示ボタンを表示した時左にズレるが、元の文字の左側が画面左に隠れる)
818名称未設定:2012/03/21(水) 08:42:10.52 ID:PSD+1fjrP
>>817
>>706 その位自分で調べなよ。
819名称未設定:2012/03/21(水) 11:32:25.15 ID:xj28p+RB0
【再掲】ID:NX9fUZfr0 は、この調子でずっと人に聞き続けるつもりなんだろうか・・・
820名称未設定:2012/03/21(水) 12:52:06.51 ID:QMw7uygv0
>>812,813
ありがとうございます。
変換に失敗しているのではないかということで、まず取得したデータのサイズを調べてみたところ57341と出て、データ自体は正しく取得出来ているようでした。
nkfで変換すればとのことですがnkfが分からなかったので、調べてみたところNKFCocoaというフレームワークが提供されているようなのですが
プロジェクトに追加してインポートするとCocoa.hが無いぞと怒られてしまいます。iOSでこれを使う方法はあるのでしょうか?
とりあえずどうにか変換できないかということで、試しにencoding:に1から順番に入れて総当りで変換してみたところ、いくつかのエンコーディングでは文字列に変換できたのですが、いずれも文字化けを起こしてしまいました。
また、やはりNSShiftJISStringEncoding(8)では変換できていませんでした。
で、>変換できない(文字コードが含まれている)
とのことで「じゃぁその文字列を避けて変換すればいいんじゃないの?」ということで、試しにsubdataWithRange:NSMakeRange(0,100)で切り出してから変換してみたところ、NSShiftJISEncodingで変換出来たので、
さらに1バイト〜2バイトごとに切り出して個別に変換し、変換できたら文字列にappendし、変換出来なかった(nullになった)ら代わりの文字列をappendするようにしたら上手く変換出来るようになりました。
全文一気にstringWithContentsOfURL:やinitWithData:で引っ張ってくるよりもこちらの方が安全ですね。
で、変換に失敗している文字を数え上げさせてみたところ130文字失敗しているということで、どこで変換に失敗しているのかと思ってみてみたところ、129レス目、130レス目、135レス目などにあるUnicode:0xFFFDの文字が変換できていませんでした。
CotEditorにコピーしてShiftJISにエンコーディングを変えようとすると互換性が無いと出るので、これが原因でShiftJISには変換できなかったようですね。
とりあえずはこの方法で対処してみようと思います。
実体参照については諦めてGTMで妥協しようと思います。
821名称未設定:2012/03/21(水) 14:11:16.01 ID:zUIGxE0F0
>>820
NKFCocoa 見てみたけど、Mac OS X 用のフレームワークだね。使っているのはiOSと共通のしか使ってないみたいだから、ソースを取得して
NKFCocoa.h
NKFCocoa.m
NKFCocoaLocal.h
config.h
nkf.m
utf8tbl.c
utf8tbl.h
をプロジェクトに取り込んで、
#import <Cocoa/Cocoa.h>

#import <UIKit/UIKit.h>
に変えて
コンパイラスイッチに
-DMACOSX_COCOA
を追加すれば、使えるような(ビルドを通すまでしかやっていない)

ちょっと見たところ、コード変換部分(関数)だけを使うんじゃなくて、実行コマンドをラップしているんだね。nkfラッパーなんだからそうか

原因が特定できて対処できているなら、それでもいいと思う


>>814
違うよ。愉快犯か専属校正の人かとw
822名称未設定:2012/03/21(水) 14:32:26.88 ID:zUIGxE0F0
>>820,821
#import "NKFCocoa.h"
して、
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://awabi.2ch.net/gogaku/dat/1298542858.dat"]];
NSError *error = nil;
NSString *string = [data stringByNKFWithOptions:@"" error:&error];
だけで、UTF-8なNSStringとして取得できましたよ
823817=791:2012/03/21(水) 15:55:47.56 ID:NX9fUZfr0
>>807,818
レスありがとうございます。

下記のコードで実行しますと、「ほげ」の文字は「ズレない文字」と重なって表示されますが、
「削除ボタン」表示時に正常に右にズレます(「ズレない文字列」は「削除ボタン」と重なる)。
何が間違ってるのでしょうか?

- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:identifier];
cell.textLabel.text = @"ほげ"; //削除ボタンが表示されると正常にズレる
serviceLabel=[[[UILabel alloc] initWithFrame:CGRectMake(5.0, 0.0, 200.0, 22.9)] autorelease];
serviceLabel.text=@"ズレない文字列"; //削除ボタンと重なる
[cell.contentView addSubview:serviceLabel];
}


824名称未設定:2012/03/21(水) 16:06:19.70 ID:yTZdON2Q0
>>823
そもそもお前は何がやりたいの?
・UITableViewCell にもともと用意されてる textLabel を使わないのはなぜ?
・セルやラベルの高さの小数点以下まで指定するのはなぜ?
825823:2012/03/21(水) 17:11:47.33 ID:NX9fUZfr0
>>824
レスありがとうございます。

Label領域を4つ作りたいのです。
作ったLabelが編集モードでうまく動作しないので、
原因究明のために、サイズを変えたり、
標準Labelにデータを入れるコードを追加したりしています。
ここに全ソースを載せられませんので、一部だけ載せています。
826名称未設定:2012/03/21(水) 18:09:58.23 ID:yTZdON2Q0
まず、ここにある「iOS Table View プログラミングガイド」を読め。
https://developer.apple.com/jp/devcenter/ios/library/japanese.html

基本的に、セルはちゃんと再利用されるように書かなきゃ駄目。
(セルの再利用については、上記ドキュメントに書いてあるから、ちゃんと読め。)
で、削除ボタンと重なる問題は label の autoresizingMask を設定すればいい。

それから、もう一度聞くけど、セルやラベルの高さを小数点以下まで指定するのはなぜ?
827名称未設定:2012/03/21(水) 19:01:53.55 ID:efdr/JUD0
>>816
やはり不可能ですか。
道理でやり方探しても見つからなかったんですね。ありがとうございました。
828名称未設定:2012/03/21(水) 19:38:33.85 ID:FU5vPFJp0
バックライトの明るさをアプリから変換することは可能ですか?
アプリが立ち上がってる間だけでいいんですが(^_^;)
829名称未設定:2012/03/21(水) 19:39:02.76 ID:HSE+NZ400
定数が定義済みかどうか調べる方法を教えてください
メソッドだとrespondsToSelectorで調査できるけど
830名称未設定:2012/03/21(水) 19:46:46.78 ID:Xp1tofLN0
えっ?
831名称未設定:2012/03/21(水) 20:15:46.54 ID:zUIGxE0F0
>>820
実体参照って、実体参照なんじゃそら。ってことで無視していたけど、なるほど
nkf でも --numchar-input オプションでサポートしている。本来は、--numchar-input だけ指定してもそのまま文字コードのコンバートと一緒にやってくれるけど、NKFCocoa ではエラる(NSString の変換時に)。

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://kamome.2ch.net/gogaku/dat/1298542858.dat"]];
NSError *error = nil;
data = [data dataByNKFWithOptions:@"--numchar-input" error:&error];
NSString *string = [data stringByNKFWithOptions:@"" error:&error];

とすれば、変なコードと実体参照も含まっても変換してくれるみたい
(stringByNKFWithOptions:するのはなんか意味無さげだけど)


[data stringByNKFWithOptions:@"--numchar-input" error:&error];
は、subversion tar からのソースだとクラッシュする
NSArray *errObjArray = [NSArray arrayWithObjects:NSLocalizedString(@"NKFCocoaStringWithContentsOfURLString", @""), recoverySuggestion, nkferror, nil];
の、nkferror を err にすれば、OK
832名称未設定:2012/03/21(水) 22:07:40.78 ID:QB4UZT8T0
オブジェクトのプロパティの名前と値の組をNSDictionaryに変換したいのですが、
どんな風に書いたら良いのでしょう
833名称未設定:2012/03/21(水) 22:15:43.12 ID:8h6ndFUjP
>>832
NSDictionary *d = @[ key1 : val1, key2 : val2 ];
834名称未設定:2012/03/21(水) 22:26:39.51 ID:QB4UZT8T0
ありがとうございます。
オブジェクトのプロパティ名一覧の取得とvalの一覧を取得する方法が知りたいです。

プロパティ名とプロパティの型をNSDictionaryで取得する方法はググったらすぐ出てきました
http://qiita.com/items/2823
835名称未設定:2012/03/21(水) 22:32:57.03 ID:DeAlkbBD0
ミュージックや連絡先のように一つのセルを縦線で区切ってそれぞれ別の反応をさせたいのですが、これはラベルや縦線の画像を並べて作っているんでしょうか
それとも他に良い方法がありますか?アドバイスお願いします
836名称未設定:2012/03/21(水) 22:43:50.38 ID:yTZdON2Q0
>>834
プロパティ名が分かれば、あとは valueForKey: とか。
で、何がしたいの? オブジェクトの永続化なら NSCoder とかを使うべきだよ。
837名称未設定:2012/03/21(水) 22:45:28.79 ID:yTZdON2Q0
>>835
UITableView。詳しくは、ここにある「iOS Table View プログラミングガイド」を読んでね。
https://developer.apple.com/jp/devcenter/ios/library/japanese.html
838名称未設定:2012/03/21(水) 23:01:07.60 ID:DeAlkbBD0
>>837
すいません、UITableViewで一般的な縦のリスト表示ってことですよね
そうではなくて、それぞれのセルを横に分割したいのですが
839名称未設定:2012/03/21(水) 23:13:17.57 ID:yTZdON2Q0
>>838
あ、ごめん。縦線を引きたいのか。
UITableViewCell のサブクラスを作って自分で描画するか、
または、こんな方法もあるみたい。
http://stackoverflow.com/questions/4165409/how-to-draw-a-line-in-uitableviewcell
(でも、lineView.autoresizingMask = 0x3f; はひどいな…。)
840名称未設定:2012/03/21(水) 23:50:36.70 ID:DeAlkbBD0
>>839
ありがとうございます
自分で描画する際にはCGRectMake等を使うんですよね
勉強してみます
841名称未設定:2012/03/21(水) 23:51:00.55 ID:yTZdON2Q0
>>829
定数はほとんど enum だから、「定義されてるかどうか」は使用する SDK のバージョンで決まる。
たぶん、知りたいのは「その定数は現在動いてる OS で使っていいか?」だと思うけど、
それをチェックするのは OS のバージョンをチェックする必要がある。
842名称未設定:2012/03/21(水) 23:59:08.52 ID:yTZdON2Q0
>>828
iOS 5 以降なら UIScreen の brightness プロパティでできるよ。
(それ以前は GSEventSetBacklightLevel って関数があったらしいけど、非公開 API につきリジェクト対象。)
843名称未設定:2012/03/22(木) 00:48:14.94 ID:CVstwE5i0
AVCaptureSessionを使ってUIImagePickerControllerと同じような画面構成の動画キャプチャを作っています。
キャプチャに関しては想定通りの動作になりました。
キャプチャ開始の際にオーディオを鳴らす方法で躓いています。

UIImagePickerControllerでは「ピン」という効果音が鳴りますが、
やはり同じように、システムボリュームやサイレントモードの状態に関わらずオーディオを鳴らしたいわけです。

AVAudioSessionでsetCategoryとsetPropertyを用いてサイレントモードを無視するところまではできました。
しかしシステムボリュームを無視する方法が分かりません。
なにかご存知の方、情報を頂ければありがたいです。

よろしくおねがいします。
844名称未設定:2012/03/22(木) 01:19:50.30 ID:sUMhHguZ0
UILocalNotificationについて質問です。

通知発生時にユーザーがアラームのActionボタンをタップしてくれなかった場合でも、
自分のアプリケーションに何らかの処理をさせる事は可能でしょうか?

通知のタイミングで、次回の通知をUIApplicationにスケジュールしたいのですが、
ユーザーが無視していた場合に次回の通知をスケジュールできず困っています。

repeatIntervalのプロパティでは日、週、月などの単純な繰り返しサイクルしか指定できず、
ランダムな日を指定するには、その都度fireDateを指定してスケジュールする必要があります。

せめて通知のタイミングで一瞬でも処理ができれば解決できるのですが、
何かよい方法はありませんでしょうか?
845名称未設定:2012/03/22(木) 01:37:22.37 ID:H8d4+Ok40
>>836
valueForKey使おうと思います。
やりたかったことはPHPのget_object_varsのようにオブジェクトのプロパティを配列で返すような処理を入れたかったのですが、valueForKeyで充分ですね
846名称未設定:2012/03/22(木) 01:38:03.99 ID:bhqwC1J60
>>844
アプリがフォアグラウンドで動いてない限り無理っぽいね。
最大 64 個まで設定できるみたいだから、その範囲内でなんとかするしかないんじゃない?
847名称未設定:2012/03/22(木) 01:40:34.26 ID:bhqwC1J60
>>845
いや、だから何のためにそんな変なことをするのか聞いてるんだけど。
何も考えずに他の言語のやり方を持ち込むのはやめた方がいいよ。
848名称未設定:2012/03/22(木) 02:17:28.57 ID:sUMhHguZ0
>>846
回答ありがとうございました。やっぱりそうなんですね。
仕様でカバーするよう考えます。
849名称未設定:2012/03/22(木) 04:05:53.55 ID:5nXl/z0m0
さっき「In review」になって、その14分後にRejectされてました。
少し長くなりますが、質問です。
どうやら「問題はひとつ」らしいのです。
その問題は、ボタンのポップアップに関することのようです。
以下に、内容を書きます。
Binary Rejected Mar 21, 2012 10:38 AM
Reasons for Rejection:
10.3: Apps that do not use system provided items, such as buttons and icons, correctly and as described in the Apple iPhone Human Interface Guidelines and the Apple iPad Human Interface Guidelines may be rejected
Mar 21, 2012 10:38 AM. From Apple.
10.3

We found your app uses system-provided items in a non-standard manner, which is not in compliance with the App Store Review Guidelines.

As recommended by the iOS Human Interface Guidelines, Pickers should only be presented within a popover element

Please see the attached screenshot for reference to the issue.

Learn more about system-provided items in the iOS Human Interface Guidelines, sections: "System-Provided Buttons and Icons" and "iOS UI Element Usage Guidelines."

850名称未設定:2012/03/22(木) 04:10:27.49 ID:5nXl/z0m0
As recommended by the iOS Human Interface Guidelines, Pickers should only be presented within a popover element
iOSのヒューマンインタフェースガイドラインで推奨されているように、ピッカーは、ポップオーバー要素内に提示されるべき

これは一体どういうことでしょう。ピッカーのソースを書く部分を、間違えて書いたということでしょうか?
こんなSSも貼られていました。ユニバーサルアプリなんですが、
iPhone版はおkでiPad版はおkということでしょうか?
問題はピッカーのソースコードだけですかね。
http://iup.2ch-library.com/i/i0593618-1332356946.png
851名称未設定:2012/03/22(木) 04:11:06.46 ID:5nXl/z0m0
全文訳がこれです。

バイナリが03月21拒否された、201210:38午前
拒否の理由:
10.3:正しく、ボタンやアイコンなどのシステム提供の項目を使用して、アップルのiPhoneヒューマンインターフェイスガイドラインとAppleのiPadヒューマンインタフェースガイドラインに記載されていないアプリが拒否される
3月21日は、2012年10:38です。アップルから。
10.3

私達はあなたのアプリはApp Storeのレビューガイドラインに準拠していない非標準的な方法でシステム提供の項目を使用しました。

iOSのヒューマンインタフェースガイドラインで推奨されているように、ピッカーは、ポップオーバー要素内に提示されるべき

問題への参考のため添付のスクリーンショットを参照してください。

iOSのヒューマンインタフェースガイドラインのセクションで、システム提供の項目に関する詳細情報: "iOSのUI要素の使用上のガイドライン" "システム提供のボタンとアイコン"および
852名称未設定:2012/03/22(木) 04:28:16.73 ID:bhqwC1J60
>>851 に書いてある通り、iPad では「ピッカーは、ポップオーバー要素内に提示されるべき」ってことじゃないの?
ってか、そもそも iOS ヒューマンインタフェースガイドライン読んだことある?
853名称未設定:2012/03/22(木) 04:47:14.13 ID:sUMhHguZ0
iPadはビューに直接ピッカーを置いてはいけない、ということですな。
854名称未設定:2012/03/22(木) 04:48:41.77 ID:5nXl/z0m0
>>852
レス有難うございます!
今はじめてヒューマンインタフェースガイドライン読みました!
popoverはiPad特有の機能で、
そこにデイトピッカーも入れとけと言ってるんですね。
今から実装してみます。
あとレビューチームにも連絡します。
855名称未設定:2012/03/22(木) 05:08:59.31 ID:5nXl/z0m0
>>853
なるほど。
m(_ _)m みなさんありがとうございました。
856名称未設定:2012/03/22(木) 05:36:57.50 ID:5eP3ha/L0
そのガイドラインよんだことなかったけど、
iPadなら、普通そうするよねw
857名称未設定:2012/03/22(木) 08:21:46.96 ID:jvyOaApFP
MobileHiG読まない奴がドサ臭いアプリ作るんだよなぁ。
858825:2012/03/22(木) 08:39:48.69 ID:hZ0bx+Ed0
>>826

レスありがとうございます。
省略していますが、cellは再利用するようにしています。
また、autoresizingMaskも、下記のように指定しています(それでも削除ボタンと重なります)。
serviceLabel.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin
                 |UIViewAutoresizingFlexibleHeight;

現象的には、cell.textLabelは、編集モードで削除ボタンが表示される時に右へズレるが
cell.contenetViewは、削除ボタン表示時に右ズレない、という事です。
どうしてなのでしょうか?

あと、少数点の件ですが、1画面に表示するセルの個数(見た目だけですが)とか
余白を微妙に調整する(あまり意味ないのかも知れませんが)ためとかで
たいした意味はありません。
859名称未設定:2012/03/22(木) 08:42:19.10 ID:TkHI8hfw0
右と左の区別もつかないのか
860名称未設定:2012/03/22(木) 08:55:45.91 ID:bhqwC1J60
>>858
なぜそういう大事なことを省略するの?
serviceLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin;
にしたら期待する動作になるんじゃないかな。
詳しくは、autoresizingMask の意味をちゃんと勉強し直すこと。

あと、小数点の件は、それによってラベルに表示する文字が微妙ににじむ
(かつ、行ごとににじみ方が変わる)ことに気づいてる?
自分で描画するなら小数点以下を指定する場合もあるかも知れないけど、
普通にビューを配置する場合は小数点以下を指定するのは意味ないと思うよ。
861名称未設定:2012/03/22(木) 10:51:42.99 ID:uCHamWRn0
HIG読んでない奴がいるの自体信じられんのだが…
昔、登山者が登山具がいるような険しい深山で
ずーっと道を間違って迷い込んできた
スーツに革靴のビジネスマンを見かけて驚愕したという
エッセイを読んだのをなぜか思いだしたり…
862名称未設定:2012/03/22(木) 11:23:16.22 ID:bhqwC1J60
存在自体知らない人が少なくないかもね。せっかく日本語に翻訳されてるのに…。
でも、リジェクトされて、ヒューマンインターフェイスガイドラインに違反してると指摘されてるのに、読もうとも思わないってのはどうしたものか。
863名称未設定:2012/03/22(木) 11:32:04.60 ID:2QfK6GwV0
iphoneから半角カナを含むメールを送った場合文字化けするのは
どんな場合でしょうか。
864858:2012/03/22(木) 11:50:31.45 ID:hZ0bx+Ed0
>>859,860
レスありがとうございます。お手数をおかけしました。
なお、Labelの少数点は原因調査の時だけで、実際のサイズは整数にしています。
865名称未設定:2012/03/22(木) 12:20:40.18 ID:VgVe+fkD0
xcodeにiphone接続して認識してくれない。タスケテ。プロビションファイルとかは期限が切れてない。
866名称未設定:2012/03/22(木) 12:26:42.07 ID:IJYRjtto0
>>865
iOS5.1にしたのにXCodeのバージョンあげてない
867名称未設定:2012/03/22(木) 12:39:56.13 ID:CIwSPAbV0
やっぱここに聞きにきてる連中って、HIG読まなかったりXcode環境が不十分だったり基本的なことが全くできてない輩が多いな。
868名称未設定:2012/03/22(木) 12:59:40.45 ID:n9fPIHBg0
スレタイ10回読んでみ
869名称未設定:2012/03/22(木) 13:06:46.63 ID:CIwSPAbV0
初心者以前の問題だろJK
870名称未設定:2012/03/22(木) 13:14:48.38 ID:PpDu+/Y60
iOS開発の初心者じゃなくてプログラミングの初心者が集うスレになってる。
871名称未設定:2012/03/22(木) 13:19:36.72 ID:n9fPIHBg0
>>869
残念ながら、どこまで基本を済ませたのを(ここで)初心者とするというような明確なものはないんな、これが
iOS開発の初心者に限定しても
872名称未設定:2012/03/22(木) 13:22:38.26 ID:5nXl/z0m0
popoverにデイトピッカーを表示させて、その内容をラベルに受け渡したいのですが、
popoverすら出ません。このソースコードのようなコードで書いたのですが、
どうすればデイトピッカーのポップオーバーを出せてデリゲート出来るでしょうか?
「デリゲート」は、イベントの通知先ということなどは分かったんですが、
「通知元オブジェクト」は popoverController.delegate で、「プロトコルを実装したオブジェクト」が何かわかりません。
selfだと互換性がない、親和性がないとエラーが出ます。デイトピッカーのデータからラベルにテキストを移したい場合は委譲先を、
何にすればいいのでしょう?

- (IBAction)clickPress1:(id)sender{
popoverContent = [[UIViewController alloc] init];

popoverView = [[UIView alloc] init];
popoverView.backgroundColor = [UIColor blackColor];

_dpicker=[[UIDatePicker alloc]init];
_dpicker.frame=CGRectMake(0,44,320, 216);
_dpicker.datePickerMode = UIDatePickerModeDateAndTime;
[_dpicker setMinuteInterval:5];
[_dpicker setTag:10];
// [datePicker addTarget:self action:@selector(dateChanged) forControlEvents:UIControlEventValueChanged];
[popoverView addSubview:_dpicker];

popoverContent.view = popoverView;
popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
//→ここ popoverController.delegate=self;
[popoverContent release];


}
873名称未設定:2012/03/22(木) 13:22:57.15 ID:n9fPIHBg0
ID:hZ0bx+Ed0 とか面白いの見れるからええやん。と俺はおもうんだけどなw
874名称未設定:2012/03/22(木) 13:23:11.45 ID:5nXl/z0m0
>>872
>このソースコードのようなコード
このソースそのままです。
875名称未設定:2012/03/22(木) 13:27:17.03 ID:5nXl/z0m0
>>872
ちなみに、ストーリーボードを使っています。
876名称未設定:2012/03/22(木) 13:32:19.51 ID:n9fPIHBg0
>>872
>委譲先を、何にすればいいのでしょう?
その self のクラスでいいんじゃないの
その self のクラスが UIPopoverControllerDelegate プロトコルを実装してない(宣言部に書いてないだけだと思うけど)

Appleにリジェクトされた人なら、デリゲート勉強してなくてアプリ公開しようというのはすんごいなと思うw
877名称未設定:2012/03/22(木) 13:34:58.06 ID:5nXl/z0m0
>>876
レスありがとうございます!
なるほど、実装させておけばいいわけですね。
デリゲートも並行して勉強中でして・・・すみません。
878名称未設定:2012/03/22(木) 17:04:55.21 ID:zvzkw4zj0
URLスキームを使って自分のアプリを呼び出したときに、
呼び出し元のアプリを特定したいのですが、

自分のアプリが起動されていないときは、
application didFinishLaunchingWithOptions:の中で
UIApplicationLaunchOptionsSourceApplicationKey
から取得できたのですが、

アプリが起動していると、handleOpenURLが呼ばれてしまい、
アプリ元が取得できません。

自分のアプリが起動中(もしくはバックグラウンド)でも呼び出し元の
アプリを特定するのは、どうすれば良いのでしょうか?
879名称未設定:2012/03/22(木) 17:25:39.50 ID:31+yqW8J0
どのレベルまでの質問を初心者と考えるべきなのか
880878:2012/03/22(木) 18:07:04.25 ID:zvzkw4zj0
>>879
すみません、どういうことでしょうか?。。
881名称未設定:2012/03/22(木) 18:14:22.57 ID:n9fPIHBg0
>>878
そこらはiOSでもAppleEventなのかな/そうじゃないのかな
URLスキームってダイレクトに来るのかなあ/iOSが発信元になるのかなあ
AppleEventを自分でハンドリングするなんて、今時しないからさっぱりだなあ

くらいのレベルのしつもん?w
882名称未設定:2012/03/22(木) 18:16:04.14 ID:PpDu+/Y60
特定したあと何すんの?
883878:2012/03/22(木) 18:21:17.17 ID:zvzkw4zj0
>>881
レベルはわかりませんが、困っています。。

>>882
特定した後は、呼び出し元のアプリを自分のアプリから呼び出すつもりです。
今のところ、呼び出し元を特定したいのは標準アプリの
メモ、メール、メッセージ、Safariくらいなんですが。。。
884名称未設定:2012/03/22(木) 18:43:52.58 ID:n9fPIHBg0
>>883
>>880 に対するね。>>879 の真意はわからないが
AppleEventはiOSではあるのかないのか、どっちにしろアンドキュメントのよう
iOSじゃなかったらダミーとかかましてとかいろいろできるんだけどねえ
885名称未設定:2012/03/22(木) 19:14:40.78 ID:n9fPIHBg0
>>883
UIApplicationDelegate application:openURL:sourceApplication:annotation:

If this method is not implemented, UIApplication calls application:handleOpenURL: (if implemented). You should implement this method in preference to application:handleOpenURL:.

らしいけど
886名称未設定:2012/03/22(木) 19:17:13.53 ID:u5DS/KPQ0
887名称未設定:2012/03/22(木) 19:25:29.67 ID:5nXl/z0m0
showpopoverをボタンに割り当てて、別.h.mファイルでpopoverを作り、
そこにデイトピッカーを実装しました。このデイトピッカーのすぐ上に、
キャンセルと完了のツールバーを置きたいのですが、表示されません。
これを表示させるにはどうすればいいでしょうか?
以下はpopovermファイルの上から初期化の最後までのコードです。

#import "PopoverContentViewController.h"
#import <CoreData/CoreData.h>

@implementation PopoverContentViewController

#pragma mark -
#pragma mark View lifecycle

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {

toolbar = [[[UIToolbar alloc] init] autorelease];
toolbarItems = [NSMutableArray array];

cancelButton = [[UIBarButtonItem alloc] //initWithBarButtonSystemItem: UIBarButtonSystemItemCancel target:self selector:@selector(cancel)]
autorelease];

space = [[UIBarButtonItem alloc] //initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target:nil selector:nil]
autorelease];
doneButton = [[UIBarButtonItem alloc]
//initWithBarButtonSystemItem: UIBarButtonSystemItemDone target:self selector:@selector(done)]
autorelease];
888名称未設定:2012/03/22(木) 19:27:42.22 ID:5nXl/z0m0


[toolbarItems addObject:cancelButton];
[toolbarItems addObject:space];
[toolbarItems addObject:doneButton];
toolbar.items = toolbarItems;

// Add a label to the popover's view controller.
_dpicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 320, 320)];
_dpicker.date = [NSDate dateWithTimeIntervalSinceNow:90100000*(-7)];
_dpicker.datePickerMode = UIDatePickerModeDate;

[self.view addSubview:toolbar];
[self.view addSubview:_dpicker];

[_dpicker release];

}

デイトピッカーはどうやらコードも反映されて、うまく表示出来るんですが、
デイトピッカーと合体させたような状態でツールバーを表示できません。
同時にツールバーを表示する方法を、ご教示お願いします。m(_ _)m
889名称未設定:2012/03/22(木) 20:00:03.75 ID:5nXl/z0m0
>>888
デイトピッカーと合体させたような状態でツールバーを表示させたいんです。
890878:2012/03/22(木) 20:09:50.35 ID:zvzkw4zj0
>>884
ありがとうございます。アンドキュメントなんですね。。

>>885
ありがとうございます。iOS4.2からはこういう方法があるんですね!
リファレンスの「There is no matching notification for this method.」
が、ちょっと気になりますが、iOS5.1の環境では上手くいきました。

ありがとうございました
891名称未設定:2012/03/22(木) 20:40:31.93 ID:VgVe+fkD0
>>866
ありがとう出来た(´・Д・`)
892名称未設定:2012/03/22(木) 21:01:38.51 ID:bhqwC1J60
>>889
ドキュメント読め。

>>890
>リファレンスの「There is no matching notification for this method.」
は、app delegate の他のメソッド (applicationWillTerminate: とか) には、対応する NSNotification (UIApplicationWillTerminateNotification とか) があるけど、
application:openURL:sourceApplication:annotation: にはないよってこと。まぁ気にしなくていい。
893名称未設定:2012/03/22(木) 22:46:52.35 ID:5nXl/z0m0
>>892
ありがとうございます。
ドキュメント読んでみました。
そこで、デイトピッカーを含むポップオーバーの外側に、
決定ボタンを配置して、デイトピッカーのみ表示、
ということもルール的には可能だと思ったんですが、
いかがでしょうか。
ちなみにボタンをタップするとデイトピッカーが入ったポップオーバーが出て、
さっき押したボタンの種類が「選択」から「決定」に切り替わります。ボタンはひとつだけです。

仮に、デイトピッカーのすぐ上にキャンセルボタンと完了ボタンを配置すると、
片側だけでもボタン数が計3個になってしまいます。
片側で同時に表示してあるボタン数は1個に出来るのですが、
キャンセルは外側タップでもできるのに(保存はする)、さらに決定ボタンもあるのに、
ボタンをキャンセル・決定・ボタンの選択の3個にしたら、
逆に複雑ではないでしょうか? 三重になると見栄えもあまりよくないと思いますが。
他に必ず守るルールとして、同時にポップオーバーはひとつだけ表示、というのも厳守します。

操作完了したあとすぐにつぎのポップオーバー出す、というのは、
このアプリだと逆に煩雑になって、あまり好ましくないと思いました。

ポップオーバーを使っているので、完了とキャンセルボタンを作らないで、
元のボタンひとつで運用というのは、ルール違反ではないはずです。
純正2個含めた3つボタンを作るのと比べて、この方法は好ましいかご教示お願いします。
894名称未設定:2012/03/22(木) 23:37:14.72 ID:LGEs2JMX0
>>821,822,831
ありがとうございます。
NKFCocoaのソースコードをダウンロードして教えて頂いた通りにやってみたのですが、
"-DMACOSX_COCOAをコンパイラスイッチに追加する"というのがよくわからないのですが、
nkf.mとNKFCocoa.mのコンパイラオプションに-DMACOSX_COCOAと書けばいいのでしょうか。
これ(+arc無効化用のfno-objc-arc)と>>822のコードを書いてビルドは出来たのですが、やはりnullが返ってきてしまいました。
-DMACOSX_COCOAを書く場所が違うのでしょうか・・・

(読み込み失敗については前回のでも今の所対処出来ているのでこのままでもいいのですが、1バイト目を見てから、変換できなかったら2バイト目も見るというやり方でやっているので、
途中で「本来は2バイトで変換されるべきバイト列なのに1バイト目だけでも変換できてしまう文字」があるとそこから全部狂うんじゃないかと若干不安があります。
ShiftJISでASCIIコードが出てくるのは2バイト目だけのはずなので多分大丈夫だと思うのですが、今回のようにUnicodeも混ざっていることがあるみたいなので・・・)

実体参照についてですが、あのあと自前でテーブルを作って変換出来たのでこれでいいかもと思っているのですが、
あまりスマートじゃないような気がしています。文字コードから文字(列)に相互変換してくれるPASCALでいうところのord,chrに当たるようなメソッドは用意されていないのでしょうか?
895名称未設定:2012/03/23(金) 01:47:05.61 ID:+J1yEFxf0
最近触ってなかったらXcodeがiOS5.1を認識しなくなってて
Xcodeのバージョン上げるか…ってAppStore行ったら
iOS5.1アップデートと同じメーカーによってはルーターがパケット通さなくて
アップデートがスタートしないって例の症状が…

DNSに8.8.8.8セットする例の技で切り抜けたけど
ルーターをバッキャロー以外に買い換えなきゃダメか…
896名称未設定:2012/03/23(金) 05:29:38.64 ID:6LoYSPaO0
ARCでなんとかしてretainしたいのですが、方法を調べてもわからなかったので質問させてください。

以下のようなことがしたいのです。

- (id)initWithView:(UIView*)v tag:(int)t {
return [[v viewWithTag:t] retain] ;
}
897名称未設定:2012/03/23(金) 05:53:04.12 ID:gah9tg7B0
>>896
できない/しなくていい。したかったら、受け側で__strongとか気持ち悪いのをw付ける
表題がちょっとだけ気に入ったwこれみてみ
http://www.slideshare.net/ninjinkun/arcios
898名称未設定:2012/03/23(金) 06:20:41.21 ID:gah9tg7B0
>>894
Other C Flags
ってとこに。使っているのは nkf.m だけ
MACOSX_COCOA が効いていなかったら main が二つあるってリンクできないから、ビルド出来ているなら -DMACOSX_COCOA は設定できているんじゃないかな
--numchar-input しないなら、>>822 でNSStringになるんだけどねえ
--numchar-input すると、変換後に変換できない文字があるので2重にNKFしなければならないみたい(詳しくは見てない)

--numchar-input は数値文字参照しか変換しないけどちょっと頑張れば文字実体参照も実装できるよねえ、はたまた --numchar-input で変換後に変換できない文字の処理も一緒にとか


話が全然違うけど(?)、
単にコード変換だったらシステムに標準で入っている iconv があり、iconv でも変換できない文字はスキップするってオプションがあるから強くなれるよう
関数呼び出しとしては割と単純、メモリベース
元のコード認識を自動にはしてくれない、簡単にはいじれなさそうだけど(iconvをソースからだとLGPL)
899名称未設定:2012/03/23(金) 08:54:35.16 ID:y0YpY7AU0
下記のよくある例文で線とか描画はできたのですが、drawRectがどこから呼ばれているのか判らないのですが
教えて頂けないでしょうか?よろしくお願いいたします。

-(void)drawRect:(CGRect)rect{
[self setContext:UIGraphicsGetCurrentContext()];
}

900名称未設定:2012/03/23(金) 09:31:57.30 ID:T4ozhQaf0
あのー、おさわり探偵2をダウンロードしようとしたら、
「新しいiPadにはまだ対応していません」
とか書いてあるんだけど、

対応させるとかいう問題なの? Retinaってだけでしょ?

意味わからない。
901名称未設定:2012/03/23(金) 09:33:37.70 ID:T4ozhQaf0
>>899

え?

じゃあ、viewDidLoadはどこから呼ばれてるかわかってるの?

強制的に呼ぶ方法を知りたいってこと?
902899:2012/03/23(金) 09:47:31.22 ID:y0YpY7AU0
>901
>viewDidLoadはどこから呼ばれてるか
いいえ。

言葉足らずですみません、自分で入力(本コピ)したんですが
drawRectがこの箇所しか表記が無かったため、ソース内をいろいろ見たのですが
見当たりませんでしたので質問させて頂きました。


903名称未設定:2012/03/23(金) 09:50:57.74 ID:EXiPGLXI0
日本語で(r
904名称未設定:2012/03/23(金) 09:51:20.50 ID:T4ozhQaf0
>>902

あのね、システムが呼んでるんだよ。

コンピューターっていうのは1秒間に何十回と画面を再描画してて、
その描画のたびに毎回、drawRectが呼ばれてるの。

だから、drawRect内に描画メソッドを書いとけば、
毎回その描画がされては消されて、また描画されてを繰り返すの。
905899:2012/03/23(金) 09:58:25.45 ID:y0YpY7AU0
>904
そうでしたか。では、自分で定期的に呼ぶ必要は無いんですね。
ありがとうございました。
描画がたまーに反映されるほど遅いので自分で呼ぶ必要が有ると思っていました。
別の問題ですね。




906名称未設定:2012/03/23(金) 10:01:15.61 ID:EXiPGLXI0
>>904
さすがに1秒間に何十回とdrawRect:が呼ばれる訳ではないが。。。
最初に画面に表示されるときとか、
setNeedsDisplayが呼ばれたときとか
だけだよ。

自分で明示的に更新したいならsetNeedsDisplayをよぶんだよ。
907名称未設定:2012/03/23(金) 10:02:36.91 ID:EXiPGLXI0
というか、drawRect:の項目くらいちゃんと読んでおけよボケナス
908名称未設定:2012/03/23(金) 10:06:55.92 ID:T4ozhQaf0
>>906

描画に変更があったときだけ、呼ばれる仕様でしたっけ。すいません。
909名称未設定:2012/03/23(金) 10:11:40.60 ID:T4ozhQaf0
This method is called when a view is first displayed or when an event occurs that invalidates a visible part of the view.
You should never call this method directly yourself.
To invalidate part of your view, and thus cause that portion to be redrawn, call the setNeedsDisplay or setNeedsDisplayInRect: method instead.


ほほー
910名称未設定:2012/03/23(金) 10:17:48.00 ID:5AJ7NpTa0
iOSだけじゃなくて、どのOSでもだいたい似たような仕組み。
911名称未設定:2012/03/23(金) 10:24:39.73 ID:dl4s5KL+0
知ったかが平気な顔で嘘を書くから初心者スレは恐ろしい
912名称未設定:2012/03/23(金) 10:24:56.69 ID:nDp21DN00
>>897
ありがとうございます。

スライドショー見ました、知らなかったこともちょくちょくあったので参考になりました!
retainはできないと見て、retainしたいクラスだけARCを外そうと思います。
913名称未設定:2012/03/23(金) 11:13:28.49 ID:dcDgIZwH0
>>893分かる方いらっしゃいませんか?
914名称未設定:2012/03/23(金) 11:13:52.29 ID:dcDgIZwH0
スクリーンショットも貼ったほうがよろしいでしょうか?
915名称未設定:2012/03/23(金) 11:14:28.08 ID:dcDgIZwH0
長すぎて逆にわかりませんか?
916名称未設定:2012/03/23(金) 11:15:06.15 ID:dcDgIZwH0
NDA的に教えられないのでしょうか?
プログラミングガイドの内容を教えてしまうからですか?
917名称未設定:2012/03/23(金) 11:15:47.56 ID:dcDgIZwH0
他の方ならどうするでしょうか?
918名称未設定:2012/03/23(金) 11:20:46.77 ID:wr4nAqFz0
モーレツに関わりたくないタイプw
919名称未設定:2012/03/23(金) 11:25:24.92 ID:EXiPGLXI0
920名称未設定:2012/03/23(金) 11:37:15.70 ID:EXiPGLXI0

>そこで、デイトピッカーを含むポップオーバーの外側に、
>決定ボタンを配置して、デイトピッカーのみ表示、
>ということもルール的には可能だと思ったんですが、
>いかがでしょうか。

多分ダメ。プログラムデザイン的にも変。ポップオーバーにはview controllerをいれる。
決定動作等はそのview controller内で行うべき。

>仮に、デイトピッカーのすぐ上にキャンセルボタンと完了ボタンを配置すると、
>片側だけでもボタン数が計3個になってしまいます。

ポップオーバー内にキャンセルボタンは要らない。ポップオーバーの外側(どこでもいい)
をタップしたらキャンセルになるから。

選択ボタンと完了ボタンの違いがわからない。


>操作完了したあとすぐにつぎのポップオーバー出す、というのは、
>このアプリだと逆に煩雑になって、あまり好ましくないと思いました。

なんで?


>ポップオーバーを使っているので、完了とキャンセルボタンを作らないで、
>元のボタンひとつで運用というのは、ルール違反ではないはずです。

ポップオーバーは、押したボタンから出てくるように(ポップオーバーの矢印がボタンを向くように)
しなければならない。ボタンを押したら、そのボタンが「選択」から「決定」に切り替わるのは
ルール違反です。なぜなら押した「選択」ボタンを押したのに、ポップオーバーは「決定」
を向いているから。
921890:2012/03/23(金) 11:53:46.74 ID:tngZqzYB0
>>892
ありがとうございます。通知ってUIApplicationのNotificationsの事だったんですね!
922名称未設定:2012/03/23(金) 12:22:30.28 ID:lUcu4Pxi0
Xcode4.3.1をダウンロードして、開いても、
元のXcode4.3がアプリケーションフォルダに残ったままになっています。

自分でXcode4.3(だけ)ををアプリケーションフォルダから削除して、
Xcode4.3.1をアプリケーションフォルダへコピーした場合、
証明書やデバイス情報等はXcode4.3のものが、そのまま使えるのでしょうか?
もし問題があれば、どうすれば良いのでしょうか?
923名称未設定:2012/03/23(金) 12:30:31.39 ID:wmv14PKX0
アプリ単体で使用しても差し支えないメモリの上限って
どれくらいが目安なのでしょうか?
924名称未設定:2012/03/23(金) 12:37:41.01 ID:rfcFC4OT0
>>896
自作クラスなら、Compile Sourcesにて "-fno-objc-arc"を設定して、そのファイルだけにARCを無効化を設定して、
自作クラスに retainとreleaseに該当する別名の関数を作成して、
arcを使用しているクラスからそれを実行。
自作クラスでないなら、同様のことをカテゴリ追加で実装する。

925名称未設定:2012/03/23(金) 12:47:55.91 ID:dcDgIZwH0
>>920
回答ありがとうございます。

>多分ダメ。プログラムデザイン的にも変。ポップオーバーにはview controllerをいれる。
>決定動作等はそのview controller内で行うべき。
そうなんですね。何か引っかかっていたんですが、
やはり完了動作も中でやったほうがいいんですね。

>ポップオーバー内にキャンセルボタンは要らない。ポップオーバーの外側(どこでもいい)
>をタップしたらキャンセルになるから。
キャンセルボタンを外せば、よりシンプルになりますね。
デイトピッカーなので、画面外タップした場合も、内容を保存するようにします。

↓以前上げたスクリーンショットです。
http://iup.2ch-library.com/i/i0594558-1332473751.png
片側にDecide(決定)ボタンがありますが、
押す前はSelect(選択)ボタンでした。
初期状態ではSelectが両側に2つあり、
押したらもう一方は消えるという仕組みです。
これはiPhoneのデイトピッカーそのままで実装したので弾かれたんですが、
今はポップオーバー要素内デイトピッカーにしている最中です。


926名称未設定:2012/03/23(金) 12:50:00.11 ID:dcDgIZwH0
>>操作完了したあとすぐにつぎのポップオーバー出す、というのは、
>>このアプリだと逆に煩雑になって、あまり好ましくないと思いました。

>なんで?
もし左側を間違って入力した場合、
もう一回左側を入力したいのに、
右側入力を強制されたら、強いストレスになると思ったからです。

>ポップオーバーは、押したボタンから出てくるように(ポップオーバーの矢印がボタンを向くように)
>しなければならない。ボタンを押したら、そのボタンが「選択」から「決定」に切り替わるのは
>ルール違反です。なぜなら押した「選択」ボタンを押したのに、ポップオーバーは「決定」
>を向いているから。
なるほど〜。うまく理解できました。
つまりDecideボタンはいらなくて、ポップオーバー内DoneボタンにDecideの機能をつければいいわけですね。
その間、Selectボタンを表示させておけばいいんですね。
片側のボタンを消す作業ですが、これはもしかしたら逆にわかりにくくなるかもしれませんね。
次に何をすればいいのか、今の作業中には見えないわけですから。
927名称未設定:2012/03/23(金) 12:57:03.37 ID:dl4s5KL+0
気持ち悪いな
928名称未設定:2012/03/23(金) 13:01:27.33 ID:dcDgIZwH0
最終的には、メインビューにはSelectボタン2つを常に表示させ、消えないようにします。
片側のSelectを押したらデイトピッカーと完了ボタンが入ったポップオーバーを表示させ、
ユーザがデイトピッカーで選び終わった後に完了ボタンを押すか、画面外をタップした時点で、
日付を保存します。もしポップオーバーを表示させたままで、もう片方のSelectを押した場合ですが、
これも先の内容を保存し、後のポップオーバーを表示させます。
現時点のポップオーバー表示させてる状態に、矢印がさすSelectボタンを押した場合ですが、
これはSelectボタンをハイライトさせて、ポップオーバーは消えないようにします。
つまり、ポップオーバーが消える場合は、画面外タップか、完了ボタン押下か、
別のSelectボタンを押した場合です。この3つの場合全て日付を保存します。
間違って日付を選んだ場合でも、もう一度Selectボタンを押して選び直しが効くので。

>>920
ひとつの道筋、光になりました。ありがとうございます。
これで純正の機能やルールを守ったまま、ポップオーバーを実装できそうです。
929名称未設定:2012/03/23(金) 13:15:45.01 ID:lJ/qYrqB0
VGA出力対応のアプリの作り方を教えて下さい。
930名称未設定:2012/03/23(金) 13:20:57.51 ID:EXiPGLXI0
それならCancelどころか、DecideボタンもDoneボタンもいらんだろ。

男の方のSelectボタン押したらポップオーバーがでる
日付を指で回したら、即座に誕生日が変更される
次に女の方のSelectボタン……以下略

両方の日付が入力されたら、Check!ボタンをenableする。(それまでは半透明のボタンにしておく)

男と女の誕生日のSelectボタンと、Check!ボタンはpopoverのpassthroughViewsに登録しておく

これでいいじゃん

何を長々と??
931名称未設定:2012/03/23(金) 13:51:39.19 ID:dcDgIZwH0
>男の方のSelectボタン押したらポップオーバーがでる
>日付を指で回したら、即座に誕生日が変更される
>次に女の方のSelectボタン……以下略
それだと、ユーザが「完了した」って頭の中で思わないと思うんですね。
表示させる誕生日とデイトピッカーの日付は連動できますが、
回している間は連動して変更されませんし。
もともと一般的には画面外タップはキャンセルを意味しますし、
それとSelectで完了というのは上級ユーザ向けだと思うんです。
片方から片方のSelectに移動できて完了できるっていうのは、プラスαの機能だと思うんですね。
最初に使うユーザには、完了ボタンがあったほうが分かりやすいかと。
そこで、熟練のユーザは左Select押下日付選択→右Select押下日付選択して完了→Check!
というサイクルも出来るということですね。

>両方の日付が入力されたら、Check!ボタンをenableする。(それまでは半透明のボタンにしておく)
これはもうしてありますが、
即座に変更される場合、もし間違った日付を選んで、
あまり見てなかった場合は危険です。
デイトピッカーと表示誕生日が連動している場合は、
誕生日を見るのがおろそかになっているかもしれないからです。
そういう理由もあって、完了ボタンは要ると考えます。

これらの理由で、完了ボタンが必要だと思うんですが、どうでしょうか。
932名称未設定:2012/03/23(金) 14:01:29.62 ID:EXiPGLXI0
>>931
>表示させる誕生日とデイトピッカーの日付は連動できますが、
>回している間は連動して変更されませんし。

回している間も連動して変更すれば。
Date of birthとDecideボタンの間がブランクになってるけど、ここに日付を
表示させるんだろ?

>デイトピッカーと表示誕生日が連動している場合は、
>誕生日を見るのがおろそかになっているかもしれない

連動してるんだから、デートピッカーだけ見てれば、表示誕生日は見なくていいじゃん??
同じなんだから。
933名称未設定:2012/03/23(金) 14:11:07.35 ID:dcDgIZwH0
>>932
>連動してるんだから、デートピッカーだけ見てれば、表示誕生日は見なくていいじゃん??
>同じなんだから。
そうです。デイトピッカーを見てるんです。
だから完了ボタンがないことによって、
実際に決定された”表示された誕生日”が間違っていても気づかない。
デイトピッカーをうっかり少し流して別の日付を選んでしまっても、
本人は表示された誕生日を確認しない場合があるということです。
つまりユーザに操作してもらいたいのはデイトピッカー、
見てもらいたいのは実際に表示される誕生日、ということです。
934名称未設定:2012/03/23(金) 14:15:22.03 ID:5AJ7NpTa0
モーダル脳
935名称未設定:2012/03/23(金) 14:16:59.21 ID:EXiPGLXI0
>>933 じゃあもうそれでいいよ。
936名称未設定:2012/03/23(金) 14:24:03.67 ID:dcDgIZwH0
>>934
モーダルほどではないですが、
ハッキリと示す必要がある場合だと思いました。

>>935
これで一度作ってみます。
937名称未設定:2012/03/23(金) 14:35:52.98 ID:YZVKLcn70
初めて NGID 機能を使った。便利だな。
938名称未設定:2012/03/23(金) 14:36:09.41 ID:dl4s5KL+0
気持ち悪い
939名称未設定:2012/03/23(金) 15:01:35.67 ID:lvmeHMo60
NSUserDefaultsのBool値の初期値をYESにしたいのですが
アプリケーション初回起動時の時のみ呼ばれるメソッドなどあるでしょうか
940名称未設定:2012/03/23(金) 15:01:37.98 ID:Ye5BT5tkP
モーダル、あなた疲れてるのよ
941名称未設定:2012/03/23(金) 15:02:46.71 ID:YZVKLcn70
>>896
init で始まる名前のメソッドは、インスタンスの初期化 (alloc と組み合わせて使うもの) に限るべき。

>>922
普通に Mac App Store からダウンロードすれば上書きされる筈。
(最近は差分アップデートになったみたい。)
あと、最新版は Xcode 4.3.2 だよ。

>>923
特に決まりはないみたいだから、実機で実験すれば?
あんまり使いすぎると他のプロセスを殺しちゃうから、ユーザーは嫌がるだろうね。

>>929
「iOS View プログラミングガイド」の「外部ディスプレイでのコンテンツの表示」。
https://developer.apple.com/jp/devcenter/ios/library/japanese.html
942名称未設定:2012/03/23(金) 15:05:28.03 ID:gah9tg7B0
ID:dl4s5KL+0 の存在がイミフw
943名称未設定:2012/03/23(金) 15:05:47.53 ID:T9/IEnOy0
>>923
今の最低ラインが3GSだから、大体20MB上限と思っとけばいいんじゃね?
そろそろ3GSも切り捨てて欲しいところだが
944名称未設定:2012/03/23(金) 15:14:45.75 ID:YZVKLcn70
>>939
NSUserDefaults の registerDefaults: でデフォルト値を設定できるよ。
(registerDefaults: で設定した値は設定ファイルに書き込まれるのではなく、
設定ファイルにキーが存在しない場合に参照される値。
なので、初回起動時だけでなく、アプリ起動時に毎回設定する。)
945名称未設定:2012/03/23(金) 16:25:32.75 ID:sTLOuIM20
今日あるオブジェクトをdeallocでreleaseしたかったのですが、まる1日使ってダメでした。
どなたかAVFoundationプログラミングガイドの25pの
"簡単なビューコントローラ"のdeallocで、
*playerと*playerItemと*playerViewのritainCountを0にする方法教えて下さい( ; ; )
946名称未設定:2012/03/23(金) 16:31:44.53 ID:dl4s5KL+0
>>945
そいつら全部releaseしろ。
他のオブジェクトからもretainされてたら0にはならんがな。
947名称未設定:2012/03/23(金) 16:48:11.18 ID:sTLOuIM20
Releaseしたらアクセスエラーで止まってしまうんです。
で、self.playItemで記述しているところをself外して見たり、ないところをつけて見たりでいろいろやって、
出来た!?と思ったら2回以降はダメでアクセスエラーだったり。
因みに、ritainCountって0になったオブジェクトのcountって参照したらダメですか?
948945:2012/03/23(金) 17:12:13.80 ID:sTLOuIM20
度々すいません。[super dealloc];の前にplayer、playerItem、playerViewをreleaseしたら落ちなくなりました!!
ただ、3つともritainCountは0になっておらず、
[super dealloc];の後でritainCountを参照すると落ちてしまうので、実際開放されたかがわかりません。
ritainCount自体今日初めて使うのですが、(いままで気にしていなかったです(^_^;))
ritainCountの使い方間違ってますか?
949名称未設定:2012/03/23(金) 17:14:08.01 ID:s48CGkV90
まちがってるな
retainだ
950名称未設定:2012/03/23(金) 17:26:57.00 ID:lvmeHMo60
>>944 ありがとうございました
951922:2012/03/23(金) 17:37:48.61 ID:lUcu4Pxi0
>>941
レスありがとうございます。
DevCenterからダウンロードした(上書きしない)のですが、
AppStoreからダウンロードしなおした方が良いのでしょうか?
952945:2012/03/23(金) 18:19:38.10 ID:sTLOuIM20
>>949ご指摘ありがとうございます(^_^;)
そのretainCountは0になっても参照できますか?
953名称未設定:2012/03/23(金) 18:25:12.95 ID:YZVKLcn70
>>948
retainCount をチェックする必要はない。ってか、ARC 使うといいよ。

>>952
retainCount が 0 になったらそのオブジェクトはすでに死んでるから、
アクセスしてはいけない。当然 retainCount も取れない。

>>951
Dev Center からダウンロードしたやつはディスクイメージの中の Xcode を
自分でアプリケーションフォルダにドラッグコピーして使うんだと思うけど、
古いやつをどうするかとかドキュメントがないからよく分からない。

Xcode 4.3 以降は、複数バージョン使い分けるとか考慮してないみたいだし、
Mac App Store からダウンロードしないと差分アップデートの対象にならない
みたいだから、自分は Xcode 4.3.2 から Mac App Store に切り替えたよ。
954名称未設定:2012/03/23(金) 18:27:42.38 ID:nDp21DN00
>>924
なるほど、別ファイルですか!
他のファイルに書いといてそこだけincludeするのを思いつきました!

ありがとうございます!
955945:2012/03/23(金) 18:37:57.46 ID:sTLOuIM20
>>953ありがとうございます!
ちょっとスッキリしました(^_^)
じゃあ、本当は[super dealloc ];する前に、retainCountが0で参照出来なくならないといけないんですかね?
[super dealloc];が何をやっているのかはわかりませんが、少なくとも[super dealloc]以降も参照できるものは、リークしているんですよね(^_^;)?
956名称未設定:2012/03/23(金) 18:42:45.49 ID:WPq3Vw1n0
正規表現始めたいのですけどcで正規表現出来ればNSRegularExpressionも使いこなせますかね?
957951:2012/03/23(金) 18:45:44.65 ID:lUcu4Pxi0
>>953
ありがとうございます。
私もAppStoreからやってみます。
958名称未設定:2012/03/23(金) 19:36:06.62 ID:YZVKLcn70
>>954
#include (#import) したら同じ翻訳単位になるから、意味ないよ。

>>955
dealloc の書き方わかってる?

- (void)dealloc
{
  [player release];
  [playerItem release];
  [playerView release];
  [super dealloc];
}

・release したら player や playerItem などに触ってはいけない。
 (release した player などの retainCount が 0 になるとは限らないけど、
  release するってことは、「自分はもうそれには触りません」ってことだよ。)

・[super dealloc]; は最後に書く。その後は何もしちゃ駄目。

>>956
もちろん。
959名称未設定:2012/03/23(金) 19:51:41.60 ID:JBgDeykb0
質問です。
iOS5から標準で搭載されているリマインダーへのアクセスって出来ますか?
アプリからリマインダーを追加したり、内容を参照したりしたいのです。
960名称未設定:2012/03/23(金) 20:12:29.65 ID:WPq3Vw1n0
>>958
どーもですどーもです
961945:2012/03/23(金) 20:37:21.76 ID:sTLOuIM20
>>958ありがとうございます。確かにいままで解っているつもりだったのかもしれません。(^_^;)
同じprayerItemにプロパティから参照したりしなかったりするのは何故?
ってところが気になって、それによってretainCountも変わる事に気がついて、
もしかして、prayerItem沢山読んでるけど、呼び方によっちゃdeallocでreleaseしても開放されないんじゃ!?
って一日あれこれやってました。
取りあえずガイドどうりに呼んで開放されたかどうかは気にしない事にします!
またARCも検討しようと思います。
962名称未設定:2012/03/24(土) 00:45:23.36 ID:heUOPfxX0
ARCはホント便利。コードはすっきりするし、余計な心配しなくていい。
963名称未設定:2012/03/24(土) 01:34:46.36 ID:sVH8X1OI0
そのARCについてなのですが、
NSString *str = @"a";
str = @"b";
str = @"c";
のように再代入を続けるとオブジェクト@"a"や@"b"がメモリに残り続けますか?
代入する前にnilを代入してやって
NSString *str = @"a";
str = nil;
str = @"b";
str = nil;
str = @"c";
とやらないとまずいのでしょうか。
また、大量のNSStringインスタンスをを結合するときに、
stringByAppending:・・・を使って結合を続けていると途中でエラーになってしまうのですが、
その場合NSMutableStringを用意してからappendString:を使わないとダメなのでしょうか。
また、a = [a stringByAppendingString:b];とやってaにbを加えた新しいNSStringインスタンスが生成されてaから新たに参照されると思いますが、
このとき不要になった元のa(結合前にaから参照されていたインスタンス)もメモリに残り続けているということでしょうか。
964名称未設定:2012/03/24(土) 01:44:30.17 ID:leYaoqfu0
メーラーの本文などで使われている、テキストと絵文字が混ざった文書をユーザーが作成できるようにするのは、UITextViewで出来ますか?

機種依存絵文字などは変換でいけると思うんですが、WebViewかと思って調べたのですがそれでも実装ができなくて・・。
965名称未設定:2012/03/24(土) 02:26:46.61 ID:BlfAOBXb0
>>963
代入すれば元の値は release されるから、わざわざ nil を代入する必要はない。
stringByAppending: でエラーになるとしたら autorelease pool に溜まりすぎかな。
大量に結合するなら NSMutableString の appendString: を使った方が効率がいい。
a = [a stringByAppendingString:b]; の場合も古い a はそのうち消える。

ってか、こうやって個別に質問を続けるつもり? ちゃんと基本を理解してくれよ。

>>964
iOS 標準の絵文字キーボードで入力できるやつとかはあくまで「文字」だから、
UITextView で普通に扱える筈。WebView とか難しく考え過ぎじゃない?
966名称未設定:2012/03/24(土) 02:36:07.75 ID:0wMyx0cJ0
未だにナビゲーションでビューを行き来するのにviewDidLoadでallocしてしまう。。
967名称未設定:2012/03/24(土) 04:54:08.10 ID:wbLEyE7J0
UIimageに
CGAffineTransformMakeRotation(M_PI * 300.0f / 180.0f)で回転させると
画像が引き延ばされてしまいます。
CGAffineTransformMakeRotation(M_PI * 270.0f / 180.0f)だと
画像は引き延ばされないのですが・・・
不思議です。どなたか原因が分かる方いますか?
968名称未設定:2012/03/24(土) 05:20:00.44 ID:leYaoqfu0
>>965 画像イメージを絵文字のようにテキストと混ぜて扱いたいんです。

iPhoneの絵文字とかの機種依存の絵文字の取り扱いは見つけれたけど違った。
って書きたかったんですけどうまく伝えれなくてすみません。
969名称未設定:2012/03/24(土) 08:01:05.20 ID:sVH8X1OI0
>>965
ありがとうございます。
autoreleasepoolがよく分かってないまま使ってました。
レファレンスカウンタについてちゃんと調べてみます。。。
970白井 ◆kuroko/Ufo :2012/03/24(土) 08:23:21.73 ID:AHF16m3o0
>>913
俺、どうしたら良いの?まで読んだ
971名称未設定:2012/03/24(土) 08:43:10.81 ID:k/ne3PK90
>>968

>テキストと絵文字が混ざった文書をユーザーが作成できるようにする

>画像イメージを絵文字のようにテキストと混ぜて扱いたい

全然意味が違うよね。
972名称未設定:2012/03/24(土) 09:22:40.40 ID:+Vvu7hoL0
popoverファイルにdatepickerとtoolbarとそのボタンを表示させたいのですが、
datepickerとtoolbarは表示出来ても、ボタンが表示できません。
UIViewに◯◯は入れれないといいようなエラーが出ます。
datepickerの上のtoolbarにボタンを配置させるには、どこを変えればいいでしょうか?

UIBarButtonItem *sendButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Send", nil) style:UIBarButtonItemStyleBordered target:self action:@selector(send:)];

UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

toolBar = [[UIToolbar alloc] init];
toolBar.barStyle = UIBarStyleBlackTranslucent;
toolBar.backgroundColor = [UIColor clearColor];
toolBar.autoresizingMask = UIViewAutoresizingFlexibleHeight;
UIBarButtonItem *toolbarBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolBar];
[toolBar release];

toolBar.items = [NSArray arrayWithObjects:space, sendButton, nil];
[space release];

[sendButton release];

self.navigationItem.rightBarButtonItem = toolbarBarButtonItem;
[toolbarBarButtonItem release];
[self.view addSubview:toolBar];
973名称未設定:2012/03/24(土) 09:26:28.80 ID:+Vvu7hoL0
>>972はtoolbarの部分です。上にdatepickerのコードが書かれています。
popover用の宣言ファイルと実装ファイルを用意してあります。
974名称未設定:2012/03/24(土) 09:26:55.30 ID:+Vvu7hoL0
>>970
もう解決しています。
975名称未設定:2012/03/24(土) 09:27:29.78 ID:+Vvu7hoL0
>>972
>[self.view addSubview:toolBar];
最後のこの行を変えればいいのでしょうか?
976名称未設定:2012/03/24(土) 09:31:34.16 ID:+Vvu7hoL0
>>972
訂正ですが、
このコードだと
datepickerしか表示されませんでした。
両方同時に表示させるにはどうすればいいでしょうか?
977名称未設定:2012/03/24(土) 09:47:16.40 ID:k/ne3PK90

>UIBarButtonItem *toolbarBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolBar];

ツールバーをツールバーボタンの中に入れたいんだね!

978名称未設定:2012/03/24(土) 10:14:58.71 ID:+Vvu7hoL0
>>972はちょっと変わったやりかたでした。
979名称未設定:2012/03/24(土) 10:18:30.77 ID:+Vvu7hoL0
>>977
訂正後はこうです。
ボタンが入ったツールバーとデイトピッカーを同時に表示させたいのですが、
どこを改変すればいいでしょうか?

// toolbarの表示をONにする
[self.navigationController setToolbarHidden:NO animated:NO];
// toolbarを黒色にする
self.navigationController.toolbar.tintColor = [UIColor blackColor];
// スペーサを生成する
UIBarButtonItem *spacer = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil action:nil];
// ボタン「Hoge」を生成する
UIBarButtonItem *button = [[UIBarButtonItem alloc]
initWithTitle:@"Hoge" style:UIBarButtonItemStyleBordered
target:self action:@selector(hoge)];
980名称未設定:2012/03/24(土) 10:18:59.41 ID:+Vvu7hoL0
// ラベル「(・ω・)」を生成する
UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(0,0,100,30)];
lbl.backgroundColor = [UIColor clearColor];
lbl.textColor = [UIColor yellowColor];
lbl.text = @"(・ω・)";
UIBarButtonItem *lblbtn = [[UIBarButtonItem alloc] initWithCustomView:lbl];
lblbtn.width = 100.0;
// toolbarにボタンとラベルをセットする
NSArray *items =
[NSArray arrayWithObjects:spacer, button, spacer, lblbtn, spacer, nil];
self.toolbarItems = items;
toolBar = [[UIToolbar alloc]init];
toolBar.barStyle = UIBarStyleBlackTranslucent;
[toolBar setFrame:CGRectMake(0, 0, self.view.bounds.size.width, 40)];
[self.view addSubview:toolBar];
[toolBar release];
981名称未設定:2012/03/24(土) 10:20:19.89 ID:+Vvu7hoL0
ラベルは出ました。
982名称未設定:2012/03/24(土) 10:21:36.32 ID:k/ne3PK90
何を聞きたいのか整理してから書き込めよ
983名称未設定:2012/03/24(土) 10:26:09.22 ID:+Vvu7hoL0
popoverファイルにdatepickerとtoolbarとそのボタンを表示させたいのですが、
datepickerとtoolbarは表示出来ても、ボタンが表示できません。
UIViewにNSArrayは入れられないというようなエラーが出ます。
datepickerの上のtoolbarにボタンを配置させるには、どこを変えればいいでしょうか?
984名称未設定:2012/03/24(土) 10:33:58.02 ID:k/ne3PK90
「というようなエラー」
じゃなくて、具体的に書け。
985名称未設定:2012/03/24(土) 10:38:57.84 ID:k/ne3PK90
>>980
ビューコントローラの上側にボタンを追加したいのなら、ボタン追加の場所はナビゲーションバー。
ビューコントローラの下側にボタンを追加したいのなら、ボタン追加の場所はツールバー。

上にツールバーを追加するのはイレギュラー。

>toolBar = [[UIToolbar alloc]init];
>toolBar.barStyle = UIBarStyleBlackTranslucent;
>[toolBar setFrame:CGRectMake(0, 0, self.view.bounds.size.width, 40)];
>[self.view addSubview:toolBar];
>[toolBar release];

この行全部不要。
986名称未設定:2012/03/24(土) 10:39:19.91 ID:+Vvu7hoL0
>>984
「Incompatible pointer types sending 'UIBarButtonItem *' to paramater of type'UIView*'」
です。
987名称未設定:2012/03/24(土) 10:40:29.29 ID:+Vvu7hoL0
>>985
ありがとうございます!
早速やってみます!!
すぐあとでまた来ます!!
988名称未設定:2012/03/24(土) 10:44:33.85 ID:k/ne3PK90
>>986
UIView に UIBarButtonItem をaddSubviewしてるんじゃないか?
989名称未設定:2012/03/24(土) 10:54:20.70 ID:+Vvu7hoL0
>>988
はい。してます。階層が違うからエラーが出るんですよね。
ポップオーバーで表示させるので、Viewに追加したいのですが。
何か別の方法でも、うまく表示されて機能出来ればそれでいいです。
m(_ _)m どうかご教示お願いします!
990名称未設定:2012/03/24(土) 11:00:49.38 ID:k/ne3PK90
>>989
UIView に UIBarButtonItem をaddSubview ←これは原理的に不可能だからエラーが出るんだよ。
階層なんて関係ないよ。

ツールバーを使った簡単なサンプルを読んでちゃんと勉強しろよ
991名称未設定:2012/03/24(土) 11:20:02.69 ID:BlfAOBXb0
次スレ、なんか気が進まないけど、一応立てといた。
http://anago.2ch.net/test/read.cgi/mac/1332555504/l50
992名称未設定:2012/03/24(土) 11:22:43.99 ID:+Vvu7hoL0
>>991
お疲れ様です。
993名称未設定:2012/03/24(土) 11:34:15.76 ID:mrYDIG1p0
>>987
もう来るなよ
お前専用のスレになってるぞ
994名称未設定:2012/03/24(土) 11:45:01.85 ID:sVH8X1OI0
もう一点質問させてくだい。
アプリをシミュレータで走らせると、アクティビティモニタで確認すると一気にメモリを1.3GBくらい食うのですが、これは実機で動かそうとしてもメモリ足りないですよね?
テーブルビューに100個くらいセルを作り、ラベルなどをアッドサブビューしているのですが、表示領域外の部分は解放しておいて
スクロールに応じて適宜セルを生成・解放・配置するなど工夫しないとダメでしょうか。
995名称未設定:2012/03/24(土) 11:45:58.54 ID:+Vvu7hoL0
>>990
よさそうなサンプルコード見つけたので、
これで頑張ってみます!!
みなさんありがとうございました!!
996名称未設定:2012/03/24(土) 12:30:49.81 ID:BlfAOBXb0
>>994
まさに「スクロールに応じて適宜セルを生成」および再利用するための仕組みが
もともと UITableViewController には備わってる訳だが、ちゃんと使ってる?

- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
  UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:@"Cell"];  // 再利用できるセルがあれば、それを使う。
  if (cell == nil) {  // ない場合だけ、新規生成。
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:@"Cell"];
    // addSubview: とかはここでする。
    // 再利用のことを考慮して、tag などを設定しておくといい。
  }
  // ここで、セルの表示内容を設定。
  // 再利用の場合、プロパティに古い値が残ってるので、きちんと設定し直すこと。
  return cell;
}

ってパターンに従って書けば、スクロールして画面の外に出たセルは再利用されるよ。
997名称未設定:2012/03/24(土) 13:09:51.52 ID:8lheS+el0
新スレ気違いが湧いてるけど。
998名称未設定:2012/03/24(土) 13:37:57.39 ID:oHGYs3jyi
急にあったかくなったからね
999名称未設定:2012/03/24(土) 13:43:43.22 ID:sVH8X1OI0
>>996
ありがとうございます。
UITableViewControllerで制御するんですね。
UITableViewしか使ってませんでした・・・。調べてみます。
1000名称未設定:2012/03/24(土) 13:51:58.00 ID:BlfAOBXb0
埋め。

いくら春休みとはいえ、UITableViewController 知らないとか…。
お願いだからまともな本とドキュメント読んで欲しいよ。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。