SwiftでFrameworkを作成する

こんにちは、大塚です。 Frameworkについて 少し前になりますが、swiftでライブラリを作成する必要があったので調べてみました。 ~Xcode5以前~ Cocoa Touch Static Library Objective-Cのみ ビルド時に静的にリンクされる、いわゆる普通のライブラリ 画像やnibファイルなどのリソースを含めることはできない ~Xcode6以降~ Cocoa Touch Framework Swiftが使える 導入が簡単なり、ビルドスクリプトなどが不要に 画像やstoryboardなどのリソースを含むことができる App Extensionsなど複数プロセスから共有可能 ビルドが速くなる 実体はディレクトリらしい...

iOSでジオフェンスに触れる②

こんにちは増島です! 引き続きジオフェンスについての話をしていきます。 前回の記事はこちらになります。 https://intheweb.io/geofence-ios/ 今回のテーマはXcodeでジオフェンスの動作確認になります。 アプリをデバッグ実行し、Xcodeで位置情報をシミュレートすることによって端末の位置を擬似的に変えることができます。 それでは見ていきましょう。 今回作成したサンプルはこちらに置いてあります。 https://github.com/shushutochako/geofence-sample-swift サンプルの機能 日比谷公園あたりに半径500mで領域を作る 端末が領域内に入ったらラベルで表示 端末が領域内から出たらラベルで表示 シミュレーション内容 東京駅から新橋駅まで車で移動するようなシミュレーションをする この流れで、日比谷公園あたりに作った領域のエリアに入った時と出た時で、ちゃんとラベルに表示されるかを確認します。...

iOSでジオフェンスに触れる①

こんにちは増島です! ポケモンGoがリリースされてしばらく経ちました。 最近ではゲームやO2Oサービスなど色々な領域で位置情報の重要性が増しているような気がします!! 先日iOSでジオフェンスについて触れる機会が有りました。その時学んだことを2回に渡って書きたいと思います。 ジオフェンスとは 仮想的な地理的境界線のことを言います。 ある特定の領域をジオフェンスとして設定し、移動体の侵入、退出をトリガーとしてイベントを発生させることができます。 例えばジオフェンスを使用すると下記のような機能を実現することが出来ます。 1.ある店舗を中心に半径500mで領域を作成する 2.ユーザがエリア内に入った時に店舗のクーポン券を配布する ジオフェンスを使っているサービス ジオフェンスを使っているサービスとしては下記のようなものが挙げられます。 Airウォレット https://airregi.jp/wallet/ ショプリエ https://shoplier.jp/...

Nifty Cloud Mobile Backendでプッシュ通知のお話

こんにちは増島です! 先日シン・ゴジラを見たのですが、僕の生活圏内の街がことごとく破壊されていたのでとてもショックでした。 話は変わりますが、作成しているアプリでNifty Cloud Mobile Backendを使用しています。プッシュ通知の実装の機会があったので、今回はその話をします! 環境 【ネイティブ】 iOS 【サーバサイド】 Node.js はじめに Mobile Backendのコンソールから手作業でプッシュ通知を送ることもできますが、 今回の例はサーバ側のイベントをトリガーに対象を絞ってプッシュ通知を送る例です。 証明書の登録やデバイストークン取得処理については今回触れません。 それらについては下記のページをご参照下さい。 http://mb.cloud....

Swiftでスライダーライブラリを作って学んだあれこれ

こんにちは増島です! オニドリルにモンスターボールを60個使用しましたが捕獲出来ず、悔しさで眠れませんでした。家の近くにポケストップがあまり無いのでモンスターボールの確保にはいつも必死です。 話は変わりますが、以前iOSのスライダー系のライブラリを公開しました。 その際CoreGraphicsやUIControlなどあまり触れていなかった部分を触ることが出来てとても勉強になりました。 今回は作成を通して学んだ事をiOSのTipsとしてお話します! 公開したライブラリはこちらになります。 https://github.com/shushutochako/CircleSlider UISliderを円形にしたイメージでしょうか! 使い方によってプログレス表示なども出来るようになってます。 UIViewをくり抜く アプリのチュートリアルなどでボタンのヒント表示などで使われているのをよく見ますね! 今回のライブラリだと円形のバーの内側のところで使われています。 internal class TrackLayer: CAShapeLayer { internal init(bounds:...

Socket.IO-Client-Swiftでリアルタイム通信

こんにちは増島です。 アプリ内でリアルタイム通信機能を入れようと思い、 折角なので使ったことのないSocket.ioを使ってみました!! 今回はイベントの送信や受信の実装部分を簡単に説明したいと思います! Socket.IO-Client-Swift ネイティブ側のライブラリは「Socket.IO-Client-Swift」を使用しました。 Socket.IO-Client-SwiftはSocket.ioの公式Swiftクライアントライブラリです。 iOS用のクライアントライブラリは他にも「SocketRocket」「SIOSocket」などがあるようです。 https://github.com/facebook/SocketRocket https://github.com/...

Swiftでくるくる落ちるアニメーション

こんにちは増島です! 今回はiOSの話をします! 最近ではリッチなアニメーションをしてるアプリを見る機会も多くなってきましたね。 アニメーション系の実装方法を色々知っておくと便利かと思います。 iOSでアニメーションの実装方法はUIViewのメソッドやCore Animationなど色々あるかと思いますが、今回はCore Animationのいくつかのクラスを使用してタイトルの通りのアニメーションを実装してみました。 完成はこのような感じです! このアニメーションでは「CABasicAnimation」「CAAnimationGroup」「CATransform3DMakeRotation」などを使用して三つのアニメーションを同時実行しています。 Z方向に横回転するアニメーション 上から下に移動するアニメーション 最前面に表示し続けるアニメーション Z方向に回転するアニメーション アニメーションの定義はこの通りです。 // 回転 let rotateAnimation = CABasicAnimation(keyPath: "transform") rotateAnimation....