トップページ⇒mac
1001コメント350KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名称未設定2013/08/19(月) NY:AN:NY.ANID:ykyhR6cZ0
iPhone, iPod touch用アプリケーションの開発を始めたばかりの初心者向け質問スレ。

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

■関連スレ
iOSアプリ 個人開発者の雑談スレ13
http://anago.2ch.net/test/read.cgi/mac/1369912531/

iPhone iPad iOSプログラミング Part1
http://toro.2ch.net/test/read.cgi/tech/1314086681/

【脱獄】iPhoneのJailbreakアプリ開発スレ
http://anago.2ch.net/test/read.cgi/mac/1337945208/

※前スレ
[SDK]iPhoneアプリ開発初心者質問箱33[touch][iPad]
http://anago.2ch.net/test/read.cgi/mac/1370485786/
0331名称未設定2013/09/12(木) 22:40:48.54ID:Swa+3XVb0
>>330
そりゃ、object:にする意味が間違っている
_mDictを入れるならuserInfoだろ。ちょうどNSDictionaryだからそのまんまでも

そんなトンチンカンなことをするとnilになっても不思議ではない。本当にnilになるのか知らんけど
0332名称未設定2013/09/12(木) 22:43:07.32ID:PtscNJvL0
>>330
segueでの遷移先のvcにNSNotoficationで値を渡してるってこと?
prepareForSegueとか使ってvcに直接渡すのが一般的じゃないかな
0333名称未設定2013/09/12(木) 23:02:49.76ID:jJu1p9C80
勝手にreleaseするようなARCをやめりゃええんや
XCode5からプロジェクト作るとデフォでARC使用になるが(後からNoにできるけど)
0334名称未設定2013/09/12(木) 23:14:12.67ID:PP4/Ol8S0
- (void)postNotificationName:(NSString *)notificationName object:(id)notificationSender userInfo:(NSDictionary *)userInfo
notificationSender The object posting the notification.

↑リファレンス見れ。引数objectは普通selfや。
objectに入れても届くけどね。
おそらく_mDictが送った後でnilになってる。スコープ抜けてるから。
0335名称未設定2013/09/12(木) 23:20:38.67ID:iFtiU5iNP
>>330
こんなトンチンカンなコード書いて、思い通りに動かない
→「iOS7って、画面間でデータ渡す時グローバル変数経由じゃないとダメ」
こうまで飛躍できるのが凄いな…。自分のコードが変だとは疑わないのか?
0336名称未設定2013/09/13(金) 01:24:03.75ID:4PJksR6e0
Xcode5 GMSeed版でiOS7のアプリをビルドすると
UIViewのdrawRect内に書いてあるUIImageのdrawInRectがメモリリークを起こすんですけど
同じ現象の方います?
(メモリリークの詳細は今実行環境がないので記憶だけですが、Malloc16ByteやMalloc48Byteが8個くらい、
発生箇所はCoreGraphics関連のようでした)

コードはこのように書いています。
- (void)drawRect:(CGRect)rect
{
UIImage *img = [UIImage imageNamed:@"test.png"];
[img drawInRect:CGRectmake(0, 0, 100, 100)];
}

ARCをオンオフ両方で試しましたがどちらもメモリリークします。
UIGraphicsBeginImageContext()とUIGraphicsEndImageContext()の間にdrawInRectを書いた場合でもメモリリークします。
しかしXcode5でシミュレータをiOS6.1にしてビルドするとメモリリークは起こりません。

原因が分かれば教えていただきたいです。
0337名称未設定2013/09/13(金) 01:36:32.54ID:F+hZjPVQ0
プロビジョニングが通らなくなってしまいました。まだ契約はきれてないです。
証明書が二つあるとかで弾かれているエラーでしたので、証明書を削除して一つにしてキーチェンを立ち上げ直しても同じエラーです。根本的に間違いがあるのでしょうか?
0338名称未設定2013/09/13(金) 01:49:31.53ID:Z1D+mlfu0
>>336
leaksのバグだろ。よくあるよ。

