CrossBridge Lab

技術ネタ、デバイスネタを...

スクリーンショットを撮ったことを検知する

iOSでユーザーがスクリーンショットを撮ったタイミングで何かするときのメモ。 スクリーンショットの画像にアクセスできるとかではなく、単に スクリーンショットを撮った ことを検知するだけなので要注意です。 例えばQRコードやワンタイムパスワードなどを…

Droidkaigi2018で「AndroidThingsとFirebaseで始めるホームセキュリティ」というタイトルで登壇してきました

2018/2/8,9で開催されたDroidKaigi 2018で登壇してきました。 資料はこちらです。 当日AndroidThingsのCodelabがあったり、展示スペースにAndroidThingsを使ったデモが置いてあったりしたことが関係しているのか、自分が想定していたより見に来て頂いた方が…

Google Home と Android ThingsでLチカする

今回はGoogle Home と Android ThingsでLチカする方法を解説します。 Google Homeとは Google HomeとはGoogleが開発したスマートスピーカーです。2016年11月にアメリカで発売されましたがしばらく日本では買うことができず、2017年10月にようやく日本でも発…

Android ThingsをRaspberry Pi 3にインストールする

Android Thingsとは Android ThingsはGoogleのIoT向けのプラットフォームとして発表されました。開発者は、このプラットフォームとAndroid API、様々なGoogleのサービスを利用することで各種のスマートデバイスを開発することができます。 Android Thingsを…

【Unity】C#で乱数を生成する

UnityではRandomクラスは.NET FrameworkのSystemではなく、UnityEngineの中にあるため微妙にメソッドが異なる模様(Nextメソッドが使えない) 0〜1.0までの浮動小数点(float)を得る float value = Random.value; XからYまでの整数(int)を得る 整数の場合、第…

ホームページにfaviconを設定する

久しぶりにファビコンの設定をしようと思ったらどうやら shortcut を指定するのはよろしくないということを聞いたので整理してみました。 <link rel="shortcut icon" href="/images/favicon.ico"> これはすでに時代遅れだった・・・ ico形式の場合 linkタグのrel要素に icon を指定する。 shortcut は不要です。 <link rel="icon" href="/images/favicon.ico"> p</link></link>…

Windowsでマウスのスクロール方向を変更する

