Herbstick Relax 購入

ploom tech を 2 週間ほど続けるも、どうもダメ。ダメな理由は、吸い始めはよいのだけれど、だんだんキック感が薄れてきて、しまいには何回も何回も吸ってしまうところ。すると煙が出なくなるので、リキッドを注入するのですが、注入すると煙は出るようにな…

グラフを描くには・・・

iOS でグラフを描くにはどうするか。 ライブラリを使うには CorePlot の評判がよいので試してみたところ、うまいことインストールできない。技量が足りないと言われればその通りと言わざるを得ないものの、ライブラリのアップデートに自動では対応できないと…

App: Wild Bird Field Note

バードウオッチングをすると観察できた野鳥を記録します。フィールドノートと呼びますが、手書きのメモ帳を使用していましたが何かと不便なことが多く、特に不便なのが無くしてしまうことだったりします。そういう時は別の紙に書いたりするのですが、資料の…

フェリーで北海道に帰省

フェリーで北海道に帰省していました。出発直前に嫁が行かない宣言をして、子供二人連れて 3 人で帰省することに・・・ 上の子は 4 年生ですが、意外と大人になっていて、下の子をちゃんとお風呂に入れてくれました。その他いろいろ手伝ってくれて助かりまし…

Ploom Tech を使って一週間

Ploom Tech を使って一週間が経ちました。どんなものか試してみたくて、東京販売を機に買おうとしたところ予約しないと買えないとか、どこ行っても売っていなくてとにかく買えない。調べてみたところ互換バッテリーがありたばこカプセルだけ買えばよいらしい…

UIAlertController に入力フィールドをつける、textField.delegate = self で警告・・・