>>337
全部消して最初からやればいい。
03393362013/09/13(金) 02:32:40.98ID:4PJksR6e0
>>338
なるほど、Leaksのバグというのもあるんですね・・・。
ありがとうございます
0340名称未設定2013/09/13(金) 03:13:09.28ID:Yg6sykU/0
ノーティフィケイションで、object は通知先で、info が通知情報なんじゃ?
0341名称未設定2013/09/13(金) 05:29:48.17ID:Z1D+mlfu0
こう書いたら読めるかい?
notificationSender とは、The object (which is) posting the notification.
0342名称未設定2013/09/13(金) 08:09:38.03ID:DDo+csqxi
>>338
ご回答ありがとうございます。
それとなく一度やってみたのですが、再度やってみます。
ちなみに、キーチェンのデバイスのTEAMSのところに同じ名前が4つあり、これも消すべきとは思うのですが、これはどうすれば消せますか?
0343名称未設定2013/09/13(金) 16:21:04.02ID:N62eID100
>>326
ありがとうございます。
metaタグのviewportがdevice-widthになっているのがまずかったようで、
useragentで分岐するように変えました。
0344名称未設定2013/09/13(金) 22:13:24.79ID:NZ5d2IwT0
webviewをタップするとキーボードが閉じてしまうのですが
これを防ぐ方法はないでしょうか
またwebViewのタッチイベントを取得することは可能でしょうか
0345名称未設定2013/09/13(金) 22:53:24.91ID:X4PAw2oii
タッチイベントはとても厄介で、まずはそれ抜きで検討しましょう。
0346名称未設定2013/09/14(土) 00:01:36.12ID:FvwqfuSY0
コードによりプロパティリストを作成したのですが、
作成したプロパティリストをxcodeのプロパティエディタで開く方法がわかりません
ファイルの場所など教えていただけないでしょうか?
0347名称未設定2013/09/14(土) 00:21:45.65ID:FvwqfuSY0
>>346
事故解決した上に日本語が意味不明でした・・・・寝ます
0348名称未設定2013/09/14(土) 04:34:46.86ID:b1uvrFcj0
今までViewController間をまたぐデータってシングルトンなモデルクラスをつくってやりとりしてたんですけど
もしかしてNSCoding Protocol満たしてNSUserDefaultsにつっこむほうがデファクトスタンダードだったりしますか?
それとも何かそれ以外の方法がありますか?
0349名称未設定2013/09/14(土) 04:49:18.21ID:VZ7/ZId10
2つのViewController間だったら、または、ViewControllerを特定できるなら、プロパティなりメソッド(デリゲートを含む)なりなりでいいだろう
いつどこからどこへが不定だったら、通知とか。まあシングルトンでもいいけど、出す方と受ける方の関係がいまいちわかりずらいんちゃうかな
NSUserDefaultsはアプリが終了し再開するときの為のものだよなあ
と思った
0350名称未設定2013/09/14(土) 05:28:21.99ID:x4s1MC9O0
はじめてのアプリがやっと完成しました。
シミュレータの3.5インチ・4インチ、実機のiphone4S(iOS6)で正常に動いています。最近iOS7やらiphone5Sが話題になっていますが、このタイミングで申請しても大丈夫なのでしょうか?
0351名称未設定2013/09/14(土) 06:05:51.40ID:UFIYP3+6i
時々居るな、ViewController間のデータ受渡しのためにdataManager笑とかのシングルトン実装してる勘違い野郎w
クラスの生成と遷移っていう2本だてなんだからクラス生成後にプロパティにセットすればいいんだよ、
呼び出し元とか相手特定できて何かデータ返すならdelegate、特定出来なきゃnotification、値が変わったのを知りたいならkvo。
あと、センスの悪いblock/gcd使いも戻るよな〜コレは言葉で表すのは難しいが、何でもかんでもメソッドの引数に成功/失敗block付けちゃうヤツwもう氏ねとしか言えない。
エンジニアでもバカが多い、という点では自由度が低い言語も有益なんだよな〜。
頭の悪いヤツって、とにかくセンスも悪い、頭が良くてもITセンス無いヤツも最悪、ITなんか辞めて飲食とか建設でもいってくれよ。
0352名称未設定2013/09/14(土) 06:14:41.11ID:VZ7/ZId10
ここは初心者スレなのにw
初心者相手にそんなに偉ぶらなくてもええんちゃうか。雑談の雑音がひどいなあ
0353名称未設定2013/09/14(土) 07:04:49.00ID:LkadW9Xb0
>>348
設計によるな。アプリの種類にもよるし。
モーダルビューを遷移するだけのアプリしか見た事ないか?
とりあえずNSUserDefaultはその目的では使わんな。
0354名称未設定2013/09/14(土) 09:04:10.42ID:am6QY2Ip0
>>345 ありがとうございます
キーボードを表示した状態で
WebViewをシングルタップするとキーボードが閉じてします
(スワイプ、ダブルタップではキーボードが表示されたまま)

