その後のその後

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

ライブラリ

Facebook Paper のアニメーションエンジン「pop」のソースコードを読んでみる

先日公開されたFacebookのpop、アニメーションライブラリですよとリリース前から言われてたものの、popについて語られるときは大抵「Paperアプリのテクノロジーをオープンソース化」という枕詞がつくので、Paper風UIコンポーネント(ジェスチャーでヌルヌル…

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

例のごとく、『第5回 #potatotips』『第6回 #potatotips』について @hirama2 さんの記事を読んでキャッチアップさせていただきました。 第5回 #potatotips で発表された12個のiOSのtipsをまとめる - Think Big Act Local 第6回はUIEvolution開催! #potatoti…

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

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

OpenEars 1.6で音声認識を行う

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

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

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

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 の使い方等…

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

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 …

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

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

【iOS7】フラットデザインUI実装に役立つライブラリのまとめ

iOS7で採用されたフラットデザインっぽいUIを、現行iOS(〜6.x)で実装する際に役立つOSSをまとめました。後半ではiOS7っぽく下のビューをブラーかけて半透過表示するライブラリや、パララックス表示するライブラリも紹介しています。 * English version of …

評判のいいiOSアプリ開発のTips ベスト20

『iOSアプリ開発に役立つTips』という Facebook ページをやっておりまして、そこで評判が良かった投稿(※)を 20 個ほど紹介します。 (※) Facebook ページの insights にある「クチコミ度」で判断しました アプリ実行中にコードを修正してそのまま実行中の…

UILabelでのテキスト表示をリッチにする

UILabelはiOSアプリ開発において使用頻度の高いUIコンポーネントですが、カユいところに手が届かなかったりします。例えばテキストの一部だけ強調表示したい、色を変えたい、フォントを変えたいといったHTMLのような使い方ができません。 iOS6以上であれば、…

Method Swizzling をうまく使っている実用例

Method Swizzlingは、既存のメソッドの実装を、自前の実装に差し替えるための手法です。 ・・・ということを知ってはいても、どういうときに使うと便利なのかイマイチわかってなかったので、Method Swizzlingをうまく使った実用例を2つほど探してきました。 …

たった1行でWebサービスと連携!UIActivity のまとめリポジトリをつくりました

UIActivityとは? 地味だからかあまり話題になってない気がするのですが、iOS 6 の便利な新機能の1つに UIActivity というのがあります。これは、 こんな感じでメールとか写真アプリとかFacebook/Twitterとかに写真やテキストを渡すためのUIです。(超ざっく…

DropBox 連携 UIActivity、"GSDropboxActivity" の使い方

DropBox用カスタムUIActivity、"GSDropboxActivity" の導入方法(のメモ)です。 GSDropboxActivity UIActivityとは何ぞや?という方はこちらの記事 からどうぞ。 準備 GSDropboxActivity フォルダをプロジェクトに追加 DropboxSDK.framework をプロジェクト…

英単語の単数形/複数形変換をメソッド1つで行えるようにする NSString のカテゴリ

iOS アプリを英語ローカライズする際,単数形/複数形の取り扱いはなかなかやっかいです。-s, -es の違いを始めとして,不可算名詞,person/peopleのようにイレギュラーなものもあります。 それら諸々のルールをプロパティリストファイルに記述し, - (NSStr…

インストールされているアプリの一覧をログ出力する "iOSInstalledApps"

以前、『デバイスにインストールされているアプリ一覧を取得する』という記事を書いたのですが、ここに書いた アプリのプロセス名一覧を持っておいて、そのプロセスが存在すればインストールされていると判断する アプリのカスタムURLスキーム一覧を持ってお…

シンプルで使いまわしやすいトゥイーンライブラリ "AHEasing"

以前 gihyo.jp に『様々なアニメーションを実現するiOSアプリ用トゥイーンライブラリ3種を比較!』という記事を書かせていただいたのですが、そこで紹介した3つよりも良さげなトゥイーンライブラリがあったので、紹介します。 warrenm / AHEasing まだデモ…

iOS 6 新機能のサンプルコード/ライブラリのまとめ33個

「英語のリファレンスだけじゃよくわからん、動くサンプルが欲しい!」という僕のために、NDA解禁されたてほやほやの iOS 6 関連のサンプルコード/オープンソースライブラリ等を集めてみました。 UICollectionView 1. iOS6-Playground iTunesから取得したム…

iAd + nend の切り替え表示ラッパークラスを公開しました

最近は個人で出す無料アプリはもっぱら メインは iAd iAdの広告在庫がないときに nend という iAd + nend の併用パターンが多くなりました。 で、iAd / nend の実装方法を調べたりとか、切り替え処理を実装したりとか面倒なので、1行で済むラッパークラスを…

Cocoa Controls の掲載審査に関する諸々

8/27に届いた Cocoa Controls のメルマガで気付いたのですが、"UIKitForGames" が Cocoa Controls に掲載されたようです。 http://www.cocoacontrols.com/platforms/ios/controls/uikitforgame で、今回やってみてわかったこと諸々を書いておきます。 ページ…

ゲームアプリ向け UI コンポーネントセット "UIKitForGame" を公開しました

最近はゲームアプリをつくることが多いのですが、その中で自分でもよく使う UIKit のカテゴリ/サブクラスの詰め合わせを Github にアップしました。 https://github.com/shu223/UIKitForGame 以下に概要と使い方を紹介させていただきます。 DamageValueLabe…

Cocoa Controls で見つけたティッカー4種を比較してみました

ティッカーというのは、(本当の定義はわかりませんが)文字が流れるアレです。 文字を横方向に流すアニメーションをするだけのことですが、たとえばパズドラのティッカーを見てると、表示開始時は右から一気に左端まで移動させ、そのあとゆっくり左方向に流…

In-App Purchase の脆弱性への対応方法

巷を騒がせている In-App Purchase の脆弱性問題ですが、iOS Developer Library に対策方法についての記事が掲載されていました。 「自分とこのサーバーから App Store サーバーにレシート送ってチェックしているタイプのアプリはいいけど、そうじゃない場合…