その後のその後

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

iOS

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…

iOSのCore Bluetooth / BLEの通信速度

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

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

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

【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に出すにあたって一番…

12月に書いた全40記事のまとめと2014年の抱負

今月はたくさんブログを書いたので、ジャンル別にまとめます(まだ12/24なので、もし年内に記事書いたら追記します)。 人気記事(20ブックマーク以上)に☆マークを、とくに人気でもないけど埋もれるには惜しい記事には★マークを付けました。 画像/動画/音…

iBeaconに関してAppleの公式ドキュメントに書かれていたこと

"Location and Maps Programming Guide" というCoreLocationとMapKitまわりのApple公式のプログラミングガイドがあり、そこにはiBeaconまわりの情報が詳細に載っているのですが、いつも更新が遅い(もしくは更新されない)印象がある日本語版にも早々にこの…

openFrameworksのofxOscアドオンでiOS/Macアプリ間連携を行うメモ

openFrameworks で OSC (Open Sound Control) を使うためのアドオン、ofxOsc を使用してアプリ間連携を行う方法のメモ。 送信側の実装 ホストアドレスとポートの定義 ローカルにあるアプリ同士連携させる場合はlocalhostでOK。 #define HOST "localhost" #de…

『上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編』書評

加藤さんをはじめとする豪華執筆陣による名シリーズの最新刊です。 上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編posted with amazlet at 13.12.20加藤 寛人 西方 夏子 藤川 宏之 鈴木 晃 高丘 知央 インプレスジャパン 売り上げランキ…

iBeaconの実装に役立つ記事の逆引きリファレンス

iBeacon関連のAPIはそんなに多くなく複雑でもないので、実装の参考になる日本語記事はわりと出そろっている *1、という印象を個人的には持っています *2。 というわけで、 こういうことをやりたいときはここを見ろ! という逆引きリファレンス的な切り口で …

iOSの動画処理について学べる日本語書籍のまとめ

昨日『AV Foundationで120fpsスローモーション動画撮影を実装する』という記事を書いたのですが、動画まわりの処理もオーディオと同様、基本的なところから一歩踏み込もうとすると途端に難しく、web上の情報も少ないと感じました。 この辺りはこれから勉強し…

AV Foundationで120fpsスローモーション動画撮影を実装する

iPhone5sだけのスペシャルな機能として、秒間120コマでの高速撮影 があり、標準カメラアプリではこれを利用した スローモーション動画撮影機能 が可能となっています。 これに類する機能をAVFoundationで実装できないかやってみたところ、うまくいったので、…

openFrameworksを使わずにアドオンだけ使えないか検討してみる

PerfumeのモーションキャプチャデータをiOSアプリで動かす 際に使用したアドオン『ofxBvh』のソースを見てみると、 他のアドオンやライブラリにも依存してなくて、ソースも500行程度 と、意外とシンプルで、しかもあまりoFの機能に深く依存してないように見…

PerfumeのモーションキャプチャデータをiOSアプリ内で動かしてみる

話題に遅れること1年半、例のPerfumeのモーションキャプチャデータを動かすことをやってみようと思います。 といっても、データと一緒に oF のサンプルアプリが既に公開されてるようなので、それを試しつつ、iOSで動くように改修しつつ、 どんな実装になって…

BLEデバイスと技適 〜EstimoteのBeaconsを使うと逮捕されるのか〜

という発表を、本日クックパッドさんのTips共有会 "potatotips" *1 の第2回でしてきました。 BluetoothLEデバイスと技適 〜EstimoteのBeaconsを使うと逮捕されるのか〜 Tipsというか、 個人輸入したBLE対応デバイスの技適の取り扱いに関して、識者の方々に相…

達人出版会で買えるiOSアプリ開発関連の電子書籍一覧

達人出版会から出ているiOS関連書籍では、『iOS5プログラミングブック』と、『エキスパートObjective-Cプログラミング』を購入済み(どちらも超良書なので紙で持っててさらに電子版も購入)なのですが、改めてサイトを見てみるとかなりの数が出ています。達…

【iOS7】AsyncImageView が arm64 でクラッシュする件

AsyncImageView を arm64 で動かすと EXC_BAD_ACCESS でクラッシュする件の対処法です。 結論から言うと、objc_msgSend をキャストするよう修正すればOKです。 たとえばこれを、 objc_msgSend(connection.target, connection.success, image, connection.URL…