GestureRecognizerでシングルタップを検知して
becomeFirstResponderでキーボードを表示しようとすると
その後に何らかのイベント出ているらし再びキーボードが閉じてしまいます
0355名称未設定2013/09/14(土) 09:58:19.18ID:sal0rRhaP
>>351
っていうふうに思っていた時期がぼくにもありました。。
職場にいましたよ、専門学校卒でハチャメチャなコード書く奴。
でも、そいつは生産力があったんですね。動く奴をとかく速くあげちゃう。
で、俺からしたら理解できないジャンルでのアプリでがっつり広告で儲けちゃってるんだな。
カネあるやつはほんとに裏山ですよ。
0356名称未設定2013/09/14(土) 11:11:53.35ID:GH8kd6zR0
お前ら他所でやれよアホ
0357名称未設定2013/09/14(土) 12:54:00.48ID:9Cwl6k6j0
>>350
作り直し乙
いまから申請するアプリは新規・アップデート問わずiOS7対応してないとReject
0358名称未設定2013/09/14(土) 14:10:32.05ID:4gQA0di80
staticなローカル変数を、0以外で初期化する方法がわかりません。
やりたいことは、intの追加処理なんですが、
↓下記の 0 の部分を、0以外で初期化したいです。明示的に初期化しなくても、自動的に0で初期化されるそうですが。
-(int)addPoint:(int)addingi
{
static int sum = 0;
sum+= addingi;
return sum;
}

例えば、static int sum = 0; の0の部分を自由なintにしたいです。
どうかご教示よろしくお願いします。
0359名称未設定2013/09/14(土) 14:21:59.28ID:qCxpHmAoP
>>357
iOS7で動作しないと、な。
そのうちSDK7使わないとリジェクトになりそうだが。
0360名称未設定2013/09/14(土) 14:38:14.35ID:UFIYP3+6i
static int sum = -1;
起動時よランタイムのデータ初期化には2種類ある。
初期値を持つものdataと持たないものbss。
0361名称未設定2013/09/14(土) 14:55:15.76ID:b1uvrFcj0
ありがとうございます
プロパティでの受け渡しをすっかり忘れていました
0362名称未設定2013/09/14(土) 15:07:38.41ID:4gQA0di80
>>360
レスありがとうございます!!
2種類あるんですね。
とりあえず-1入れておけばいいのでしょうか?
0363名称未設定2013/09/14(土) 16:07:05.99ID:4gQA0di80
>>360
bssについて調べてみました!
どうやら必ず0で初期化しないといけないようですね!

そこで、別の方法で実装完了できました!
配列のYESを持つ要素をカウントすればうまくいきました。