UIAlertController に入力フィールドをつける方法がわからなくて調べたところ、わかりました。UIAlertController のインスタンスを生成し、 [alertController addTextFieldWithConfigurationHandler:^(UITextField* textField) のような感じでした。簡単です…

mapView に pin を刺して、タップしたら情報出すのって難しいね。

mapView に単に pin を打つのはそう難しいことではない。ネットで検索するとわかりやすい記事が出てくるので、詳細はそちらで。 また、pin にカレットを表示することや、カレットに info ボタンを表示することも同じくすぐ出来るでしょう。 問題はその先で、…

CLLocation から MKCoordinateRegion にするには・・・

CLLocation のデータを、MKCoordinateRegion データにするにはどうするのでしょう。 色々調べたところ、 CLLocationCoordinate2DMake(0.0, 0.0); みたいな関数があり、え、CCLocation から x, y みたいな感じでプロパティ取り出すの? え?分かんね・・・と…

5,000 円のクーポン券が当たった。

某店の 5,000 円クーポン券が当たってしまった。 よく考えると、店はよく見るのだけれど、最近は買うものがないなぁと思っていたところ。以前は、Lee の国内生産ジーンズが置いてあったんだけど、最近はアメリカで流通しているものばかりで、ちょっといらな…

segue で画面遷移するときに値を渡せない・・・

Xcode で画面を作り、segue で接続してやると特にプログラムしなくても画面遷移ができてとても便利なんですが、画面遷移する折に遷移先に値を渡してやりたい時があります。 そんな時どうするのかよくわからなかったんですが、いろいろ調べてみた結果、以下の…

block の中で使う変数を変更する方法

Objective-C でいつの間にか block 構文を使えるようになって便利というか、method に勝手に組み込まれているので覚えざるを得ない状況です。 block って便利なんですが、文が長くなりすぎてしまいわかりにくいのが難点かと。 その他、block 内で変数を変更…

同期処理に semaphore を使う

CloudKit のプログラムを書いていると、サーバに対する Query 処理などでは非同期処理となる。通常はこれで特に問題がないのですが、フィールドの値に Reference 型を指定してある場合、マスターのレコードを query してサーバ側のレコード番号を取得してお…

CloudKit Dashboard で軽くハマる

CloudKit Dashboard で軽くハマりました。 Query しようとしたら、recordName is not queryable みたいなエラーメッセージ。初め、あ、query 可にしちゃいけないのね、と思って、query の属性を消していったら一向にエラーがなくならない。なんじゃこりゃと…

610 アメリカ屋のセール

アメ横のアメリカ屋、正式名称は 610アメリカ屋なのだが、頭に付く 610 とは何か?諸説あるようですが、創業者が武藤さんだったので、と言うのが有力視されているものの、真偽のほどはさっぱりわかりません。そんなことはどうでもよくて、610 についてよく覚…

CloudKit Dashboard に変化が・・・

CloudKit Dashboard、変わったね! 今までは、保存されているレコードを表示するだけ・・・みたいな、意味ない感じだったんだけど、Dashboard から Query かけられるようになりました。 画面のデザインも一新され、使いこなすと使い易いのだと思いますが、ま…

macOS Sierra で、コピペできなくなった時は・・・・

Sierra は安定していていいね、と思っていたら、とんでもない症状が。 コピペしようとしたらできない。単純な文字列をコピペしようとしてダメ。テキストエディタを開いて、一文字だけコピーしてペースとしてみてもダメ。こうなっている状態で、コピーした直…

リーバイスと 501 と・・・

昔はジーンズと言えば Levis で 501 と、マーケティングの餌食になっていたのか、わざわざアメ横まで買いに行くという感じだったんですが、いつの頃からだろう、501 のシルエットが変わっていることに気づいた辺りから、どうもいまひとつ好きになれず、最近…

CloudKIt Database を使って・・・

CloudKit Database を使っての印象。 良い点 CoreData いらないかもね。全部サーバに保存しちゃえば良い。 無料で使える容量が多いので、ほとんど無料で行けちゃうね。これはありがたい。 悪い点 蓄積したデータのメンテナンスはどうやるのがうまいやり方な…

結局、Objective-C の方がよいのでは・・・

昨日の続きとなりますが、特別な事情があり QR コードリーダーを急遽実装することになり、昔の醤油もとい source を引っ張り出して来て実装したのです。 info.plist の仕様変更という躓きはあったものの、ほとんどまんまで実装できました。理由は、ハードウ…

iOS 10 で、AVCaptureSession startRunning すると、error...

訳あって、制作中のアプリに QR リーダーを実装する必要が出て来て、ずいぶん前に作ったラーメンタイマーの source を引っ張り出して来て実装。 build & run で無事(?)error 発生・・・以前との違いは OS が 8 → 10 に変わったぐらい。 エラー内容を見る…

第5回 飯能アルプス~奥武蔵丸山トレイルラン、完走するも体ボロボロ・・・

距離がちょっと長いけど、参加したことがないレースなので、準備万端(のつもり)で臨むも、ゴールまで 9 時間近くかかるというなんとも情けない結果に・・・ 距離が長いことはあらかじめわかっていたので、秋葉原までランニング 3 回、その他、20Km 以上の…

日付の比較は compare ですか。

Objective-C で日付の比較をしようとしたところ、どうも、うまくいかない。 if ( now > item.date ) こういうのはだめ。 なんで?と調べて見たところ、compare 使えと。 [now compare:item.date] --> 1 ............ now の方が最近 [now compare:item.date]…

設定、app、通知 が許可になっているのか調べるには・・・

時刻を設定すると、その時刻になるとアラームを出すアプリを作成中。こういった処理は、UNNotification を使って作成するのが iOS 10 からの流れのようで、UINotification の時代から大して慣れていない中、やっとこさっとこ意味のある機能を作ることができ…

SKLabelNode で画面中央に時計を表示すると、何秒かおきに横にずれてしまうのを解消。

SKLabelNode で画面中央に時計を表示した時のこと。時計は、シンプルに次のような形で HH:MM:SS。これ、何秒かおきに微妙右にずれ、左にずれを繰り返します。理由は、画面左右の中央に時計を表示しますが、時計の数字フォントの幅が、数によって微妙に異なる…

textView は曲者だ。

textView は曲者だ。以前もハマった記憶がある。 事象は、textView に文字を設定しようとしても設定できない状況。textView.text = @"hoge"; で設定できるはずなのに、全く反応なし。かなり調べて、例えば、.editable は頭に指定しないで、text の変更をして…

つくば駅まで 35 Km

5 月にトレイルのレースがあり、距離は 37Km。レース前に同じぐらいの距離を走っておきたく、今日は休日だったので朝から走ることに。 自宅からつくば駅まで 35 Km あり、朝 7:30 分に走り始めて、つくば駅に着いたのが 11:40 頃。実に 4 時間以上かかったわ…

Xcode 8 では CoreData 用のファイルは automatic になったんだって (2)

CoreData が automatic になったことは既報の通りです。実際使用するにあたり、どういう違いが出てくるのか、実際プログラムして試してみました。 結論から言うと、automatic の方が便利です。理由は、開発の段では database の schema は変動的なので、フィ…

TLSv1.2 って何ですか・・・

事の発端はアプリから SSL 通信で CGI にアクセスし、JSON データを受領しようとした事。 NSURLRequest を使って、簡単・簡単、と思ったら、推奨していないので、NSURLSession を使えと叱られる。うわーめんどくセーと思いながら渋々書き換えたところ、error…

LM5102 と LM0102 の比較

先日、LM5102 と LM4102 の違いについて言及しました。 その後、LM0102 を購入(厳密には、Twill black)を購入したので、重ねてみてスタイルの違いを比較しました。 はじめに、LM5102 の説明を読んだ印象と、実際に履いてみての思っていたのは、結局、原点…

addObserver に UserDefaults を登録できる

プログラムを作るときに KVO って便利なんだけど、監視対象にするオブジェクトとして、UserDefaults を指定できることを知らなかった・・・ 随分遠回りな実装になってしまったところでできることに気がついて、その後、余分なコードを消し消ししてそっちの方…

UserNotifications について

時計とアラームをアプリに組み込んでいて、時間が来たら Alerm を出すわけですが、以前は、Notification とか使っていたんですけど、いつの間にか、UNNotificationCenter なる Framework が追加になっていた。 Swift ベースの記述が多くて難儀しましたが、い…

ボタンを押したら SpriteKit に切り替えるには・・・

アプリを作成中なんですが、今のままの機能だけでは reject 必至だろうということで、ミニゲームの機能も持たせることにしました。アプリの画面にボタンを用意して、ボタンを押したら spritekit の画面に切り替えようとしたところエラー発生・・・ 呼び出し…

Xcode 8 では CoreData 用のファイルは automatic になったんだって

仕事でアプリを作る必要があり、CoreData も使おうと。ようやく作り方にも慣れてきたところで、まずはモデリングして、次に、Editor -> Create NSManagedObject Subclassess... を選んでファイルを生成してと、慣れた手順でファイルを作ったら、build でエラ…

LM5102 と LM4102 の比較

Lee の 102 が好きで、いつもこれなんですが、数年前に買ったものが、ついに、お尻の辺りが薄くなってきて、このままではまずいなと。 アメ横の 610 のセールはもうすぐだった気がするけれども、待てそうにないので買うことにしました。おまけで、Lee のマグ…

CloudKit にマスターデータを登録するには・・・

CloudKit にマスターデータを登録するにはどうするのだろう。Dashboard をいくら探してもファイルをアップロードする仕組みはない。色々調べてみても、その辺りについて書いてある記述もない。まさかの、その仕組みナシ・・・という気がしてならない。 日本…

CloudKit: N から 1 のレコードを参照してみました

CloudKit で relation の定義の仕方がわかったので、今度は、N のテーブルから 1 のテーブルを参照する方法を試してみました。 Apple 謹製のドキュメントはすごく素性がよくて(当たり前?)、その通りに作ればその通りに動きました。ただ、これ、実装すると…

CloudKit で relation はどうやって定義するのか

CloudKit を使って、1 : N の relation はどうやって表現するのか、とりあえず、設計においてどうするのか、理解を深めるため、主に Apple の document を中心に熟読してみました。 CoreDate との比較になりますが、CloudKit の場合、N : N という CoreData …

CloudKit を使ってみた

アプリのユーザーが作ったデータを共有すると色々都合が良いので、BaaS はどれがいいのか調べていたら、Apple 謹製の CloudKit があった。ちょっと試してみたらかなり素直な印象。Apple の公式ドキュメントが一番使える印象。Objective-C で例示してあるのも…

UITableView を配置すると、上部に謎の空白ができてしまう時の対処方法

いつの頃からか、UITableView を画面上に配置すると、謎の空白ができてしまう現象が発生。これ、見た目がすごく悪いので、解決方法がないのか色々調べたのですね。 結局のところ、StoryBoard で、UITableView の配置順を下げると解消するのですが、これが一…

愛宕吾国ハイキング縦走コース

脚がだいぶ仕上がってきたので、12 月にも行ったコースを走ってきました。 今日は気温が低く快晴で風も少なく走りやすい。R1 フーディの上にウインドブレーカーで丁度良い感じ。R1 フーディは走っている間とても快適でした。満点です。 岩間駅から 0740 に走…

info.plist と NSUserDefaults

アプリ内のちょっとしたデータを保存するのに、CoreData に保存するほどでもないんだよなーということがあって、具体的には、観察地を入力する時のデフォルト地点を、前回の場所にしておきたかったんですね、毎回場所を変えてバードウオッチングする人は稀で…

CloudKit Storage

アプリ利用者のデータを統合すると集合知的な利用方法ができる。 今構築中の野鳥観察記録(Field Note)では、例えば有名な探鳥地に行くとして、遭遇できるであろう野鳥の種別とその期待値を出したり、日本各地における渡り鳥の初認日から、自宅周辺での初認…

CoreData relations は valueForKey でも指定できる

CoreData で many to many を指定。あるレコードに関連づけられた N のレコード数は一体どうやって取り出すのだ?と疑問が生じました。一覧の画面で、detail に登録した野鳥の数だけ表示したいと思ったんです。 ダメ元で、relations で規定した文字を指定し…

CoreData many to many における、many の検索

CoreData を使い、野鳥観察記録帳のデータを管理。観察記録テーブルと野鳥一覧を many to many で連結。RDB の場合、 (1) 野鳥観察記録ー(N )観察した野鳥ー(1) 野鳥一覧 のように、テーブルを定義しますが、CoreData では many to many という指定ができる…

フォアフット

フォアフットで走ると速く走れる(らしい)と聞いて、実践中。 初めは全然できなかったのだけど、階段を降りる時のように、着地する側の骨盤を下げ、逆に言うと、軸足の骨盤を上げることで着地しやすくなった。 問題はふくらはぎで、初めは疲労感と痛みで 10…

CoreData relationship, Many-To-Many (N 対 N)について

CoreData を使うと、One-To-Many (1 対 N)や Many-To-Many(N 対 N)を形容できるということで、いろいろ試してみた。 私はもともと RDB を扱っていたので、Many-To-Many の概念がよく分からない。RDB の場合、1 : N : 1 のようにすれば良いわけで、Many-T…

R1 フーディとキャプリーンサーマルジップネックフーディの違い

冬のジョギングは寒いので、ウインドブレーカーの中に着るのにいいのはないものかと探していたところ、patagonia のキャプリーン 3 (以前はこう呼んでいたはず、いつのまにかキャプリーン4、サーマルと名称が変わった気がする・・・)が良さそうとのことで…

Swallow tail vent foodie

ランニング用に TNF のスワローテイルフーディを愛用していたのだけど、長年の酷使に耐えきれず、ついにチャックが壊れてしまった・・・レースとかでも使っていたので、チャックの金属部分が汗で腐食して取れてしまった。これでもまだしめようと思えば閉めら…

self.property と _property の違い

objective-c でプログラムしていて、property の値をいじりたい時、self.property と _property どっちにすればいいのか、ふと悩んでしまいました。 実験した結果、self.property とすれば、setter が呼ばれました。ので、setter を呼びたい場合は、self.pro…

NSPredicate で検索句を作る

バードウオッチングをして、フィールドノートを記録するためのアプリを作成中です。日本で観察できる野鳥名のマスタは日本野鳥の会から取ってこれたので Core Data に入れました。頭一文字を入力したら、候補の野鳥名が一覧で出てくるようにするにはどうする…