しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

2016-02-01から1ヶ月間の記事一覧

SVProgressHUDを使ってiPhoneアプリにおしゃれアラートを表示する

iOS

SVProgressHUDとは警告ポップアップやローディングポップアップを簡単に表示できるライブラリです。 github.com 準備 いつものようにCocoaPodsでインストールします。 Carthageでもインストールできるようです。 pod 'SVProgressHUD' use_frameworks! ローデ…

【Swift】GoogleAnalyticsでスクリーンビューを記録する

iOS

スマホ向けGoogleAnalyticsではイベントを送るだけではスクリーンビューに値が反映されません。 スクリーンビューの値を保存したい時はkGAIScreenNameに対してスクリーン名をセットする必要があります。 "(self.dynamicType)"はUIViewControllerのクラス名を…

Google Analyticsでどのページで離脱したかを調べる

行動 → 離脱ページから見る事ができます。 PV・離脱率などを見る事ができます。 各パラメータでソートもする事ができます。 ただし離脱率が低い順や高い順で並べると1PVしかないページが上に来てしまいます。 そういった時はアドバンスフィルタでPVに関する…

UnityAnalyticsを使ってUnityアプリのアクセス解析をしてみる

こちらからUnityAnalyticsの管理画面にログインします。 IDはAssetStoreにログインする時と同様にUnityIDが使えます。 Unity - Services - Analytics ログインするとこのようにデモデータが入っています。 デモを見たところ、アクティブユーザーやセッション…

Itamaeで自宅と会社のMacに同じbrewのアプリをインストールする