m(_ _)m 回答してくださった方ありがとうございました。
0364名称未設定2013/09/14(土) 18:32:55.53ID:3B4uQFN1i
みなさんは、アプリ申請時のアプリ説明に使うスクリーンショットは何を使って作っていますか?
単なるスクリーンショットであればiPhoneでスクリーンショットを撮ればいいですが、
説明を加えたりする場合に綺麗で使い勝手が良く、高機能のものがあればとおもいます。
有料無料は問いません。
0365名称未設定2013/09/14(土) 18:38:49.35ID:M2UsxhZw0
Skitchじゃいかんの?
0366名称未設定2013/09/14(土) 18:51:23.53ID:VZ7/ZId10
Numbers w
0367名称未設定2013/09/14(土) 19:35:11.36ID:3B4uQFN1i
>>365
ありがとうございます。
使って見ます。
日本語入力対応してるといいのですが、、
0368名称未設定2013/09/14(土) 19:41:51.43ID:YtJG8Ns10
全く同じアプリを同じ端末(ios7)で、Xcode4でコンパイルしたものと5でコンパイルしたもの使ってみたら
Xcode5でコンパイルしたやつわずかにカクつく
こりゃまいった
0369名称未設定2013/09/14(土) 23:26:42.83ID:3B4uQFN1i
xcode5でios7のiphoneに入れたら
ステータスバーが消えずに残っています。
そこにボタンが配置されていると押しにくくなります。
仕様が変わったのでしょうか?
すでに販売されている分はステータスバー消えた状態で正常です。
0370名称未設定2013/09/14(土) 23:33:04.10ID:qASMwuTl0
エロアプリの通報はContactUsのどこからやればいいのでしょうか?
開発者なのでitunesconnectのアカウントは持っています
0371名称未設定2013/09/14(土) 23:35:21.05ID:FvwqfuSY0
NSdictionaryを使用し、自作したクラスをプロパティリストへ保存したいのですが、
読み込んだデータがNULLになってしまい、うまくいきません。
(自作クラス以外は読み込めています)
どのように実装すればいいでしょうか?よろしくお願いします

*******コード*********
Myclass *test;
NSMutableDictionary mdic = [NSMutableDictionary dictionary];

//ディクショナリへ保存
test.num=1;
NSdata *data = [NSKeyedArchiver archivedDataWithRootObject:test];
[mdic setObject:data forkey:@"test"];
//この後、ディクショナリをプロパティリストへ保存
 ・
 ・

