Personal Factory

Personal Factory

iOSエンジニアの技術ブログ

iOS

iOS11 Core NFCを使ってみた

iOS11になって、Core NFCというフレームワークが追加されました。 これはNFC(近距離無線通信)を利用したタグとの通信が出来るフレームワークです。 現状では読み取り専用で、しかも専用のアプリを起動しなければいけないそうです。 Androidアプリでは「NFCタグを端末に近づけるとアプリを起動する」といったことができますが、iPhoneではまだそのようなバックグラウンドからNFCの検知イベントでアプリを立ち上げるなどはできません。 ですが、長年さまざまな人が待望した機能ではあります。 実験する価値はあると思っています。 今回はCore NFCを使ったサンプルのアプリの紹介です。 コード量はすくないですが、ハマリポイントもあったので皆さんのお役に立てればと思います。 動作環境 * Xcode9.2 * iPhoneX iOS 11.1.2 NFCタグをゲットする Core NFCを利用したいなら兎にも角にも最初はNFCタグをどこからか入手しなければ行けません。 幸いAmazonで10枚入りのモノが売っていたのでそちらを購入します。 サンワサプライ NFCタグ(10
4 min read
go(golang)勉強会 #1をしました
イベントレポート

go(golang)勉強会 #1をしました

2018/02/13(月)、@tikidunpon [https://twitter.com/tikidunpon]さんとKazuki Ohara [https://twitter.com/yamoridon]さんと一緒に運営するgo(golang)勉強会が始まりました。 https://go-golang.connpass.com/event/78316/ レポートしたいと思います。 勉強会概要 Go言語の基本的な文法を公式ドキュメントA Tour of Go [https://go-tour-jp.appspot.com/welcome/1] を読みながら進める勉強会です。 時間は80分程度で気になる所を質問したり、一緒に手を動かしてgoの知識を深めていきます。 ただの講義形式ではありません。 ファシリテーターの説明を受けて疑問があればその都度質問を受け付け、実際にコードを書いてどんな動きをするのかを見ていく勉強会です。 今回のファシリテーターは@tikidunpon [https://twitter.com/tikidunpon]さんでした。 内容はgo
3 min read
Node.js

nobleでお手軽BLE通信(構築編)

nobleというNode.jsのパッケージがある。 公式のGithubページは以下です。 noble [https://github.com/sandeepmistry/noble] これをいれれば、自分のパソコンをBLEの発信機にすることができるすごいパッケージなのです。 今回はGithubのサンプルを試して見ようと思います。 ですが、久しぶりにNode.jsを触ったのでインストールに手こずりました。。 RubyとかNodeとか、環境構築に一番時間がかかる気がする。。 Gemとかnpmが一発でインストールできた例がない。。 では行きます! 実行環境 今回は、以下の環境で試しました * OS X El Capitan 10.11.6 * ✗Node.js v6.9.1 -> ◯v4.7.2 最初一番新しい安定バージョンv6.9.1で試したら動かずv4.7.2で試したら動いたというのが今回のあらましです。 Githubのサンプルを試す 最初node.jsのバージョンはバージョンv6.9.1で試しました。 Githubのリポジトリーを見る限りexamplesディレクト
3 min read
【iOS】新年明けたので、画面に花火を散らしたよ

【iOS】新年明けたので、画面に花火を散らしたよ

2017年になりました。 新年あけましておめでとうございます。 新年一発目のUIトレース会を1月12日に株式会社オハコ様にて行いました。 【朝活】iOS_UIトレース会 #7 [https://ios-app-developers.connpass.com/event/48038/] 2017年の元旦にFacebookが面白いイースターエッグを実装していました。 ポストをするとその文字に「あけおめ」や「Happy New Year」などの特定の文字があるとボタンになって、それをタップすると花火のアニメーションが打ち上げられるのです。 以下のYoutube動画で動きが確認できます。 これをお題募集アンケートに出したらぶっちぎりでFacebookが一番になりました。 https://www.facebook.com/groups/407821455988195/permalink/1196346283802371/ 今回の記事では、朝活で私が実装した例を紹介したいと思います。 -----------------------------------------------
2 min read

Swift3でFacebookログインをする

FacebookのSDKがSwift3になってからいろいろ変わっていたのでまとめました。 実施環境 この記事は以下の環境で確認しています。 * Xcode8.2 * Swift3 * Cocoapod 1.1.1 * Facebook Swift SDK 0.2.0 -------------------------------------------------------------------------------- 目次 1. Facebookデベロッパーでアプリを作成する 2. CocoapodでFacebookのSDKをインストールする 3. info.plistの設定 4. AppDelegateの設定 5. ログインボタンを作成しログインする 6. ログイン中のユーザー情報を取得する -------------------------------------------------------------------------------- Facebookデベロッパーでアプリを作成する Facebookと連携したアプリを作るには
3 min read
かえる秋祭りに参加してきました
イベントレポート

かえる秋祭りに参加してきました

先月2016年10月30日に、かえる好きのかえる好きによるかえる好きのためのイベント「かえる秋祭り」に出展者として参加してきました。 このイベントは「かえる友の会 [https://twitter.com/kaerutomonokai]」が主催のイベントで第17回目を迎えるそうです。 Yahooニュースでも記事が載っていました。 中野で「かえる秋祭り」開催へ 「カエル」グッズ作家一堂に、高山ビッキさん講演も /東京 [http://headlines.yahoo.co.jp/hl?a=20161027-00000008-minkei-l13] カエルタベル出展してきました。 私は、去年の冬に作成したカードゲーム「カエルタベル [http://kaerutaberu.info/]」を出展してきました。 「カエルタベル」ははえが動いてカエルが食べる新感覚カードゲームです。 友達と、恋人と、親子とさくっと遊べて、もっと仲を深められるカードゲームです。 設営の様子。 今回からフィールドマットを追加しました。これでもっと遊びやすくなりました。 ゲーミフィジャパン [h
2 min read
Automatorで快適なキャプチャ生活をおくる
Tips

Automatorで快適なキャプチャ生活をおくる

ブログを書く上でけっこう手間なのが、画面のキャプチャです。 技術ブログを書く上で、現状PC上の画面を共有するためにMac標準のプレビューアプリで画面をキャプチャしています。 しかし標準のプレビューアプリ、デフォルト設定だとなかなかかゆいところに手がとどかない仕様になっています。撮影した後色々と手間を掛けないといけないのがつらいです。 具体的には * デフォルトでは画像の保存先は~/Desktopになっています。このままだと取る度に画像が増えて~/Desktop が散らかるので私はブログ用の保存フォルダを作成していちいち画像を移動していました。 * 画像のサイズがとてつもなく大きいです。PCのディスプレイ解像度が上がっているので仕方がないのですが、1つのウインドウをキャプチャしただけで数千ピクセルの画像が出来上がってしまいます。このままブログにあげても無駄ですのでいい感じにリサイズをしたい。 * デフォルトでは画像形式はPNGになるので、容量を減らすためにJPEGで保存したい そこでいろいろ解決策を考えていたところ、Automatorというアプリを使えば楽に自動化でき
4 min read
Javascript

東京Node学園祭2016 参加レポート

昨日、2016年11月13日、Node.js日本ユーザグループが主催する日本で最大のNode.jsのカンファレンス東京Node学園祭に参加してきました。 渋谷のマークシティーで行われ、Javascriptそのものやその周辺のツールを開発方が直々に登壇するという大変豪華なカンファレンスでした。 以下が登壇者の一覧です。 Douglas Crockford 氏 * ECMAScriptの仕様化団体の一人であり、JSONの開発者です。 James Snell 氏 * WhatWG Social Activity WG の仕様化を進める一人であり、 Node.js core committer Bradley Meck 氏 * ECMAScript 仕様化団体の一人であり、 Node のモジュールエコシステムの今後の鍵を握る人物 Cheng Zhao 氏 * デスクトップアプリ開発が可能な Electron の作者 Yoshua Wuyts 氏 * React/Redux をベースに次世代の フロントエンド開発フレームワークである choo の開発を進める人物 今回の
3 min read
Swift

Playground でURLSessionを試す(GET編)

iOSの標準ライブラリーだけで通信処理をすることになったのでこの基にURLSessionの使い方をみてみる 環境 * Xcode8 bata4 * Swift3 * Playground サーバーはWebAPIをとりあえず試せるサイトhttp://httpbin.org/を使用します GETで実行 //: Playground - noun: a place where people can play import UIKit import PlaygroundSupport //Construct url object via string var url = NSURL(string: "http://httpbin.org/get") let config = URLSessionConfiguration.default let session = URLSession(configuration: config) var req
1 min read
イベントレポート

【参加レポート】bitFlyer Drink Meetup! #7

9/9 bitFlyer社のドリンクミートアップ イベントが開催されました。 そこに参加したのでレポートします。 http://bitflyer.connpass.com/event/38089/ -------------------------------------------------------------------------------- bitFlyerとは? 仮想通貨ビットコイン取引総合プラットフォーム「bitFlyer」の運営と、ブロックチェーン関連の研究開発を行う、Fintechベンチャーの会社です。 2016年4月に30億の資金調達を行い、国内の月間の売買取扱高は1000億円を超えている、日本で今一番勢いのあるFintechベンチャーの一つです。 TechCrunchに記事が載ってました。 bitFlyerがシリーズCで約30億円を調達、資本金で世界2位のビットコイン取引所に [http://jp.techcrunch.com/2016/04/26/bitflyer_raises_3billion_yen/] ---------------
4 min read
Swift

[Swift]クロージャーの使い方

Swiftの文法で特に分かりづらいものの1つクロージャーの使い方を見ていきます。 環境 今回の記事は以下の環境で実行することを想定している記事です。 * Swift2.2 * Xcode7.3.1 -------------------------------------------------------------------------------- クロージャー クロージャーは自分を囲むスコープにある変数を参照する関数のことをいいます。(変数をキャプチャするといいます。) Swiftは第一級関数をもつ言語で、関数そのものを型に指定できたり、関数をインスタンス化できます。 関数をインスタンス化したら、それはクロージャーになると考えて大丈夫です。 関数に名前がない無名関数としても定義することができます。 【なぜクロージャ(Closure)と言うのか?】 http://qiita.com/mochizukikotaro/items/7403835a0dbb00ea71ae 各言語、クロージャーの概念はなかなかとっつきにくいものがあります。上記のqiitaの記事は言語
7 min read