タグ

ブックマーク / blog.ishkawa.org (6)

  • Swiftのmanual mocking

    Mar 20, 2015 Objective-Cではテストケース毎にオブジェクトの一部だけ挙動を変えたい場合に、OCMockなどのライブラリを使うのが普通でした。 それらのライブラリはNSInvocationやMethod Swizzlingなどを使ったいわゆる魔術的なコードで実現されていることが多く、 “テストコードを書いているのによくわからんコードが動いてる!”ってなってモヤモヤしたりします。 一方、Swiftではmanual mockingという手法が取られたりするみたいです。 例えば、 class Object { var foo: String { return "foo" } var bar: String { return "bar" } } class ObjectTests: XCTestCase { func testFoo() { class ObjectMock:

    Swiftのmanual mocking
  • #potatotips でAPIKitを紹介してきた

    Mar 13, 2015 資料 内容 Appleが出しているThe Swift Programming Languageに”Swift is a type safe language.”書かれているように、 SwiftSwiftらしく書くには型を意識したコードを書くのが良いと思っています。 型を意識する前は以下のようなAPIクライアントを使ってきたのですが、 let parameters = [ "q": "APIKit", "sort": "stars", "order": "asc", ] GitHub.call(.GET, "/search/repositories", parameters) { JSON, error in if error != nil { println("error: \(error!.localizedDescription)”) } else { se

    #potatotips でAPIKitを紹介してきた
  • Swiftで書いたコマンドラインツールをHomebrewでインストールできるようにする

    Feb 18, 2015 toolという名前のコマンドラインツールをつくるとします。 Makefile ビルドターゲットのINSTALL_PATHは/usr/local/binとします。 DSTROOT=/tmp/tool.dst prefix_install: xcodebuild install -scheme tool DSTROOT=$(DSTROOT) mkdir -p $(PREFIX)/bin cp -f $(DSTROOT)/usr/local/bin/tool $(PREFIX)/bin/ class Tool < Formula homepage "https://github.com/yourname/tool" version "0.0.1" sha1 "0123456789abcdef0123456789abcdef01234567" url "https://g

    Swiftで書いたコマンドラインツールをHomebrewでインストールできるようにする
  • Circle CIでiOSアプリのリリース作業を自動化

    Jan 7, 2015 ※ 現在(2015/01/07)Circle CIのiOSビルドはベータとなっているため、利用するにはサポートへの連絡が必要です。 できること GitHubへのコミット毎に以下のタスクを実行します。 ユニットテストの実行 ipaの作成 ipaのバリデーション CrittercismにdSYMをアップロード Circle CIにテストレポートを出力 iTunes Connectにipaをアップロード これらの作業を自動化すると、masterブランチにgit pushするだけでテストが通ったアプリがiTunes Connectに登録され、 TestFlight(新)からダウンロードできるようになり、そのままApp Storeに申請することまで出来るようになります。 Circle CIのメリット 無料(1 container) 見た目がきれい private reposi

    Circle CIでiOSアプリのリリース作業を自動化
  • Carthage: Swift対応の新しいライブラリ管理

    Nov 20, 2014 iOS, OSXで利用できるライブラリ管理ツールといえばCocoaPodsが有名ですが、 それとはまた違った方針のCarthageというライブラリ管理ツールがリリースされました。 GitHubのデベロッパーを中心としたチームで開発が進められているようです。 https://github.com/Carthage/Carthage インストール方法 Releasesからpkgをダウンロードして、インストーラーを実行します。 使い方 Cartfileを書く carthage updateを実行する Carthage.buildに作成された.frameworkをXcodeに追加する Cartfileではgithub, gitの2種類のキーワードが利用でき、以下のように書きます。 サポート対象 Carthageはdynamic frameworkのみをサポートするため、C

    Carthage: Swift対応の新しいライブラリ管理
    ginga0118
    ginga0118 2014/11/24
  • iMovieでApp Previewsの動画を作成する

    Oct 19, 2014 iMovie Creating App Previewsに書かれていますので、要点だけ。 QuickTime Playerを起動する New Movie Recording(command + option + N)を選択 iOS端末をMacに接続する QuickTimeのカメラを接続したiOS端末にする(画面がQuickTime Playerに表示される) 動画を撮影して保存する iMovieを起動する New App Previewを選択 Importを選択し、QuickTime Playerで撮影した動画をインポート インポートした動画をタイムライン上にドラッグして、編集する ShareからApp Previewを選択

    iMovieでApp Previewsの動画を作成する
    ginga0118
    ginga0118 2014/10/20
  • 1