2018-01-01から1年間の記事一覧

SKShapeNode の position

SKShapeNode を扱っており、どうも勝手がよろしくないなと思ってたらようやくわかった。 まず、anchor point は物体の中心であること。左下端とか勝手に思い込んでいたので、気づくのに時間がかかってしまった・・・ 次に、position の基準点は screen の中…

macOS 10.14 Mojave にアップデート

macOS 10.14 にアップデートした。ダークモードにしますか的な質問があり、物珍しさから「はい」を選択。 なんだか、昔使ってた AfterStep によく似てる。慣れないからなんかちょっと調子が狂うのだけど、も少しこれでやってみよう。 今日は外観の変化点のみ…

Xcode 10.0:結構変わった

iOS 12 がリリースされたので、Xcode もバージョンアップしないと iOS 12 のアプリが作れないので、必然的にバージョンアップされる。早速ダウンロードしてインストール。 アプリがちゃんと動くことを確認し、さて、何が変わったのかと色々試してみる。edito…

MacOS X Safari v12 で、はてなにログインできない・・・

Safari を v12 にアップデートしたら、はてなにログインできなくなった。 色々設定をいぢってようやくログインできた。設定>プライバシー>Web サイトによるトラッキング、サイト越えトラッキングを防ぐ この設定を Off にすると無事ログインできた。でも、…

ヴェポライザーでシャグ :DAISO シリコーンマウスピース

100 円ショップでライターを買おうと思い、喫煙具コーナーを見ていると、シリコーンマウスピース(P・T)と言うのが売ってた。7 個入りで ¥100 ととてつもなく安い、紙巻きたばこ一本より安い。プルーム・テック用に作ってあるようだけど、C Vapor 2+ でもマ…

メモリーリーク:Xcode と Instruments:その2

カメラを使うアプリを作っていて、メモリリークでアプリが落ちる、それを調べるのに Instruments が有効だと書きました。でも、Instruments で検出できない leak もあり、memory をモニタリングしつつ使われている method を掌握しつつ、根本的な問題解決へ…

メモリーリーク:Xcode と Instruments

アプリを作っているのですが、 カメラに写った画像を加工してどーのこーの というのをやろうとしてて、アプリを起動し、しばらくすると落ちる。原因は、起動しているとメモリを食い過ぎてしまい落ちているようだ。メモリリーク・・・水道管の水漏れにちなん…

SpriteKit の touch event と座標変換

SpriteKit の Scene では縦方向の原点が下で、UIView では上になるという違いがある。なんでそんなことすんの?という疑問なんですが、SpriteKit はゲームで利用することが多く、重力を計算するとき原点が下にあった方が理解しやすいからなんだろうなと勝手…

CGRect を配列の要素にするには・・・

どうも CGRect には泣かされる。CGRect を配列の要素にしようと思い [mutableRects addObject:textObservation.boundingBox]; とすると以下のエラー Sending 'CGRect' (aka 'struct CGRect') to parameter of incompatible type 'id _Nonnull’ 仕方がないの…

SKShapeNode のアンカーポイントは?

SKShapeNode の アンカーポイントを変更したく、property で設定しようとしたら property が無い・・・ 調べてみたら、SkShapeNode のアンカーポイントは自動的に中心になるようで、property 自体が存在しないと。 うーん、addChild した object の配置位置…

CGRect を for 文で・・・

配列の中身が CGRect で、for 文の中で要素を取り出す際の話。 for ( CGRect rect in arrayHoge )このようにすると、次のエラーになる。Used type 'CGRect' (aka 'struct CGRect') where arithmetic or pointer type is required しょうがないので、魔法の i…

SpriteKit: SKSpriteNode と SKShapeNode

単に四角形(ブロックのつもり)を描写するのに、SKSpriteNode を祖先とする class を作っていて、ふと、縁の色を白にするのはどうするんだ?と疑問に思う。 調べてみたところ、SKSpriteNode で縁の色を指定する method は無いようだ。さてどうしようか。よ…

MacBook 12 inch で音が鳴らないぞ?の時の対処方法

いつものようにインターネットラジオを聞こうとしたら、音が鳴らない。曲名はとってきているので通信はできているっぽい。なんだろう。 ボリュームキーを押してみたら音がしない。画面に overlay されたボリュームサインのインジケーターが、侵入禁止のよう…

SpriteKit: sks ファイルの謎(3)

sks とはほとんど関係ないけれども、自作した class の class method の場合はどうやって定義するのかについて、備忘のため記しておこう。 SKSpriteNode を元にした class を生成し、class method は次のように定義した。 + (instancetype) spliteNodeWithCo…

SpriteKit: sks ファイルの謎(2)