//ディクショナリから取り出す
NSData *data= [dictionary objectForKey:@"test"];
test = [[NSKeyedUnarchiver unarchiveObjectWithData::data];
NSLog(@"%@", test);
0372名称未設定2013/09/14(土) 23:35:28.06ID:LkadW9Xb0
>>369
AppName-info.plist で View controller-based status bar appearance を NO
0373名称未設定2013/09/14(土) 23:42:44.00ID:VZ7/ZId10
>>371
自作したクラスにNSCodingを実装する
0374名称未設定2013/09/15(日) 00:06:48.71ID:XCfM3eXq0
>>373
ありがとうございます
NSCoding?というものが必要なんですね、調べて実装してみます
0375名称未設定2013/09/15(日) 00:07:00.34ID:3B4uQFN1i
>>372
ありがとうございます。
やってみます。
0376名称未設定2013/09/15(日) 05:19:20.12ID:UiAoSL+e0
>>342です。
削除してやってみましたが、オーガナイザのリフレッシュを押したところ、NO iOS…が表示されました。ここまでは本やwebと同じなのですが、次のダイアログで、「submitを押す」とありますが、当方のダイアログには「submit」は無く、「ok」しか有りません。
「submit」はどうしたら表示されるのでしょうか?宜しくお願いします。
0377名称未設定2013/09/15(日) 06:35:40.34ID:tY04iplR0
>>376
Safariでhttp://developer.apple.com/ -> membercenter -> Certificates, Identifiers & Profiles
iOSの4項目を全部チェック。Provisioning Profilesが無ければ作ってXCodeをReflesh、
またはDownloadしてファイルをダブルクリックすればXCodeに追加されるであろう。
どっかに書いてある通りにやればいいじゃなくて、理解できるまで何度もやれ。
0378名称未設定2013/09/15(日) 07:35:17.45ID:jZztU4F70
>>371
NSDictionaryなら、別にArchilver使わずに、プロパティリストに保存できる。
0379名称未設定2013/09/15(日) 07:45:03.34ID:vAWaT2l+P
>>378
自作クラスはNSCoding使ってバイナリデータにしないとプロパティに保存できないでしょ
0380名称未設定2013/09/15(日) 12:55:53.51ID:Zgv2ZKXr0
いまのXcodeってブラウザからインストールされてしまいますが、
ファイルのみをダウンロードすることってできないのでしょうか?
0381名称未設定2013/09/15(日) 13:50:14.25ID:oN3FY2Kni
>>379
そうじゃなくて、自作クラス自体をNSDictionaryに変換してしまえばいいって事
自作クラスっていってもどうせ変数は殆ど文字列とか数値とかなんだし
それでプロパティリストには保存できる
元に戻すときはNSDictionaryを引数に取って初期化するイニシャライザを用意すればいい
0382名称未設定2013/09/15(日) 13:50:18.94ID:otN/QGVO0
おもろいこというな
0383名称未設定2013/09/15(日) 14:35:02.99ID:f5XUtJDZ0
>>380
できるけど、ダウンロードする場所がデベロッパー登録してないといけないとこみたい
0384名称未設定2013/09/15(日) 14:38:55.80ID:EOkHMl3iP
自分も前はプロパティリスト化して保存するとかやってたけど
今はシリアライズ化したやつを保存して済ませちゃってるな
0385名称未設定2013/09/15(日) 14:39:36.08ID:8CN93fqdP
>>383
downloadsにXcode5.xは無いよ。4.xまで。
0386名称未設定2013/09/15(日) 14:51:57.37ID:f5XUtJDZ0
>>385
5はそもそもダウンロードしか無いでしょまだ
0387名称未設定2013/09/15(日) 15:52:32.65ID:jZztU4F70
>>381
確かにそうだ。
0388名称未設定2013/09/15(日) 18:18:56.27ID:UiAoSL+e0
>>377
回答ありがとうございます。
証明書からやり直してやってますが、やはり動作しないです。
先程のsubmitはどうしたら出るのでしょうか?どうもここがひっかかってしまってます。
0389名称未設定2013/09/15(日) 19:34:40.72ID:6qYw/Y2O0
>>383
デベロッパー未登録の状態で、インストーラーを保存する手段はないのでしょうか?
0390名称未設定2013/09/15(日) 19:54:05.41ID:8CN93fqdP
>>389
ワレの片棒担ぐ奴はいない。
0391名称未設定2013/09/15(日) 20:07:25.66ID:otN/QGVO0
>>389
金払え乞食
0392名称未設定2013/09/15(日) 22:13:20.44ID:ls6EZtaS0
>>389
氏ね
それか醜く汚いAndroidに去れ
0393名称未設定2013/09/15(日) 22:45:40.28ID:6qYw/Y2O0
>>390-392
ライセンス的に問題があるのですね
申し訳ありませんでした
0394名称未設定2013/09/16(月) 00:20:02.03ID:+seG9McY0
>>381
プロパティリストが複数出来るってこと?
0395名称未設定2013/09/16(月) 00:25:51.17ID:Jdl0lGyF0
>>394
プロパティリストって単にプロパティ(インスタンス変数)にキーを付けて値を突っ込んだNSDictionaryのことだろ
自作クラスにひとつでいいんじゃね。自作クラス毎にあるだろうが所詮NSDictionaryだからな

結局やっていること、また、労力はSCodingと変わらず、あるものを使わないことはないな。強いて言えばProperty List Editorで値を弄れるかぐらいか
0396名称未設定2013/09/16(月) 00:30:05.80ID:+seG9McY0
>>395
説明不足でした
プロパティリストに自作クラスを保存する他、NSSTRINGやintなどのデータも保存しています
そういった場合だと、プロパティリストは自作クラス用+NSSTRINGやin用のプロパティリストになるんでしょうか?
あるいは、NSdictionaryを入れ子構造にして一つにまとめることは出来ますか?
0397名称未設定2013/09/16(月) 00:43:16.62ID:Jdl0lGyF0
>>396
いや、ひとつでいいんじゃね。NSCodingでやったのとほぼ全く同じ
0398名称未設定2013/09/16(月) 00:43:45.09ID:+uYFpP/jP
NSCoding使うとクラス名変えたときとかに面倒くさいことになるからなぁ
0399名称未設定2013/09/16(月) 01:36:38.61ID:CS8B/+wT0
SQLite直接やCoreDataを使おうと思ってるのですが、
DBのデータを見られないように暗号化するにはどうするのがいいんでしょうか。
データを暗号化してからinsert?DBファイルを丸ごと暗号化?とかですかね?
0400名称未設定2013/09/16(月) 02:27:47.90ID:fgM71YzmP
>>399
データ暗号化してからinsertじゃ検索できないでしょ。
persistentStoreCoordinator を NSFileProtectionComplete のフラグ立てて暗号化する。
0401名称未設定2013/09/16(月) 02:29:13.78ID:fgM71YzmP
あぁ、パスロックしてなきゃ無理か。
0402名称未設定2013/09/16(月) 09:21:56.57ID:CS8B/+wT0
>>401
そうなんですよ。いろいろ調べたらそう書いてあって。
アプリipaファイルを展開しても見られないようにしたいんですが・・・
0403名称未設定2013/09/16(月) 10:39:38.12ID:+seG9McY0
>>397
ようやく理解できました、ありがとうございます
0404名称未設定2013/09/16(月) 13:15:56.68ID:I9e9pF890
CoreData と iCoudを連携させたアプリを作成しているのですが、
tableviewのセルに項目は新規追加できますが、追加したセルの内容を更新しても、
2台目の端末のセルのタイトルなどの中身の見た目が変わりません。
↓下記の方法も試しましたが、うまく動きませんでした。

テーブルビューが更新されないとき
http://qiita.com/eggmobile/items/75902e5b82b9108167bd

しかし、下記のサイトのように、やっぱりCoreData+iCloudはバックグラウンド(別ビュー)でしか更新されないのでしょうか?

CoreDataとUIManagedDocumentとiCloudと(5)
http://blog.gentlesoft.net/article/56588422.html

何か解決方法があればご教示よろしくお願いします。
0405名称未設定2013/09/16(月) 16:58:10.39ID:9iIjfv3n0
XCode5でPROJECTのiOS Deployment Targetは4.3〜7.0まで選べるけど、
TARGETSのDeployment Targetは6.0〜7.0までしか選べないのはなんでだろう
0406名称未設定2013/09/16(月) 17:10:57.12ID:aVc76Wz60
>>405
TARGETSではそこはBuild SettingsのArchitecturesを見ているっぽい/64-bitを含めなければ4.3まで選べるがXcodeのバグっぽい
0407名称未設定2013/09/16(月) 17:18:32.62ID:9iIjfv3n0
やっぱり6.0以降だけなのか
TARGETSの方に5.0と手入力したら落ちたw
0408名称未設定2013/09/16(月) 17:21:08.71ID:fgM71YzmP
エラー出るし、わかってやってるんでない?arm64あるとiOS5だと落ちるとか。
Applications including an arm64 slice are not compatible with versions of iOS prior to 6.0

>>407
いいえ。
0409名称未設定2013/09/16(月) 17:23:04.58ID:+seG9McY0
Appdelegate(グローバル領域)にクラスの配列を保存する方法がわかりません
下のコードだとコンパイルが通りません
どなたかご教授ください

***********************
[Appdelegate.h]
@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
MYCLASS *_test[20];
};
@property (nonatomic) MYCLASS *test;

