その後のその後

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

Objective-C

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

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

『上を目指すプログラマーのための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で動くように改修しつつ、 どんな実装になって…

シリアル通信クラス ofSerial のソースをのぞいてみる

なにやらハード/デバイスの世界では、外部連携するのにシリアル通信を用いることが多いようです。たとえば、Arduino がそうだし、ロボットアームとかもシリアル通信で動きのデータをリアルタイムにやり取りするものもあるらしいです。 シリアル通信が「シリ…

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…

バイナリに arm64 アーキテクチャが含まれているかを確認する

xcrun コマンドを使用します。 $ xcrun lipo -info <path_for_binary> たとえば AppSocially SDK について調べてみると、 $ xcrun lipo -info AppSocially.framework/Versions/A/AppSocially 下記のように、出力されました。 Architectures in the fat file: AppSocially are:</path_for_binary>…

『iOSアプリと連携させて使えるデバイスたち』という連載を始めました

今日から、gihyo.jpで新しい連載が始まりました。 『iOSアプリと連携させて使えるデバイスたち』 というタイトルで、 iOSアプリと連携させるためのSDKや、Web APIが用意されているデバイスを紹介していこうと思っています。 iPhoneやiPadは,あたりまえです…

SLComposeViewController が iOS 7 で表示を勝手にキャンセルする問題の対処法

iOS7 で SLComposeViewController を表示しようとすると、すぐに completionHandler が実行されてしまい、表示できない、という問題の対処法です。 ググっても同じ問題で困っている人が見当たらなかったので、すごくニッチな話かもしれません。。 *1 状況 SL…

iOS 7 で使えるフォント名一覧

『iOS 7 の隠しフォント, ヒラギノ角ゴ W1/W2 を CSS で指定する』という記事を読んで、「あれ、これってPrivate APIにあたるんじゃない?」と思いフォント名一覧を出力してみたので、そのついでにその一覧をここに掲載しておきます。 (追記2013/10/17その…

AppSocially SDK が CocoaPods に対応しました

先日紹介した AppSocially SDK を、CocoaPods から導入できるようにしました。これにより、 スクリプトを1行書いて、コマンドを1つ実行するだけ で AppSocially SDK を使えるようになりました。 Podfile に pod 'AppSociallySDK' と書き足して、あとはターミ…

TwilioのサーバーサイドをParseで実装する

『Twilio クライアント for iOS クイックスタート チュートリアル』を見ると、サーバーサイドを PHP で書いてあるのですが、レンタルサーバーも借りてないし、ちょっと試したいだけなので Parse でできないかな、とやり方をいろいろ模索してみました。 関連…

Parseにサーバーサイドのコードを書いてiOSアプリから呼ぶ

Parse はデータ置いてアクセスしたりプッシュ通知とばすだけじゃなくて、Cloud Code という機能でサーバーサイドのスクリプトも書けるということで、試してみました。 以下、ローカルで生成した JavaScript のコードをデプロイし、iOSアプリから呼んでみる …

iOS 7 の新機能のサンプルコード集『iOS7 Sampler』を公開しました。

iOS7にどんな新機能があるのかも把握しきれないままベータ期間が終わってしまい、せっかくのメジャーバージョンアップ祭に乗り遅れた感があったので、先週末に開催された『もくもく開発会@鎌倉 #2 by Qiita』にて、 iOS 7 で新たに加えられたAPI の使い方等…

Xcode の旧バージョンも Dev Center からダウンロードできるようです

昨日ついに Xcode5 が正式リリースされましたが、現行バージョンだけでなく、Xcode4.x、Xcode3.x や Xcode2.x も引き続き Dev Center からダウンロードできるみたいです。 まあXcode 4.6.3はダウンロードできるので。 https://t.co/IEcIelmHrU— kishikawa ka…

アメリカの大規模ハッカソンに参加し、入賞しました

9/7-8の2日間、24時間にわたってサンフランシスコにて開催されたハッカソン『Disrupt SF Hackathon 2013』に参加し、なんと賞をいただいてしまいました。 Congrats to @shu223 winner of @Mashery #hackdisrupt prize for Company Scouter app. Awesome use …

Kloutスコアを取得するライブラリをつくりました

Klout はちゃんとオフィシャルに iOS SDK がリリースされているのですが、最終更新が1年前と古く、デモは正常に動作せず(APIKeyとAPISecretをセットしても認証が通らない)、APIはシンプルなのにソースはなんだか複雑。。 ということで『API クライアントを…

CrunchBase APIをiOSアプリで使用する手順のメモ、およびAPIクライアントつくりました

CrunchBaseというのは、米国のテック系企業の情報が詰まったデータベースみたいなものです。以下そのAPIを使う手順のメモ。 APIキー取得まで デベロッパーページのトップhttp://developer.crunchbase.com/ ここから登録(最初のアプリの登録もここで行う)ht…

API クライアントを AFNetworking を用いてつくる手順

「ちょっとこの Web API 使ってなんかつくってみるか」ということがたまにある(とくにハッカソンで)ので、手早くつくれるように僕なりの手順をまとめてみました。 「共通処理の実装」までは簡単な文字列の置換で済むので、 ファイルテンプレートにしておく…

iOSアプリに友達招待機能を追加できる『AppSocially SDK』の使い方

AppSocially iOS SDK を使うと、たった1行コードを追加するだけで、友達を招待する機能をアプリに追加することができます。無料で使えて、招待数による従量課金もありません。 招待の方法もいろいろあって、いまのところ Facebook のチャット Twitter の DM …

プレイ動画を録画&シェアできるゲームアプリ向けSDK『Kamcord』を少々さわってみたメモ

Kamcord は、ゲームの動画を撮ってシェアするための SDK(フレームワーク) です。 基本的な使い方 録画は startRecording / stopRecording メソッドを呼ぶだけ。 [Kamcord startRecording]; [Kamcord stopRecording]; で、showView メソッドを呼ぶと、 [Kam…

Web コンテンツ内にネイティブ iOS アプリを埋め込めるサービス『app.io』の使い方

app.io は、『ブラウザ内でネイティブ iOS アプリを動かせるようにする』サービスです。 イメージとしてはiOSシミュレータをそのままWebコンテンツに埋め込める と考えるとわかりやすいかもしれません。タップ等のインタラクションが効いて、もちろん通信も…

フリーの iOS 向け音声認識/音声合成ライブラリ『OpenEars』の使い方

OpenEars は Politepix 社より提供されているフリーの iOS 向け音声認識/音声合成(Text to Speech, TTS)ライブラリです。 OpenEars 話した言葉を認識したり、入力した文字列を読み上げたり(mac の say コマンドみたいなもの)することができます。 試し…

xcrunコマンドが参照するXcode pathの変更方法、あるいは "xcrun: Error: could not stat active Xcode path" エラーの対処方法

とある作業中(CocoaPods をインストールし直そうとしていた)に、下記のようなエラーメッセージが出ました。 xcrun: Error: could not stat active Xcode path '/Applications/Xcode5-DP3.app/Contents/Developer'. (No such file or directory) xcrun コマ…

Facebook の apprequests を Graph API から発行する際の制約

Facebook の apprequests とは、下記のようなダイアログから送信できる「アプリへの招待」です。 で、とある事情によりこれをダイアログを介さず下記APIから直接送りたかったのですが、 (apprequests) https://developers.facebook.com/docs/reference/api…