読者です 読者をやめる 読者になる 読者になる

mzgkworks

iOSを中心にプログラミング関係について書く

Hugo + GitHub Pagesでブログを構築してみた

ブログはテキストファイル形式でバージョン管理したい派なので、構築してみた。
ついでに、HTML+CSS(Sass)の練習も兼ねて、Hugo Themeも自作してみた。

はてなブログの手軽さも捨てがたいのは事実。
けど、環境も記事もGitHubで管理できて、Markdown形式のテキストファイルで書けるのは魅力的。

構成

こちら

mzgkworks.com

【Firebase】iOSアプリにFirebaseを導入してアクセス解析

iOSアプリにGoogleのFirebaseを導入して、アクセス解析(Analytics)を行う。
導入はGoogleアカウントを作成し、cocoaPodsでインストールする程度の手軽さ。

環境

  • Xcode 7.3.3
  • cocoaPods 1.0.1
  • Firebase 3.3.0
続きを読む

【Git】変更の取り消し(全てPush前)

Gitで変更またはコミットを取り消す時の方法。
Push前の状態で行うこと

環境

  • Git 2.9.0

ステージング前

  • $ git add 前に実施し、ワーキングツリーの変更をなかったことにする
# 特定のファイルのみ
$ git checkout -- ファイル名

# 特定のファイルのみ指定したコミットの状態でステージに
$ git checkout コミットID ファイル名

# 全て
$ git checkout .

ステージングの取り消し

  • $ git add でステージングしたファイルをアンステージする
# 指定したファイルをアンステージする
$ git reset HEAD ファイル名

直前のコミットの修正

  • コミットメッセージを修正したい
  • コミットした後に同じファイルを修正・変更した
  • コミットすべきファイルが漏れていた
# メッセージを修正したい
$ git commit --amend

# ファイル漏れ・変更漏れ
$ git add 漏れ・変更ファイル
$ git commit --amend

コミット自体をなくす

  • HEAD~で指定しているところは、戻したい場所のコミットIDを表す
# HEADだけをコミット前に戻す
$ git reset --soft HEAD~

# HEADとインデックスをコミット前に戻す
$ git reset HEAD~

# HEAD,インデックス,ワーキングツリーをコミット前に戻す
$ git reset --hard HEAD~

【Git】ログの出力内容メモ

$ git log で出力される内容をカスタマイズ。

~/.bash_profile

以下を追記。

alias gl='git log --date=short --graph --decorate --pretty=format:"%h [%ad] -> %s"'

$ gl -10 とタイプすると10件分が以下のように表示される。

* afffb2d [2016-07-21] -> mod 企画の再考
* cb254a4 [2016-07-13] -> Initial アイデアを登録

【Sketch】Sketchの操作メモ

Sketch.appの操作をいくつかメモ。

環境

  • Sketch.app 3.9

ArtBoardの表示サイズ

  • 実際の大きさ : Cmd + 0(View -> Actual Size)
  • 画面中央 : Cmd + 1(View -> Center Canvas

オブジェクトの表示サイズ

  • 拡大 : Cmd + 2(View -> Zoom Selection)

レイヤー間でスタイルをコピペ

  • コピー : Cmd + Opt + c
  • ペースト : Cmd + Opt + v

レイヤーの上下階層移動

  • Cmd + Opt + ↑
  • Cmd + Opt + ↓

カラーピッカー

  • Ctrl + c

角丸の個別指定

  • Radiusの入力欄 : /区切りで左上からの時計回り

スタイルの作成と適用

同じスタイルのオブジェクトへの適用が楽になる。
形まで適用する場合はSymbolを利用。

  • オブジェクトを選択 -> 色や線などのスタイルを設定 -> No Shared Style -> Create New Shared Style -> 名前をつける
  • 適用したいオブジェクト -> No Shared Style -> 作成したスタイル -> 適用される
  • スタイルを変更したい場合 -> 変更後 -> Sytleに表示された更新マークを押す -> 同じスタイルのオブジェクトに反映される

オブジェクトのロック

  • ロックしたいオブジェクトを選択 -> Cmd + Shift + l

結合 : Combine

円を2つ重ねた状態の場合

  • Union : くっつく(重複部分の区別はなくなる) -> ピーナッツ型
  • Subtruct : 上に乗っているオブジェクトで下のオブジェクトをえぐる -> 三日月型
  • Intersect : 重複部分だけが残る
  • Difference : 重複部分だけが欠ける

Symbol : 同じオブジェクト作るためのベース

  • Symbolにしたいオブジェクトを選択 -> Create Symbol -> 名前をつける
  • 新しいオブジェクトを配置 -> 右クリック -> Replace With -> Symbolを選択
  • これで、姿形が同じになる(スタイルは色や線のみで形は適用されない)
  • 解除 : 解除したいオブジェクト -> 右クリック -> Detache from Symbol

画像をモノクロ化

  • Rectangleのシェイプを配置して色をグレーとかにする
  • Blending -> Colorを設定

テキストをアウトライン化

  • テキストを選択 -> Layer -> Convert to Outline

【iOS】TabBarアプリケーションのライフサイクル

TabBarアプリケーションのViewのライフサイクルメモ。
画面はA、Bの2つで検証。
調査方法は、各メソッドに以下を追加してファンクション名を出力。

print("A: " + #function)

初回起動

  • A: viewDidLoad()
  • A: viewWillAppear
  • A: viewDidAppear

TabBar : Bボタンタップ

  • B: viewDidLoad()
  • B: viewWillAppear
  • A: viewWillDisappear
  • A: viewDidDisappear
  • B: viewDidAppear

TabBar : Aボタンタップ

  • A: viewWillAppear
  • B: viewWillDisappear
  • B: viewDidDisappear
  • A: viewDidAppear

TabBar : Bボタンタップ

  • B: viewWillAppear
  • A: viewWillDisappear
  • A: viewDidDisappear
  • B: viewDidAppear

バックグラウンドからの復帰

  • なし
  • 検知したい場合は、AppDelegateに仕込んで通知を利用したような記憶が・・・

【Swift】TabBarアプリでStoryboard Referenceを使う方法

TabBarアプリを作成する時に、画面単位等にStoryboardを分割して見通しを良くする方法。

続きを読む