[Appdelegate.m]
@implementation AppDelegate

@synthesize test; //アイテムリスト
- (MYCLASS *)test
{
return _test;
}
0410名称未設定2013/09/16(月) 17:38:07.09ID:fgM71YzmP
>>404
NSPersistentStoreDidImportUbiquitousContentChangesNotification で更新、reloadData。
0411名称未設定2013/09/16(月) 17:48:25.41ID:aVc76Wz60
>>408
はっきりとはよくわかんないんだよなあ
ユニバーサルバイナリなんだし/なってるし、arm64はiPhone 5sしかねーからiOS 7上でしか動かないのに
PROJECTSでDeployment TargetやBuild SettingsのArchitecturesを調整してもちゃんとTARGETSでは継承されてその通りになるし
0412名称未設定2013/09/16(月) 17:54:46.13ID:I9e9pF890
>>410
レスありがとうございます!
実は UbiquityStoreManager というGithubのものを使っているのですが、

[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(mergeChangesFrom_iCloud:)
name:NSPersistentStoreDidImportUbiquitousContentChangesNotification
object:nil];

- (void)mergeChangesFrom_iCloud:(NSNotification *)notification
{
   [self.tableview reloadData];

}

これでまだ更新されませんでした。

もう少し調べてみます。
あとでまた報告いたします。
0413名称未設定2013/09/16(月) 18:00:43.41ID:aVc76Wz60
>>408,411
あ、錯誤していた
PROJECTSでarm64を含めてDeployment Targetを6.0未満にしたらArchiveではエラーになるのか
えー、わけわからんな(手抜きかっ?)
0414名称未設定2013/09/16(月) 20:23:07.01ID:I9e9pF890
どうやら、indexPathが不明の場合のiCloud+CoreDataの更新処理は無理っぽいですね・・・。
これは手動並び替えにも言えることですが。
User→Event→Child
という構成になっています。1対多、1対多です。
MasterViewの複数のセルのEvent全部更新かけられればいいのですが、難しいですかね?
EventのセルタップしてChildへ行って、viewWillDisApearで受け渡したself.event,userにアプリのUser入れて、
ナビゲーションボタンで戻ると、MasterViewのEventは更新されます。

