iOS
さて、同期させるのに具体的な code ですが、こんな感じになりました: + (NSArray *) queryCategory { dispatch_semaphore_t semaphore = dispatch_semaphore_create( 0 ); CKContainer* defaultContainer = [CKContainer defaultContainer]; CKDatabase* p…
CloudKit を使っていて、master として登録した table から all records をとってくるのはどうするんだ? こんな単純なことがわからない。結論は、こんな感じ・・・ NSString* word = [NSString stringWithFormat:@"nil"]; NSPredicate* predicate = [NSPred…
CloudKit で、master data を cloud に保存しておき、アプリ起動時にダウンロードしようかなと思って試してみる。 うーん、文字列の query の方法がわからない・・・integer の query に切り替えてみたら、error 発生。 <CKError 0x604000249c60: "Internal Error" (1/4000); "Couldn't send a valid signature"> なにこれ? 調べてみたら、iPhone si</ckerror>…
Xcode の 9.2 辺りまで、Xcode を起動しっぱなしにすると電池をやけに食う現象があり、long life 自慢の Macbook 12 in だったのに、3 時間ぐらいしか持たない始末。 なんでこんなことになるのだろうと、CPU の使用状況を調べてみたら、以下の謎のプロセス発…
アプリ作ってて、ある view をタッチしたら・・・というのを検出する話。 いつもは、対象となる uiview の sub class を作って、delegate を通して、あーめんどくセー・・・という流れだったのですが、今日、こんな書き方を知った。 - (void)touchesBegan:(N…
CloudKit を使おうと思い、Capability > iCloud > CloudKit を On にする。すると、steps にエラーの表示が。こんな感じ。 ! Add the iCloud feture to your App ID. ! Add iCloud Containers to your App ID. ってことで、provisioning profile とかをちゃ…
CoreML を使って文字の認識をしたくて、色々調べているのですが、Swift の記事ばかりで、Objective-C の例が全然ない。Swift の記述を Objective-C に置き換えればよい話なのですが、Swift を理解していないので辛い・・・。書籍は持っているのですが、なか…
CoreML を使い始める。物体の写真を撮って、何が写っているか分類する。ネットに情報は色々あるけど、自分のやりたいことズバリに答えてくれる情報はない。しかも、Swift の情報ばかりで、Objective-C で書く人は完全にマイノリティ。しょうがないので、試行…
tableView の一覧表示で、表示する項目は Storyboard の Prototype Cells 部分に UILabel を配置し、configureCell method で表示する内容を指定する。 Storyboard で UILabel を配置するとき、tag のデフォルトは 0 なんだけど 0 のままだとうまく表示がさ…
tableView で、セルをタップしても detail に遷移しない。これ、基本的なことだろ?どういうことだ? prepareForSegue はちゃんと実装しているぞ? 理由は、storyboard で、detail へ segue の繋ぎ方を間違えていた。画面全体から繋いではダメで、xxxCell と…
受託の仕事をしていると、ホント、いろんなことある。 まず、時間的な制約。必ず納期があるものの、想定外のことが起こるので余裕を持っていたつもりでも、いつの間にか時間が足りなくなってしまう。 今回最もハマったのが、お客様の証明書を組み込んで納品…
いやー、はまりましたね。受託開発していて開発時は自分の provisioning profile を使用し、納品時にお客様から受領した provisioning profile を使わなければならないというケース。Xcode でお客様から受領した provisioning profile を指定してみたものの…
UIButton にアニメーションをつけるにはどうすればよいのか。 色々調べたところ、結局のところ、アニメーションは UIView に対して実行するものなので、UIButton に直接アニメーションは仕込めない。なので、まずは UIView を作ってその中に UIButton を配置…
UIImageView をアニメーションさせる方法がわからなくて、さて、どうしたものか。色々調べたところ、アニメーションは UIView に対して指示するものであり、UIImageView に対して指示するものではないことが判明。しょうがないので、まずはUIView を定義して…
今日はこどもの日ですが、妻が子供の服を買いに行くというので任せることにして、co-working space でアプリを作ることに。 いつもの如くなかなか出発しない。なんか考え込んでいる様子で、行動するのに時間がかかる。ようやく出発したのが 16 時過ぎ。行き…
iOS のアプリを Objective-C で作っています。オブジェクト指向の言語なので、delegate とか、仕組みが提供されているものなので、知っていればればその恩恵を受けられます。今回は、自作した機能でオブジェクト指向の恩恵を受けることができた典型的な事例…
アプリを作ってて、ある object をタッチしたら画面遷移したいときがあります。 普通に segue を使えばよいと思ったのですが、例えば object が UIImageView で、月〜日と書かれた絵だった場合、月〜日の object それぞれから segue を引っ張る必要が生じ、…
iOS のアプリを作るとき、ゲームじゃないんだけどちょっとゲームっぽい画面を作らなくちゃいけなくて、さて、SpriteKit を使うべきか、あるいは、普通に UIViewController で済ませてしまうか、悩ましいときがあります。自身の中でも、どう区別すべきか、都…
UINavigationController と UITabBarController を同時に使う方法は以前解決したつもり。開発を進めていると、ボタンを選択し + ボタンを押しても別のデータが追加されてしまう。ボタンを押したら、初回はいいのですが色々画面を切り替えていると問題が起こ…
Tab Bar Controller に Tab を追加すると、デフォルトで Item という名称になる。当然のことながら、名称を変更したくなるのですが、果たしてどのようにするのか。 接続先の View の下部に Tab Bar が表示されるので、選択する。 次に、Show the Attributes …
UITabBarController にタブを追加ようと、storyboard に UITableView を配置し、segue で接続。いつの間にか、順序を間違えてしまったようで、先に追加していた UITableView が viewcontrollers[1] になってしまった・・・ということに気づかず、画面を新た…
地味なところでハマってしまった・・・Tab Bar Item ボタンに名称を設定するにはどうするか。Xcode の Storyboard でボタンをダブルクリックしても反応せず。 正解は、ボタンを選択し、Attribute Inspector > Bar Item > Title 部分で名称を設定する。 分か…
Master-Detail template を使っていると、Prototype Cells というのが表示されて、あーここにセルの内容を表示するのね、というのはわかるのですが、変更しようとするともう大変。さっぱりやり方がわからない。色々調べたところ、次の通り。 1. Master の Ta…
このネタで 4 回も書くとは思ってもいなかったのですが、より良い方法があったので、後学のため書いておこうと。 Master-Detail template に tabBarController を追加するのにどこに追加するのか?という問題があり、さらに、いい加減に追加しても、error に…
やっぱりハマりました。Master-Detail template で、rootView が splitViewController になり、そこに tabBarController を追加したくてしたくてたまらなかったのですが、オレオレでやってみたら detail に画面遷移した折に navigationBar が表示されない事…
久しぶりにはまりました。Master-Detail template はよく出来ていて、手を入れる必要がある個所が分かってくれば凄く便利なんです。 でも、TabBar を追加しようとすると状況が一変してしまう。まず、TabBar の追加の仕方がわからない。さらに、storyboard に…
Detail から detailDetail に画面遷移し、navigation ボタンで Detail に戻ってくる時 delegate method はないのか? 事の発端は、戻ってきたとき tableView の内容が更新されない事態で困ったなと。 調べてみたらちゃんとあった。Detail に戻ってきた後に呼…
Segue 接続して次の画面に遷移する場合ですが、Attributes Inspector を表示すると、kind とというリストがあり、そこで画面をどのように表示するか指定できる。 遷移したら navigation Item が表示されなくなったぞ?と思っていたら、Show あるいは Show Dt…
UISwitch の変更があった場合、値をどうやって設定するか。現在の値は property on で取得できます。mySwitch.on のような形です。現在の値を取得できることから、if 文で分岐するやり方を思いついたのですが、あまりスマートではないなぁと・・・こんな感じ…
アプリを作っていて、画面ごとに(というか ViewController ごとに)source が分かれるのですが、あ、この method 前の画面でも使ったなぁということがあります。今回遭遇したのは、field に数字を入力したら自動的にカンマをつける、データを保存するときは…