ようやく謎が解けた・・・ sks ファイルは良くないんじゃないかと思っていたのですが全く勘違いで、自作 class の init が良くないことが原因でした。 具体的には、 self = [MyClass spriteNodeWithImageNamed:@"hogehoge"]; とすべきところを、 self = (MyC…

SpriteKit: sks ファイルの謎

SpriteKit でブロックゲームのようなものを作ろうと久しぶりに template から製作してみたら、いつの間にか sks ファイルが登場していて、どうやら storyboard のように object を配置していく形を採れる様子。こりゃ便利だと早速いろいろ試してみたら何かと…

ヴェポライザーでシャグ :ショートピース

ショートピースの評判が良く、そういえば吸ったことないので買ってみた。タバコの香りは、なんというか薄い柑橘系の香り。レビューを読むと、甘くてほんのりバニラの香りに酸味が加わりすごくうまいとのこと。 まず、普通に火をつけて喫煙。う・・・ダメだ、…

CloudKit: 同期するにはどうするか(2)

さて、同期させるのに具体的な code ですが、こんな感じになりました: + (NSArray *) queryCategory { dispatch_semaphore_t semaphore = dispatch_semaphore_create( 0 ); CKContainer* defaultContainer = [CKContainer defaultContainer]; CKDatabase* p…

CloudKit: 同期するにはどうするか(1)

CloudKit で、public 領域に master データを定義してあり、アプリではCloudKit に保存してある最新のマスターから一覧をとってきてリストで表示したい。All Records の取り方はわかったのですが、これ、非同期でとってきちゃうのね・・・ 非同期たど、入力…

煙管、黒船

どうにもヴェポライザー で消費できないシャグに出会ってしまい、とにかく合わないから吸いたくない。じゃあ、本来の趣旨に沿って、手巻きにすればよいのではと試してみたら、見事に合わない。もう、どうしようもないなと。しょうがないので、キセルでやって…

CloudKit: All Records を取ってくるのはどうすんだ?

CloudKit を使っていて、master として登録した table から all records をとってくるのはどうするんだ? こんな単純なことがわからない。結論は、こんな感じ・・・ NSString* word = [NSString stringWithFormat:@"nil"]; NSPredicate* predicate = [NSPred…

CloudKit: string field の検索は、結構自由度がないね。

CloudKit で、public で生成してある table で string として定義してある field を検索しようとしたところ、色々 error 発生。 まず、name CONTAINS xx というのは無理だと。error になると。 次に、name LIKE xx というのもダメだと。サポートしていないと…

CloudKit で error: <CKError 0x604000249c60: "Internal Error" (1/4000); "Couldn't send a valid signature">

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.4.1: com.apple.CoreSimulator.CoreSimulatorService の異常解消。

Xcode の 9.2 辺りまで、Xcode を起動しっぱなしにすると電池をやけに食う現象があり、long life 自慢の Macbook 12 in だったのに、3 時間ぐらいしか持たない始末。 なんでこんなことになるのだろうと、CPU の使用状況を調べてみたら、以下の謎のプロセス発…

タッチしたら・・の書き方。

アプリ作ってて、ある view をタッチしたら・・・というのを検出する話。 いつもは、対象となる uiview の sub class を作って、delegate を通して、あーめんどくセー・・・という流れだったのですが、今日、こんな書き方を知った。 - (void)touchesBegan:(N…

CloudKit を使う: App を登録してからでないと使えないのね。

CloudKit を使おうと思い、Capability > iCloud > CloudKit を On にする。すると、steps にエラーの表示が。こんな感じ。 ! Add the iCloud feture to your App ID. ! Add iCloud Containers to your App ID. ってことで、provisioning profile とかをちゃ…

CoreML を使って画像認識、Objective-C で書くと・・・

CoreML を使って文字の認識をしたくて、色々調べているのですが、Swift の記事ばかりで、Objective-C の例が全然ない。Swift の記述を Objective-C に置き換えればよい話なのですが、Swift を理解していないので辛い・・・。書籍は持っているのですが、なか…

Vision.framework と CoreML

CoreML を使い始める。物体の写真を撮って、何が写っているか分類する。ネットに情報は色々あるけど、自分のやりたいことズバリに答えてくれる情報はない。しかも、Swift の情報ばかりで、Objective-C で書く人は完全にマイノリティ。しょうがないので、試行…

tableView Prototype Cells で tag には 0 以外を指定しないと表示されないのね。

tableView の一覧表示で、表示する項目は Storyboard の Prototype Cells 部分に UILabel を配置し、configureCell method で表示する内容を指定する。 Storyboard で UILabel を配置するとき、tag のデフォルトは 0 なんだけど 0 のままだとうまく表示がさ…

tableView で、セルをタップしても detail に遷移しないぞ?の場合

tableView で、セルをタップしても detail に遷移しない。これ、基本的なことだろ?どういうことだ? prepareForSegue はちゃんと実装しているぞ? 理由は、storyboard で、detail へ segue の繋ぎ方を間違えていた。画面全体から繋いではダメで、xxxCell と…