最近はItamaeを使って自宅と会社に同じ環境を構築する試みをしています。 その一環としてbrewのアプリをItamaeでインストールしてみました。 GitHub - shimesaba9/env [ 'argon/mas/mas', # コマンドラインでAppstoreからインストールするツール 'wget', ].e…

Swiftで簡単にミニマックス法が使えるMinMax AIを使ってみる

iOS

GameplayKitの機能の1つであるMinMax AIを試してみました。 この機能に出てくるクラスを説明していきます。 GKMinmaxStrategist こちらはAIの中心的なクラスになります。 GKMinmaxStrategistにはゲームのルールを渡す事で最善手を取得できるクラスです。 ル…

Swift Package Managerのアプリを作る時はswift build --initが便利そう

今日知ったのですがSwift Package Managerのプロジェクトを作る時はswift build --initコマンドで初期化すると良さそうです。 コマンドを打つと以下のファイルやフォルダを作ってくれます。 Package.swift .gitignore Sources/ Sources/main.swift Tests/ .g…

Vaporを使ってSwiftサーバーを立ててみる

こちらの記事を参考にSwiftサーバーを作ってみました。 qiita.com 準備 Swift Package Managerを使えるようにします。 こちらのページのLatest Development Snapshotsをインストール後、/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/へ…

SwiftPackageManagerを使おうとしたら<unknown>:0: error: no such file or directory: 'build'になった時の対処法

iOS

表題のエラーはSwiftの2.1を使っていると発生します。 Swift2.2をインストールする事で解決します。

AjaxZip3を使って郵便番号から住所を取得する

AjaxZip3というJSライブラリを使って郵便番号から住所を取得してみようと思います。 こちらのライブラリはyubinbangoと同じ作者の方が作っているようです。 Githubではyubinbangoの方が新しくて推奨されていました。 郵便番号を入れると住所を取得するJSライ…

Google Tag AssistantでGoogle Analyticsのデバッグをする

Google Analyticsは「本当にサーバーに送られているのか分かりにくい」「送られているとしても即時反映されないので確認に時間がかかる」という問題があります。 そこでGoogleAnalyticsが動いているか確認できるGoogle Tag Assistantという拡張機能を試して…

郵便番号を入れると住所を取得するJSライブラリ、yubinbangoを使ってみる

yubinbangoというJSライブラリを使ってみました。 使い方は下の通りです、命名ルールに沿ってクラス名をつければ郵便番号を補完してくれるようになります。 <html> <head> <script src="https://yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script> </head> <body> <form class="h-adr"> <span class="p-country-name" style="display:none;">Japan</span> </form></body></html>

GonというGemを使ってRailsからJavascriptに値を渡す

RailsからJavascriptに値を渡す方法です。 インストール インストールはbunlderを使います。 gem 'gon' 使い方 設定 htmlのheadタグの中で以下の呼び出しをします。 Gon::Base.render_data こうすると以下のようにレンダリングされます。 <script> //<![CDATA[ windo</script>…

rack-mini-profilerでRailsアプリの表示速度を表示する

rack-mini-profilerというGemを使うと、画面が表示されるまでの時間を画面上に表示してくれます。 github.com インストール Gemfileにrack-mini-profilerを追加します。 本番環境では出したくないのでdevelopだけにインストールする設定にすると良いです。 g…

UITableViewの編集モードを実装する

iOS

編集モード・通常モードの切替 editButtonItemメソッドで編集モード・通常モードの切り替えボタンを取得できます。 このボタンは押す度にEdit → Doneが切り替わると同時にTableViewのモードも切り替わります。 class ViewController: UITableViewController …

Unityの公式マニュアルを読んでいく - その10

この記事ではUnityのマニュアルを1から読んだ感想とか発見を書いてみようと思います。 docs.unity3d.com 読んだ所 今回は以下のページを読みました。 Unity - マニュアル: カメラ Unity - マニュアル: 複数のカメラを使用する Unity - マニュアル: カメラの…

Blenderを使って3Dオブジェクトを作ってみる

Blenderとは3Dモデルやアニメーションを作る事のできるフリーソフトです。 今日はBlenderを軽く触ってみようと思います。 画面を開くとこのように立方体が1つだけ置かれています。 Shift + A で様々なオブジェクトをセットできます。

Unityちゃんを動かしてみる

有名なAssetであるUnityちゃんを動かしてみようと思います。 インストール まずはAsset Storeから"Unity-chan!"をインストールします。 Unityちゃんを表示する "UnityChan" → "Models" に入っている"unitychan"を画面にドラッグします。 角度を調整すれば直…

MacのUnityでMonodevelopを使ってみる

普段はAtomを使う事が多いのですが、デフォルトエディタであるMonodevelopも試してみました。 動かしてみたところC#は補完してくれました。 左側のSolutionタブはフォルダ構成も踏襲してくれる模様です。 日本語未対応という記事もあったのですが5.9.6では対…

NiftyのmBaasでデータを保存してみる

NiftyのmBaasを試してみました。 前準備 まずはNiftyのサイトで会員登録してアプリケーションを作成します。 ここで作ったApplicationKeyとClientKeyを後で使います。 mb.cloud.nifty.com インストール インストールはCocoaPodsを使って行います。 pod "NCMB…

UIVisualEffectViewで画面にすりガラス効果を追加する

iOS

iOS8から使えるようになったUIVisualEffectViewを試してみました。 元の画面は以下の通りです。 Storyboard上でUIVisualEffectViewを画面に追加します。 貼り付けただけですりガラス効果を実現できました。 すりガラス効果は3種類から選ぶ事ができます。 先…

PathMenuという良い感じのメニューを実現するSwiftライブラリを使ってみる

iOS

PathMenuというライブラリを使ってみました。 github.com PathMenu概要 PathMenuとは有名アプリであるPathに似たメニューを実現するものです。 似たライブラリでAwesomeMenuというものがあります。 画像は公式サイトより引用。 インストール インストールは…

NSLocalizedStringでキーが返ってくる不具合

iOS

先日をローカライズをしたのですが、NSLocalizedStringがキーを返してくる現象に遭遇しました。 "MyKey" = "Value" NSLocalizedString("MyKey") // → MyKeyが返ってくる 調べたらLocalaizable.stringsが複数ある・キャッシュ・文法ミスなど色々な原因がある…

無料で3Dモデルが作れるsculptrisを使ってみた

sculptrisというソフトを使ってみました。 Pixologic :: Sculptris :: OakCorp WEB このソフトでは3Dのモデルを作る事ができ、ここで制作したものはUnityやBlenderに取り込んで動かす事もできます。 以下はダウンロードサイトに載っていたサンプルです。 scu…

presentViewControllerするUIViewControllerのViewを透明にする

iOS

presentViewControllerで呼び出すViewControllerの背景を透明にするには呼び出すViewControllerのmodalPresentationStyleに.OverCurrentContextをセットしてviewのbackgroundColorをclearColorにします。 class ViewController: UIViewController { override…

iPhoneアプリ開発でなぜかキャンセルボタンがCancelってなる場合の対処法

iOS

日本語の端末を使っているのにキャンセルボタンがCancelって表示になる場合の対処法です。 Projectの設定のLocalizationsに日本語を追加すれば「キャンセル」って表示に変わってくれます。 これは日本語がない場合は英語設定が優先される為に発生する現象の…

Mac上でjpeg/png/gifの変換をする方法

ImageMagickを使うとコマンドで簡単にフォーマット変換ができます。 インストール brew install imagemagick 使い方 以下のコマンドで変換は完了です。 画像の種類は拡張子を見てうまく判断してくれるようです。 convert test.jpeg test.png 対応フォーマッ…

CocoaPodsでライブラリを作って公開する

iOS

初期化 まずは下コマンドでライブラリのベースを作ります。 言語をSwift/Objectiveのどちらか聞かれたりテストを作るか聞かれるので答えていきます。 pod lib create MyLibrary 答え終わると以下のような構成でプロジェクトが開きます。 ライブラリを作る Re…

UIViewControllerを引数なしinitで呼べるようにする

iOS

initをconvenience initializerとして宣言して中でinit(nibName:bundle:)を引数nilで呼び出す事で実現できます。 class ViewController: UIViewController { required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } override init(nibNam…