はじめに iOSアプリの開発時に使用しているツールやWebサービスを用途別にまとめてみました。 目次 WebAPIの動作を確認したい JSONのフォーマットを検証したい とりあえず、アプリにダミー画像をいれたい それっぽい写真やアイコン素材を入れたい RGB値から16進数のカラーコードからへ変換したい iOS 7以降のシンプルなデザインに合いそうなカラーコードを取得したい 特定の住所の緯度経度を取得したい iOSプロジェクト向けの.gitignoreファイルを入手したい WebAPIの動作を確認したい DHC - REST/HTTP API Client APIにリクエストを投げて結果を確認することができるChrome拡張です。開発中のAPIの動作検証に使用することができます。リクエストヘッダやボディなどの設定を保存することができるので開発中の確認に便利です。 その他のツール Postma
Feb 17, 2015 昨年末にはてなの@cockscombさんと@yashiganiさんがつくっていたSwiftでenumとジェネリクスを活用したかっこいいAPIクライアントを書くが 面白かったので、これを参考にしつつSwiftらしい堅牢で使いやすいAPIクライアントを考えてみました。 目標としたのは以下の3つの条件を満たすことです。 レスポンスはモデルオブジェクトとして受け取る (便利) 個々のリクエスト/レスポンスの定義は1箇所で済ます (変更しやすくしたい) リクエストオブジェクトはAPIクライアントから分離させたい 例にはGitHub System Status APIを使用しています。 サンプルコードはGitHubに上がっています。 APIクライアントのインターフェース APIの呼び出し用に用意されたメソッドはcallのみで、callに渡すリクエストによってレスポンスの型が変
iQONのiOSアプリはまだ全てObjective-Cで記述されています。 Swiftへの移行については「たいしてパフォーマンスが上がるわけでもないし…」と思って渋っていました。 そんな中、オフィスの移転をきっかけに来客の受付システムをiPadアプリで作ることになりました。 スクラッチでアプリを作るのならSwiftで、ということでSwiftで作りました。 今回は、受付システムの社員...iQONのiOSアプリはまだ全てObjective-Cで記述されています。 Swiftへの移行については「たいしてパフォーマンスが上がるわけでもないし…」と思って渋っていました。 そんな中、オフィスの移転をきっかけに来客の受付システムをiPadアプリで作ることになりました。 スクラッチでアプリを作るのならSwiftで、ということでSwiftで作りました。 今回は、受付システムの社員を呼び出すデータ通
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? by @mixiappwchr アプリ向けのAPIの開発時に気をつけてもらえるとうれしい&メンテナンスや実装コストが下がる点をつらつら書きます。 データ構造について データを返すとき、一定のルールを守って返す。例えば当然ですが同じデータ構造はもちろん、似たような構造もルールを作ってproperty名などそろえておく。relationやlistで返すときもどのデータ構造なのかがpropertyで明確にわかるようなっているようにする listを返す場合の形式やpagingが必要な場合の形式はそろえる。配列のデータがない場合も考慮しておく。例
この記事ははてなエンジニアアドベントカレンダー2014の16日目です。昨日はid:nobuokaによる「【Retrofit を読む】 利用者が定義したインターフェイスに実装を提供する Java ライブラリの作り方 【リフクレション】」でした。 こんにちは。はてなアプリケーションエンジニアのid:cockscombです。 Webと連携するスマートフォンアプリを開発するとき、Web APIを抽象化したAPIクライアントを作ることがよくあります。これはWeb APIのエンドポイントとメソッドを紐付け、パラメータに名前をつけて、返ってくるJSONのレスポンスを何らかのクラスに当てはめ型付けする、といったようなものになります。 Swiftのモダンな言語機能を利用して、このAPIクライアントを書きましたので、以下に詳解します。例としてGitHubのStatus APIを取り上げています。 またネットワ
この記事は CyberAgent エンジニア Advent Calendar 2014 9日目の投稿です。 昨日は@stormcat24 さんの開発効率化への道は一日にしてならず - tehepero note(・ω<) でした。 自分は4ヶ月ほど前にサーバサイドJavaからiOSに転向し、弊社の中で最も息の長い(?)iOSアプリの開発チームにジョインしました。利用者数も多く事業インパクトの大きいアプリですが、ちょっと前からSwift移行を着々と進めています。 Swiftが登場して6ヶ月、ネット上に良い情報が沢山転がっていて目新しい事は書けないんですが、ここでは既存のコードベースをリプレースしながら感じたSwiftの良い所でもまとめてみようと思います。 実際に現場で活きている機能 まだ書きはじめて1ヶ月ほどなので、膨大なSwiftの新機能のうち一部しか触れてはいないですが、はやくもコード
「そんなん簡単やろ」と思いますよね。 たとえば、「UITextField 文字数制限」でググれば山のようにブログ記事やらコードが出てくるし、Stack Overflow に載ってるコードのコピペ一発で解決しそうに思えませんか? 実は文字数制限をつけたテキストフィールドはそんなに簡単な話ではないのです。 shouldChangeCharactersInRange:replacementString: は使えない子 今回はこれに尽きます。 UITextField や UITextView のデリゲートで呼ばれる textField:shouldChangeCharactersInRange:replacementString: やtextView:shouldChangeCharactersInRange:replacementString: は使ってはいけません。 より正確に言うと、使うとき
iOS/Androidアプリを作る際に理解しておいて欲しい「Model」という役割について説明します。わりと意識していないケースがあるので、チェックしてみてください。Read less
WWDCで発表されたiOS 8のポイントは、HealthKitとかHomeKit、UIの微修正…だけではありません。iOS 8のどこがもっと強力になっていくのか、こちらですべてまとめていきます。 HealthKit アップルはHealthkitという新APIを作りました。デベロッパーはこのAPIを通じて、ユーザーの健康データのデータベースにアプリを接続させることができます。 それはApp Storeで買えるアプリだけでなく、医師が使うような特殊なアプリでも同じことです。なのでたとえば病院で血圧とか血糖値の検査を受けると、iPhoneで結果データの通知を受け取れます。このデータはプライヴェートで保存でき、さらに他の医師と共有することもできます。 HomeKit スマートホームを実現するためのAPI、HomeKitも発表されました。これによって、iOSから家のスマート家電とか設備をコントロール
みなさん RubyMotion 書いてますか! 僕は上々です! 最近は割とまっとうに活動しているのでドラゴンクエスト10バージョン1.3 の新職業は全然レベルが上がりません。バトルマスターはまだレベル 53 です。仕事とゲームの両立って難しいですね、参っちゃいますね。 それはそうと、RubyMotion は Xcode を使わなくても iOS 開発ができるというのが非常に嬉しいところなのですが、Emacs であの長ったらしい Cocoa API の補完をどうするかというのは積年の悩みでした。いちおう gtags を使って補完するみたいなバッドノウハウがあったりしますが、うまく動かなかったりで結局ちゃんと補完できてる人は周りにはいなかった。挙げ句には RubyMotion の補完それだけのために Sublime Text 2 に浮気する連中まで出る始末。 Emacs 界の終わりや!「誰か!救
HBFav を 2.6 にバージョンアップしました。新機能としてタイムラインの自動更新機能を追加しました。 これまではタイムラインなどで新着記事を取得する場合、都度、手動で Pull to Refresh (引っ張って更新) を行う必要がありましたが、新しいバージョン 2.6 からはその必要がなくなります。ただし新ユーザーページ設定がオンの場合にのみ限り、本機能が有効になります。 我ながら、本機能でずいぶんと使い勝手が良くなったなあと思いました。特にプッシュ通知と併用すると、プッシュで配信されたエントリが HBFav を開いたときにはもう反映されるようになり、もはやネットワークの通信待ちすら発生しません。これは想像以上に快適で、あるエントリを読んでる間に配信されてきたブックマークもすぐにチェックできるので中毒性が増・・・ じゃなかった、とても便利です。 なお、プッシュが有効じゃなくても更新
「やったーDiablo3のiPhoneアプリできたよー(^o^)ノ」 この週末知人とハッカソンに行ってきました。何を作ろうかなと思っていところ、そういえば先日 Blizzard が Diablo3 の Web API をリリースしていたのを思い出しまして、RubyMotion で Diablo3 の API を叩くライブラリ(の基本的な部分)を作りました。 https://github.com/naoya/Motion-Diablo3 Diablo 3 の Web API http://blizzard.github.com/d3-api-docs/ Web API は素直な JSON over HTTP で Restful なそれになっていて、この辺やっぱり Blizzard はセンスが良いなと感じました。 API で取得できるのは今のところ、Battle.net に保存されたアカウント
現在はてなでは、はてなブックマークの機能をサードパーティのiOSアプリケーションに組み込むためのSDKを開発しています。このSDKを正式リリース前にお試し頂くシード開発者を募集します。 はてなブックマークiOS SDKについて はてなブックマークiOS SDKを組み込むことにより、サードパーティのiOSアプリケーションで以下の機能を利用できるようになります。 ブックマークの追加・編集・削除 タグを含むコメントの入力を支援する専用キーボードのUI Twitter、Facebook、Evernote、mixi といったウェブサービスへの同時投稿機能 コメントの閲覧 はてなOAuthによるログイン 組み込んだ際のイメージは以下の様になります。 ブックマーク追加・編集・削除 コメントの閲覧 共有メニューの一部として組み込むことができます RSSリーダー、ニュースリーダー、ブラウザ、Twitterク
昨年末あたりからモバイルアプリ(iPhone, Android)の開発をやっていて、新しい言語とかSDKを一気にいろいろと覚えた。Web開発ばかりやっていてスマホアプリは未体験だったので、今日はスマホアプリ開発について雑感をいろいろ書く。 Titanium Mobile 独自のSDK + JavaScriptでiOSアプリとAndroidアプリを作れるフレームワーク。やめといたほうがいいと思う。UI自体はDOMっぽい独自の物で作る+alert("hi")でアラートが出るなど、開発初期段階では高速につくれる。 しかし、問題点も多い。Titanium Mobileはプロトタイピング以外には向いてないというのが自分の感想。とっつきやすいのはいいが、ネイティブのSDKを覚える価値のほうが高く、しかも独自のSDKの学習コストも馬鹿にならない。 JavaScript自体の問題 規模が大きくなってくると
以前、HTML5でカメラやGPSなどスマートフォンならではの機能がどこまで使えるのか調べました。 最近、iPhone5を買ったので今度はiOS6のSafariでサポートされたHTML5の機能を試して見ようと思います。 試したのは以下の5つです。iPhoneで確認できるようにサンプルを作ったので試してみて下さい。 ファイルアクセス(File API)とカメラ(HTML Media Capture) 音声処理・合成(Web Audio API) アニメーション(Animation Timing API) CSS Filter Effects Remote Debugger ■ファイルアクセス(File API)とカメラ(HTML Media Capture) ファイルアクセスとカメラ連携のサンプルです。iOS6ではFile APIの書き方でカメラも使えました。 [ファイルを選択]ボタンを押すと
マピオンの地図とiOS6の地図を比べてみました [地図]2012年9月21日 いつもマピオン(Mapion)をご利用いただき、ありがとうございます。 iPhone 5の発表以来、大変話題となっているiOS 6のマップアプリ。 特に今回の地図変更は、iOS標準アプリとしてのマップはもちろん、デベロッパー向けMapKitの地図にも影響があるということで、急遽マピオンでもiOSで利用できる地図APIをほとんどMapKitと仕様を合わせて開発し公開しておりますので、ご紹介いたします! 開発者向けのMapKit→Mapion Maps API for iOS 一般利用者向けのアプリ→地図マピオン 機能面での差別化要素はあまりないので、主に地図の品質についてアピールさせてください! マピオンの地図のウリは、1に視認性、2に正確性でございます。 1.必要な情報がわかりやすく目に入るようにデザインさ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く