その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

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

【iBeacon】Estimote iOS SDKがついに温度センサと加速度センサをサポート

iOS7リリース当初は「iBeacon といえば Estimote」ぐらいの存在感を発揮していたものの、 技適とってなくて日本国内で使えない 高い SDKのソースが隠蔽されている SDKはそもそも Core Location のラッパーぐらいの機能しかなくて使う理由がない 加速度センサ…

iBeacon+実店舗の初仕事がリリースされました(&独立のご報告)

人に会う度に「あれ、なんで日本にいるの?」「いつアメリカに戻るの?」とよく聞かれるのでまずご報告ですが、現在はフリーランスの iOS エンジニアとして日本国内で活動しております。 シリコンバレーから戻ってきたきっかけは、こちら や こちら の記事に…

複数のWiFi設定を保持しIRKitにセットできるユーティリティアプリをつくりました

IRKit は基本的に家に据え置きで使うことが想定されたプロダクト設計になってますが、自分の場合はいろいろと仕事で使う場面が多く、家とコワーキングスペース、その他別の作業場所など、使う場所がコロコロ変わります。 で、IRKitは軽くて小さいのでデバイ…

UISegmentedControlで複数セグメントを選択する

UISegmentedControl は複数のセグメントの中からどれか1つを選ぶための UI なので、セグメントごとにOn/Offをトグルさせる、といった使い方はできないわけですが、見た目的にそういう挙動を期待したくなることがあります。 たとえば、TableViewやCollectionV…

IB上でカスタムフォントを選択してプレビューできるXcodeプラグイン『MoarFonts』

iOSでカスタムフォントを使う場合、いままで(自分の場合)は UILabelやUIButtonのサブクラスを作成(内部でfontプロパティをカスタムフォントで差し替える) IB 上で UILabel オブジェクトを置いて、"Custom Class" に 1 で作成したクラスを指定 IB 上でフ…

Objective-Cのクラスの依存関係を「D3.js」でビジュアライズするライブラリ

Objc-dependency-visualizerというOSSツールを使うと、アプリ内で使用している Objective-C クラスの依存関係をビジュアライズしてくれます。 試しに "iOS7 Sampler" でやってみると、こんな感じのを生成してくれました。 実行するのはrubyスクリプトで、依…

【MFi取得済】kontakt.io のビーコンモジュールについての調査

ちょっと所用で、 kontakt.io について急造で調べてみました。調べた、といってもデバイスが手元にないので、主に公式サイトから。 kontakt.io の特長 kontakt.io ってもともとあんまり情報がなくて、 http://amyu.hatenadiary.com/entry/2014/01/25/173245 …

iBeacon関連の最近のニュースとか技術情報とか

最近 iBeacon まわりの情報をあまり追えてなかったので、ざざっとニュースとか技術情報に目を通してみました。 ニュース、導入事例など 「iBeacon」に対応したスタンプラリー『Sitekicker+ for スタンプラリー』を発売 | ニュース | DNP 大日本印刷 大日本印…

第3回 #potatotips で勉強になったことのまとめ

だいぶ乗り遅れましたが、『第3回 potatotips』の資料を一通り拝見しました。 第3回はヤフー開催! #potatotips で発表されたiOSのtipsまとめ - Think Big Act Local どのTipsも勉強になったのですが、とくにメモっておきたいと思ったことをメモっておきま…

Kyle McDonaldの「光の演習」ワークショップ@SUPER FLYING TOKYOに参加してきました

本日開催された「SUPER FLYING TOKYO」というイベント内のワークショップに参加してきました。 ワークショップの概要 このワークショップではカイル・マクドナルドの作品「Light Leaks」に関するエクササイズを行います。はじめにいくつかの理論的な導入を行…

Estimote Beacon をリバースエンジニアリング

Estimote のビーコン、「2014年初頭にはSDKから加速度センサや温度センサの情報にもアクセスできるようになる」って言ってた *1 のでずっと楽しみにしてるのですが、まだその気配がありません。 で、最近 Core Bluetooth のプロファイルまわりをいろいろ調べ…

Core Bluetooth / BLEで音声データをやりとりする

以前書いた2つの記事でわかったことは、BLEは少量データ/低頻度での用途に特化することで省電力を実現した規格なので、音声データをやり取りするような用途にはそもそも向かない、ということでした。 http://d.hatena.ne.jp/shu223/20140109/1389216052 ht…

Bluetooth Low Energy (BLE) のサービス/キャラクタリスティックの構成例一覧

既存の GATT ベースプロファイルとは違う用途でBLE通信を行いたい、つまり自分で GATT ベースの独自プロファイルを定義したい場合に、どんな感じでサービス(Service / CBService)とキャラクタリスティック(Characteristic / CBCharacteristic)を構成した…

Bluetooth 4.0 および Bluetooth Low Energy (BLE) に関する技術情報のまとめ

Bluetooth 4.0 や BLE に関して、「あれどこに書いてあったっけ」とならないように自分的お役立ち情報をここにまとめておきます。 (2014.12.22追記)引用元記事では記述や数値が修正されている部分があります。正確な情報は元記事やBluetooth SIGのドキュメ…

konashiをSDKなしで使う

konashiは親切にもドキュメントでサービス(Service)やキャラクタリスティック(Characteristic)の仕様を公開してくれているので、 konashi - Documents オフィシャルに提供されている iOS SDK を使わなくても、Core Bluetoothから直接接続・通信すること…

