Takahiro Octopress Blog

-1から始める情弱プログラミング

QuickでSwiftコードのUnitテストをしよう!

Quickフレームワークを使おう!

先日、XCTestによるiOSアプリのUnit TestとUI Testについて記事を書きました。
もちろんXCTestを使って、テストをすることに問題はありません。
ですが、XCTestは非常に独特な書式で、初めて使う人には取っ付きにくいかと思います。

そんな中、注目を集めているiOSアプリ用のテストフレームワークがQuickです。
GitHubに書かれている通り、RSpec / Specta / Ginkgoにインスパイアされて開発されているため、親しみやすい書式でテストコードを書くことができます。
(筆者もこれを機に親しもうと思います笑)

これまでiOSアプリのテストコードは独特で…と避けてきた方がいましたら、ぜひ Quick を導入してみて頂ければと思います。

東京Node学園付属小学校 1限目に参加してみた!

Node.jsを基礎から見直そう!

以前、業務でNode.js v0.6.12だったり、v0.10.24だったりを触ってきました。
しかし個々最近は、ネイティブアプリ開発にかかりっきりになっていたので、Node.jsから遠ざかってしまっていました。
そんなこともあり、「これじゃいかん!」ということで今回、 東京Node学園付属小学校 1限目 に参加してみることにしました。

通常のNode学園は行ったことがあったものの、非常にレベルが高いなと感じた経験があり、まずは思い出す足掛けということで…。

jazzyを使って、Swiftで書いたプロジェクトのリファレンスを自動生成しよう!

jazzyとは

さて、本日はjazzyについて書こうと思います。
jazzyはSwiftで書いたプロジェクトのリファレンスを自動で生成できるツールです。
最近、熱いMobile DatabaseであるRealmと同じチームが開発しているようです。
今のところ、他に良さそうなツールはないんじゃないでしょうか?

兎にも角にも、早速使ってみることにします。

SwiftでXCTestを使って単体テストとUIテストをしてみよう!

iOSアプリケーション開発でのテストとは

さて、本日はiOSアプリケーションを開発する際のテストについて書きたいと思います。
元々、Objective-Cでは下記のテスト用のライブラリが使われてきました。

しかし、これらはあくまでもObjective-C時代にApple公式のテストフレームワークが充実する以前から活躍していたものです。今後、Swiftが普及するにつれて、これらのテストフレームワークもSwiftに最適化したものになっていくかもしれません。
とは言え、AppleもいつまでもOSSのテストフレームワークがなければならない状況は避け、Xcode内で完結することを目指していくかもしれません。
後ほど詳しく説明しますが、Xcode7からUIテストが新たに追加されたのも、その流れだと思っています。

本日は特に XCTest に焦点をあてた、iOSにおけるテストについて見ていきたいと思います。

今一度確かめようiOSにおけるHTML5 APIでの位置情報の取得

はじめに

こちらはiOS Second Stage Advent Calendar 23日目の記事です。

筆者はこれまで2年と少し技術ブログを投稿してきましたが、Advent Calendarへの投稿はこれが初めてとなります。
どうぞよろしくお願いします。

今回お話させて頂く内容はiOSアプリでの位置情報の取得に関することです。
ほとんどの開発者の方はCoreLocation.frameworkを用いて位置情報の取得をされると思いますが、HTML5のGeolocation APIを使っても位置情報の取得をすることができます。
とは言え、なぜわざわざiOSのパートで HTML5 による位置情報取得の話をするかと言うと1つ理由があるんです。
その理由を紹介しつつ、現代のiOSによるHTML5のGeolocation APIでの位置情報取得について話したいと思います。

超簡単Windows AzureでのWebサイト構築

Windows AzureでWebサイトを構築しよう

さて、本日はWinsows Azureを使って簡単にWebサイトを構築したいと思います。
筆者は数年ぶりにWindows Azureを触ったため、UI・UXが結構変わっているなという印象を受けました。

Webアプリケーションを開発するとき、ページビューのみであれば、ローカル環境で十分でしょう。
しかし、位置情報やBeaconなどのIoT関連のアプリケーションを開発する場合、ローカル環境のWebページを閲覧できないこともあるでしょう。
そんなときはどうしてもサーバが欲しくなりますね。
筆者はWindows Azureをオススメしたいと思います。(AWSは使ったことないけど…)

なぜか全然表示できないiOS9でのWebView(凡ミス)

超絶凡ミスによる小1時間苦しんだiOS9でのWebView表示

今日は、久々に苦しんだ凡ミスについてメモを残しておきます。
iOS9でハイブリットアプリを開発しようとしてハマりました。

なぜかきちんと書いているつもりが、どうしてもWebViewが表示されない…なんてことありませんか?
答えはiOS9だからこそハマった凡ミスでした。

メモ程度に書いておきます。

Atomエディタを使ってReact.jsを試してみた

Atomエディタとは

筆者はこれまでWeb系のファイルは全てvimで書いてきました。
このまま、vimを使い続けても良いのですが、最近やっと一般的に認知され始めた Atom を使ってみようかなと思いつきで始めてみます笑
(Atomが招待制だった頃に少々触ってはいたのですが、改めて触ってみると、便利ですね…。)

因みにAtomとはGitHub製のオープンソースエディタです。
2015年6月にバージョン1.0が公開され、本記事の執筆時点でバージョン1.2.4が最新版となっています。
基本的な使いやすいと思った機能を下記にあげておきます。

  • HTML, CSS, JavaScriptにおける予測変換機能
  • HTML, CSS, JavaScriptにおける対応する括弧の表示
  • HTML, CSS, JavaScriptにおける属性の色彩表示

本日はAtomエディタを使って、基本的なReact.jsの使い方を勉強したいと思います。

iOSで検知可能なiBeaconの数について(別UUIDの場合)

iOSで検知可能なCLBeaconRegionの数について

さて、今日は久しぶりにiBeaconについて書きます。
以前、複数のiBeaconを検知しよう!(別UUIDの場合)で別UUIDの複数のiBeaconを検知する方法について書きました。
今回は、その限界数について見ていきたいと思います。

位置情報とマッププログラミングガイドを読むと、地理的領域の観測は最大20個まで可能とされています。
しかし、iBeacon領域の観測について最大数が書かれていませんでした。
Googleで調べてもなかなか出てこなかったので、自分で調べることにしました。

Kotlinを使ってみよう!(1)

Kotlinを勉強しよう

さて、本日はKotlinを勉強してみたいと思います。
勉強の題材としては、Google Sign-In SDK for Androidを使ってみよう!で取り上げた Google Sign-In SDKによるOAuth2.0認証 にしたいと思います。
その中で筆者が抑えておくべきと思ったところを基礎からメモっていきます。

(KotlinをAndroid Studioに導入する方法は以前書いたAndroid StudioにKotlinを導入しよう!を参照ください。)

では、早速、見ていきましょう。