2016-01-01から1年間の記事一覧
HRColorPickerというライブラリを試してみました。 http://hayashi311.github.io/Color-Picker-for-iOS/ インストールはいつものようにCocoaPodsを使います。 target 'MyApp' do use_frameworks! pod "Color-Picker-for-iOS" end ライブラリはObjective-cな…
Swiftでバーコードを読み取る方法についてです。 取得はAppleが用意しているライブラリAVFoundationを使って行います。 まずはプロジェクトにAVFoundationを追加します。 ViewControllerのコードは以下のようにします。 アプリを起動するとカメラが立ち上が…
最近コールバックで少し難解なコードに遭遇したのでそのことを書いてみます。 遭遇したのは下のようなコードです。 execを呼び出すと計算されて、その結果をexecutedに渡すというもの。 class Calculator { var executed: (Int -> Void)? func exec() { // …
ImplicitlyUnwrappedOptionalなlazyが不思議な挙動をしたので調べてみました。 問題の挙動は以下の通りです。 変数にnilを入れたのに変数を参照しようとすると初期化処理が走りました。 class MyClass { lazy var value: Int! = { print("In Lazy") // → 2回…
iOS9からCIDetectorで画像の文字認識ができるようになりました。 文字の内容までは読み取れないのですが、文字の位置・サイズを取得する事ができます。 使う為にCoreImageをプロジェクトに追加します。 featuresInImageメソッドを使う事で文字位置を取得でき…
CocoaPodsのログイン情報がないので以下のようにログインする必要があります。 以下コマンドを打つとメールが来るので、あとはそれに従って行動します。 pod trunk register メールアドレス
まずはCoreImage.frameworkをプロジェクトに追加します。 顔認識の方法は以下の通りです。 CIDetectorのfeaturesInImageメソッドで画像解析をします。 戻り値として顔・目・口の位置や、顔の角度などを取得できます。 trackingIDは動画を解析する際に、顔を…
HealthKitアプリを使ってデータの取得・保存を試してみました。 前準備 まずはプロジェクト設定のCapabilitiesをOnにします。 次にプロジェクト設定のGeneralのLinked Frameworks and LibrariesでHealthKit.frameworkを追加します。 ユーザーの許可を得る re…
RailsからAPIを叩くためにactive-rest-clientというGemを使ってみました。 使い勝手はActiveResourceに近いものでした。 github.com インストールはいつものようにBundlerを使います。 gem 'active_rest_client' データ取得/更新の為には、下記のようにModel…
APIについて調べていたら国・独立行政法人、地方公共団体等の入札情報を取得APIを発見したので触ってみました。 www.kkj.go.jp ドキュメントは以下URLです。 http://www.kkj.go.jp/doc/ja/api_guide.pdf 入札情報を取得する http://www.kkj.go.jp/api/にパラ…
Watch ConnectivityのupdateApplicationContextを呼び出した時に表題のエラーが出た時の対処法です。 自分の場合はsession.delegateに値をセットしなかったためactivateがうまくいっていませんでした。 delegateに値を入れるようにしたら無事にデータ転送で…
WatchKit1ではApp Groupsでデータ共有ができていましたが、WatchKit2ではOSの仕組みが変わった事によって使えなくなりました。 代わりにWatchKit2から使えるようになったWatch Connectivityという機能を試してみました。 準備 プロジェクトにWatchConnectivi…
UIDocumentInteractionControllerはファイルを他のアプリに共有できる機能です。 以下のように記述すればポップアップが出てきてその中のどれかのアプリにファイルを送信する事ができます。 この機能を試している時、ファイルは存在しているはずなのに表題の…
Crashlyticsを使う為に必要なFabricアプリのログアウト方法です。 「cmd + L」でログアウトできました。
MySQLを5.1 → 5.6にアップグレードしたのにRailsで表題のエラーが出た時の対処法です。 結果としてはmysql2をインストールし直せば解決しました。 5.1の時にbundle installしたので、その時のものが悪さをしていたようです。 gem uninstall mysql2 bundle in…
アクセス先のサーバーで以下のようにパーミッションを変更したら解決しました。 最初は.sshフォルダもパーミッション変更が必要な事に気が付かず少し時間かかってしまいました。 chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
以下のコードで取得できるようです。 Bundle.main.bundleIdentifier // → com.example.myapp
pod trunk pushでCocoaPodsライブラリのアップデートをしようとした時に表題のエラーが出た時の対処法です。 新バージョンに対応するgitのtagを更新していない可能性があるのでtagを付けてpushします。
Shoyuというライブラリを使ってUITableViewを扱いやすくしました。 インストール インストールはCocoaPods経由で行います。 pod "Shoyu" 使い方 普通にUITableViewを使う場合、以下のような書き方になります。 class DetailViewController: UIViewController…
mobileplayer-iosという動画再生ライブラリを試してみました。 github.com 動画ファイルを用意するだけで動画の再生ボタンやシークバー付きで動画再生ができます。 インストール方法 例の如くCocoaPodsを使います。 pod "MobilePlayer" 使い方 MobilePlayerV…
会社の同僚の作ったGeccoというライブラリを試してみます。 GitHub - yukiasai/Gecco: Simply highlight items for your tutorial walkthrough, written in Swift 画面の説明を簡単に実装する事ができます。 導入方法 CocoaPodsとCarthageの両方に対応してい…
Swiftで音声を読み上げる方法を調べてみました。 まずはAvFoundationを導入します。 以下で音声読み上げをしてくれます。 import AVFoundation let synthesizer = AVSpeechSynthesizer() let utterance = AVSpeechUtterance(string: "こんにちわ") synthesiz…
Xcodeでメソッドのパフォーマンスを測定する方法です。 以下のようにXCTestのmeasureBlockを使うと測定できます。 import XCTest class PerformanceTest: XCTestCase { func testPerformance() { measureBlock { // 何かの処理 } } } 実行するとこのように実…
OctopressというRuby版のWordpressのようなものを試してみました。 マークダウンのサポート、DBを使わないのでGitで全てバージョン管理できるいうメリットがあります。 Octopress Documentation - Octopress セットアップ セットアップは以下の通りです。 gi…
メニューの「Hardware」の「Shake Gesture」を押下すればイベントが発生します。
まずは必要なツールをインストールします。 brew install npm npm install -g hubot coffee-script yo generator-hubot 次に以下コマンドでプロジェクトを作成します。 質問は全てデフォルトを選択(Enter押下)しました。 mkdir -p test_bot cd test_bot yo h…
同僚の作ったライブラリ、ResourceKitを試してみました。 GitHub - bannzai/ResourceKit: Enable autocomplete use resources in swift project. 使い方はこちらの記事も詳しいです。 まだハードコードで消耗してるの? ResourceKitで安全コーディング! - Q…
Fluxアーキテクチャについて調べてみました。 Fluxアーキテクチャとは Githubの画像にあるようなアーキテクチャの事を指します。 長所としては、データの流れを1方向にする事で複雑さをなくしているところです。 github.com それぞれの概念について記述して…
著作権切れの本を読める青空文庫ですが、実はサイトのコード及び本のデータはGithubに上がっています。 github.com index.htmlがサイトTOPのソースコードになります。 書籍のデータはcards以下のfilesフォルダの中に入っているようです。
Swiftオープンソース化の時に公開されたFoundationフレームワークのコードやREADMEを読んでみました。 github.com GithubからコードをCloneすると以下のようになっているので、Foundation.xcworkspaceを開いてコードを見ました。 NSArrayやNSObjectのコード…