↓一応このサイトも参照しました。
http://stackoverflow.com/questions/16518301/refresh-uitableview-with-icloud-changes

このままの仕様でいきますかね・・・
なにかアドバイスいただけると幸いです。
0415名称未設定2013/09/16(月) 22:40:11.39ID:MNen95mP0
>>409
ずれてるよ
0416名称未設定2013/09/16(月) 23:14:39.91ID:tQdPVxBQ0
>>409
- (MYCLASS *)test
MYCLASS * はいつも使っているように「ひとつのインスタンス」であり、リストではない
- (MYCLASS **)test
になるだろうが、ARCだと
- (MYCLASS __strong **)test
ぽい

Cばりばりやってましてん配列の方がいいですねん。っていうわけでもなさげなので、普通にNS(MutableArray)を使えばええやん
0417名称未設定2013/09/16(月) 23:32:01.02ID:BdTOM5ic0
クラスのオーバーライドでハマった。
0418名称未設定2013/09/17(火) 00:09:51.85ID:5EV3M5yJ0
AppDelegateはグローバル領域じゃなくて、シングルトンのプロパティな。
0419名称未設定2013/09/17(火) 00:29:07.95ID:W6NWEmvy0
xcode5にしたらプロジェクトファイル書き換えられない?
4.6でも読める?
0420名称未設定2013/09/17(火) 01:10:06.58ID:Mo0jizyI0
うん
0421名称未設定2013/09/17(火) 01:14:00.29ID:W6NWEmvy0
ありがとう。
プロジェクトファイルが古いよ!みたいなワーニング無視していれば4.6でも開けるんですね。
0422名称未設定2013/09/17(火) 09:58:42.82ID:xpXkVOTF0
普通の配列使って範囲外にwriteするとSIGABRTでCのように死ねる
0423名称未設定2013/09/17(火) 11:42:28.05ID:yo1mpTnJ0
Cのようにって、それはそのままCですけん
0424名称未設定2013/09/17(火) 14:52:31.41ID:FxyH2Eqxi
View Controller Restorationが上手くいきません。
タブバーコントローラに2つのビューコントローラ(ファーストビューコントローラ、セカンドビューコントローラ)をもたせレストアを試しています。
ストーリーボードは使っていません。
ファースト/セカンドビューコントローラはxibから読み込んでいます。ただラベルを表示しているだけです。
AppDelegateの- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptionsで
ファーストビューコントローラ、セカンドビューコントローラを作成し、タブバーコントローラのviewControllersにセットしています。
- (BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder、
- (BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder
でYESを返しています。
ファースト/セカンドビューコントローラは、UIViewControllerRestorationプロトコルに適合させ、
viewDidLoadでrestorationClassに自分のクラス、restorationIdentifierにそれぞれ@"FirstViewController"、@"SecondViewController"をセットしています。
また、+ (UIViewController *)viewControllerWithRestorationIdentifierPath:(NSArray *)identifierComponents coder:(NSCoder *)coderで、
対応するNibファイルを指定して初期化しています。
しかし、restorationが上手くいかず毎回初期状態に戻されます。何か致命的な間違いをしているのでしょうか?
0425名称未設定2013/09/18(水) 00:36:34.24ID:jCmxLtvM0
UISearchBarェ…。
04264142013/09/18(水) 14:10:13.58ID:vI8zh0Ce0
>>414ですが、解決しました!

CoreDataのソートの更新処理もうまく行かず、
ネットで調べていたところ、「fetchedResultsController = nil」すればいいということを発見しました。
nilだと作成しますからね。するとうまく動きました。

そこで、CoreData+iCloudの場合も同じだろうと判断し、
fetchedResultsControllerのキャッシュを削除する処理もいれました。

そして、NSTimerで一定時間ごとに、更新処理を加えました。

・キャッシュ削除
・nil入れる
・テーブルビューをリロード

この処理をTimerで回したら、
iCloudでも同期されました。
NSTimerも思ったより重くなくていい感じです。

以上、解決報告でした。
また何かあればよろしくお願いします。
0427名称未設定2013/09/18(水) 17:44:13.79ID:AHaaPhTe0
>>416
>>418
ありがとうございます
諦めかけていましたが無事実装できました
0428名称未設定2013/09/18(水) 22:14:44.38ID:FMlbD3yG0
質問です。
StoryboardにてCell上にUITextFieldを置いて
cellForRowAtIndexPath内で
UITextField *field = (UITextField *)[cell viewWithTag:1];
//以下設定

というように実装している画面が2つあります。
デバッグ中に片方のViewControllerでStoryBoardからUITextFieldを置き忘れていた事に気が付きました。
#それでも何故かiOS6では動いてました。

そこで、TextFieldを置き忘れたStoryboardを修正したのですが、今度は何故かTextFieldが二つ出てしまう現象になりました。
色々見直してみたのですがどこが悪いか分からなかったので、何か単純ミスが無いか指摘をお願いします。
0429名称未設定2013/09/18(水) 22:28:10.86ID:FMlbD3yG0
すいません事故解決しました。。
Storyboardで作り忘れていたと思っていたTextFieldは実は存在しておりました。

Storyborad上でFontが system 12だったのですが、その状態だとxcodeやiOS7から見えなくなるようでした。。。。

system 14に直したところ問題なく動きました。
04304242013/09/18(水) 22:53:02.16ID:EI5G/mIli
>>424です。
ストーリーボード使わないのやめてストーリーボード使うようにしたらできました。
時代はストーリーボードなんでしょうか?
また、ストーリーボードを使わなくてもビューコントローラの復元を行う方法はありますか?
■ このスレッドは過去ログ倉庫に格納されています