最近Windows MRのために久しぶりに(多分10年近くぶり)Windowsを触っているのですが使い始めてすぐに感じた違和感、それはマウスのスクロール方向。 Macに慣れているとスクロール方向が逆なんですよね。Macの方はOS X 10.7(Lion)から、(設定で戻せるけど…

今からでも遅くないPython入門

はじめに Pythonは読みやすく効率がよいコードをなるべく簡単に書けるようにするという思想のもと開発されたため、文法が極力単純化しておりコードの可読性が高く読み書きがし易いという言語的な特性があります。昨今ではデータ分析、機械学習などの盛り上が…

iOS11からのアプリ内のレビュー誘導について

WWDC2017で発表された内容です。 すでにApp Store Review Guidelinesも改定されており、用意されているAPIを使えとなっています。 変更点 iOS10までのAppStoreでは最新バージョンの評価が表示されていたが、iOS11からはバージョン別ではなく総合的な評価にな…

【リリース】猫好きのためのアプリ:Cattest をリリースしました

現在は公開終了しています。(2017/10/1追記) 猫好きのためのAndroidアプリ:Cattestをリリースしました。 (最近あまり更新できておらず、リリース報告がメインなブログになりつつあるのはご愛嬌。) Cattestはキャッテストと読みます。Catと最上級のestを…

GolangでSlackの特定のチャンネルにメッセージを送る

Cronで定期的に動かしているGo言語で書かれたプログラムからSlackの特定のチャンネルにメッセージを送りたいと思って調べてみました。 どうやらWebhook URLを使えば簡単にSlackのチャンネルにメッセージを送ることができるようです。 というわけでまずはSlac…

2018年に2012年モデルのMac miniを使う2つの理由

Mac

iMacやMacBook Proなど新しいモデルが発売されていく中、2014年にLate 2014が発売されてからここ数年音沙汰がないMac mini。iMacはiMac Proというプロスペックな上位モデルが発売され、MacBook/MacBook Proに至ってはすでにあのキーボードが3世代目となりま…

【リリース】車関連に特化したニュースアプリ:dotCars のAndroid版をリリースしました

先日iOS版をリリースしたところですが続いてAndroid版もリリースしました。 crossbridge-lab.hatenablog.com ダウンロードはこちらから play.google.com 一応技術ブログなのでちょこっと技術的?なことを。 iOS/Androidの両OSで出してるけど1ソースなの? ノ…

【リリース】車関連に特化したニュースアプリ:dotCars をリリースしました

少し前に、車関連のニュースを見るためのアプリdotCarsをAppStoreにリリースしてました。 世の中にニュースアプリはたくさんありますがクルマ好きによるクルマ好きのためのニュースアプリを、ということで作りました。 なので主に自分のためです() とりあえ…

【リリース】 つい消し専用アプリ:ついイレのiOS版をリリースしました

つい消し専用アプリ:ついイレのiOS版をリリースしました。 ついイレ / ツイ消し専用アプリCrossBridge仕事効率化無料 どんなアプリなのか? つい消しするだけのTwitterクライアントです。それだけです。呟くこともリストを見ることもできません。 黒歴史を…

【リリース】ポモドーロ・テクニックのためiPhone/iPadアプリ「TaskTimer」をリリースしました

リリース情報 ポモドーロ・テクニックのためiPhone/iPadアプリ「TaskTImer」をリリースしました。 ストアにはいくつかポモドーロ・テクニックのためのアプリがあるのですが気にいるようなシンプルなのがなかったため自分で作りました。 TaskTimer / 作業効率…

【Swift3】アプリのBundleIDを取得する

メモ Bundleクラスから取得することができる let bundleId = Bundle.main.bundleIdentifier Follow @cross_bridge !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.…

【Swift3】 Firebaseの設定ファイルをdebugビルドとreleaseビルドで切り替える

はじめに Firebaseを使うには設定ファイル(plist)をプロジェクトに追加する必要があります。 debug環境もrelease環境も同じ設定ファイルを使う場合は特に問題がないのですが、debugビルドのみbundleIDを変えている場合にはFirebaseのコンソールで2つのアプ…

AppleWatchアプリを作るときにハマったBundleID周りの設定

はじめに AppleWatchアプリの話ではなくiOS側のアプリで、DebugビルドとReleaseビルドでBundleIDを分けることはよくあると思います。同じ端末にデバッグ用とリリース用(or ストアからダウンロードしたもの)の両方のアプリを入れたい場合ですね。 で、その…

watchOS3で追加されたAVFoundataionを使って音を鳴らす&喋らす

はじめに 今回の記事はiOS その3 Advent Calendar 2016の12/19分となります。 watchOS3でAVFoundataionフレームワークが追加されました。watchOS3ではSceneKit/SpriteKitも追加されており、(楽しいかどうかはおいておいて)AppleWatchで遊ぶゲームアプリが…

Apple Watch Nike+を買ってみた

どうせ無いだろうと思いつつ行ったAppleStoreで残念ながらApple Watch Nike+の在庫があったので購入してしまいました。 42mmのスペースグレイアルミニウムケースとブラック/クールグレーNikeスポーツバンドです。 開封 開けてみると・・・Designed for athle…

watchOSで動くFlappyBirdもどきを作ってみた

AppleWatchのOSがwatchOS3となりました。watchOS3からSpriteKitが使えるようになり、WKGestureRecognizerというUIGestureRecognizerのwatchOS(WatchKit)版が用意されてタップなどのジェスチャーを取得できることができるようになりました。 で、何かサンプル…

【Swift3】@IBDesignableと@IBInspectableを使って枠線あり角丸なUIButtonをStoryboardで設定する

はじめに 枠線を付けて角丸なボタンをアプリで使う場合にコード上から設定する方法と、@IBDesignableと@IBInspectableを使ってStoryboardから設定してリアルタイムに描画を確認する方法を解説します。 コードでUIButtonに枠線を付けて角丸にする まずはコー…

Cocoapodsで導入したライブラリのライセンス表記を行う

はじめに アプリに外部ライブラリを導入するにはCocoapodsやCarthageを使うかと思いますが、今回はCocoapodsで導入したライブラリのライセンスを設定アプリで表示する方法です。CocoapodsでインストールするとAcknowledgements.plistというファイルが作成さ…

AppleWatch対応のニュースアプリをいくつか使ってみた

先日、AppleWatch(Series1)を一週間ほど使って以下の記事を書きました。 crossbridge-lab.hatenablog.com 今回はニュースアプリをいくつか使ってみたので表にしてみます。 ※アプリの並びは50音順。アプリのアップデートで変わっている可能性があります。 ア…

AppleWatchを一週間使った感想

はじめに Apple Watch(ただしSeries2ではなくSeries1)を使い始めて一週間。感想を簡単に書いてみようと思います。 watchOS 3 2016年9月にAppleWatchに搭載されているwatchOSが3になりました。 アプリの起動速が旧OSに比べて7倍に グランスが廃止されてDock…

go get でリポジトリをダウンロードする際にSSHを利用する

Go言語で開発を行うときに外部ライブラリを導入するにはgo getコマンドを使うのが便利ですがデフォルトではhttps通信になっています。 これをsshに変更する場合には.gitconfigに下記を追記します。 [url "git@github.com:"] insteadOf = https://github.com/…

【Swift3】Swift3でプッシュ通知のデバイストークンを文字列にする

iOSのPUSH通知のDeviceTokenを文字列(NSString / String)に変換するには単純に以下のようにはいきませんでした。 var token: String = NSString(data:deviceToken, encoding:NSUTF8StringEncoding) なのでSwift2.3までは以下のように受け取ったDataのdescr…

Xcodeのビルドを並列にして高速化する

ビルド完了時にかかった時間を表示する ターミナルで以下のコマンドを実行する defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES ビルドを並列に実行する ターミナルで以下のコマンドを実行する。以下は同時実行数を4と指定している。 def…

Macbookのバッテリーを交換する

Mac

はじめに 先日Touch BarとTouch IDが搭載された新しいMacbook Proが発表されましたが、まだまだ現役のうちのMacbook Air。これからもがんばってもらいたいところですが数年使っているとバッテリーがヘタってくるものです。 バッテリーの情報を確認する シス…