OpenEars 1.6で音声認識を行う

フリーのiOS向け音声認識/音声合成ライブラリ『OpenEars』について半年ほど前に記事を書いたのですが、 http://d.hatena.ne.jp/shu223/20130810/1376105883 このときのバージョンは1.3.6でしたが、2014年1月現在の最新バージョンは1.64となっています。 で…

【iOS7】MFMessageComposeViewController の宛先フィールドが真っ黒になる件の対処法

iOS7で、MFMessageComposeViewController を表示すると、次のように宛先(Recipients)フィールドが真っ黒になって表示される件の対処法のメモ。 これ、UINavigationController 管理下にある UIViewController から MFMessage〜 を presentViewController:an…

Twitter APIでコードいじってないのに403エラーが出るようになった件

SLRequest 使って直接 Twitter API をたたいてる機能が、コードいじってないのにエラーになるようになったので、調べてみると、NSJSONSerialization でエラーが出ていました。 Twitter API からのレスポンスに何か変更あったのかな、と typedef void(^SLRequ…

iOSアプリ申請時に『The network connection was lost』エラーが出る場合の対処法

ずばり、 Xcodeを再起動する これでいけました。 ググって出てきた情報の中には「Apple社のサーバーの問題だからしばらく待ちましょう」みたいに書いてある記事もあったのですが、一晩待っても改善しなかったし、Twitter検索してみても同時間に同じように困…

家電を自由に操作するiOSアプリがつくれる『IRKit』

カヤック時代の恩師 maaash 氏 *1 が、IRKitという新デバイスを個人で開発(!)して、本日よりAmazonで販売を開始しました。 IRKitposted with amazlet at 14.01.14maaash.jp Amazon.co.jpで詳細を見る このIRKitをつかうと、家電を操作するiOSアプリを好き…

クラウドワークスでiOSアプリのアイコンデザインを募集してみたらすごく楽しかった件

先日、クラウドワークスで「iOS7 Sampler」ののアイコンデザインを募集してみました。 http://d.hatena.ne.jp/shu223/20140105/1388903917 コンペ形式で、報酬金額は5,000円。プロのお力を借りるには恐縮な金額なので、1件くるか、来ないか・・・ヒットはし…

【iOS7】プッシュ通知のバックグラウンド処理でハマったメモ

やりたかったこと: プッシュ通知を受け取ったときにアプリを起動することなく(バックグラウンドで)APIを呼ぶ これはおそらく「サイレントプッシュ通知(Silent Remote Notification)からの Background Fetch」の最も一般的な実装事例だと思うのですが、…

Parse SDK使用時にFacebook iOS SDKの利用を強要される件

Parse.frameworkの最新版(1.2.18)をとあるXcodeプロジェクトに追加し、公式ページにあるガイドに沿って依存フレームワークを追加してヘッダインポートしてビルドしてみると、 Undefined symbols for architecture armv7: "_FBTokenInformationTokenKey", r…

カヤック「1社だけの合同説明会」に退職者として登壇してきました

「1社だけの合同説明会」というカヤックの新卒採用イベント *1 に退職者として登壇してきました。 序盤だけ使ってたスライド。 ブース形式のイベントで、僕は「退職者ブース」担当でした。 事前の発表内容の指定も精査も一切なかったのですが、上のスライド…

iOSのCore Bluetooth / BLEの通信速度

Bluetooth Low Energy(Bluetooth4.0, 以下BLE)の通信速度について調査、実測してみたメモ。 (2015.3追記)この記事は古く、書いた当時はBLEについての知識も乏しかったので内容には多分に誤りが混じっている可能性があります。 調査 まず "BLE 通信速度" …

Bluetooth のプロファイルについて調べたことのまとめ

Bluetoothのプロファイルって何?というところから、iOSのCore Bluetoothで対応しているプロファイルについてのアレコレまで、ググって調べたことのまとめ。 注意:この記事は全くの無知な状態から調べながら書いたので、(とくに序盤に)多分に誤解・語弊の…

シェルスクリプトでmp4からアニメーションgifを生成する

mp4からアニメーションgifを生成したい、というケースが最近ちょくちょくありまして。 たとえば「GitHub の README に動く様子を載せたい」場合、YouTubeやVimeoの埋め込みタグをREADME.mdに載せてもプレイヤーを表示してくれないので、アニメーションgifを…

【iOS7】MapKitで移動手段(徒歩 or 車)を指定して経路探索する

iOS7から使えるようになった MKDirections, MKDirectionsResponse, MKPolylineRenderer 等を用いて経路探索と地図上への描画を行う方法は、iOS7 Samplerに入っているサンプルのとおりなのでここでは割愛しますが、 http://d.hatena.ne.jp/shu223/20130924/13…

2014年の目標

昨年は海外で働くという自分にも他人にもわかりやすい目標がありましたが、今年はややぼんやりしています。断片的にはいろいろあるけど、「海外で働く!」みたいに明快で大きいものがない。 なのでこの記事を書いてみようとしつつまとまりそうにないからやめ…

クラウドワークスでiOS7 Samplerのアイコンデザインを募集してみました

iOS7の新機能のサンプルコードを集めたアプリ『iOS7 Sampler』を、アプリ制作に関わるディレクターやデザイナーもすぐに試せるよう、AppStoreでも配布したいと思いつつ早数ヶ月。 すでにアプリの体裁を成して動作しているものをAppStoreに出すにあたって一番…