Xcodeバージョン切り替え

Xcodeバージョン確認

複数のXcodeバージョンをインストールしている場合、どのバージョンがデフォルトになっているか
わからなくなることがあります。以下で確認できます。

$ xcodebuild -version

一時的なXcodeバージョンの切り替え

一時的なXcodeバージョンの切り替えは以下のとおりです。(Jenkinsとかの設定に便利そう)

$ DEVELOPER_DIR=/Applications/Xcode8.3.2.app/Contents/Developer xcodebuild -version

Xcodeバージョンを変更する

$ sudo xcode-select -switch /Applications/Xcode8.3.2.app/Contents/Developer
広告

iTermインストール

iTermインストール

以下からiTermを以下からダウンロードし、インストールする。

https://www.iterm2.com/downloads.html

iTermの設定

参考

http://vdeep.net/iterm2

zshの設定

参考

https://codeiq.jp/magazine/2014/01/5143/

iTerm便利な使い方

内容 コマンド/操作
iTermの表示 Setting > Keys > Hotkeyで設定したHotkey(私はCtrl + i)
windowが隠れていても表示されます
ウィンドウの透明度の切り替え cmd + u
Webページで検索したコマンドを見ながら打つときに便利です
ウィンドウの分割(縦) cmd + d
ウィンドウの分割(横) cmd + shift + d
新しいタブをひらく cmd + t
フルスクリーン cmd + Enter
ペースト履歴を表示 cmd + shift + h
検索 cmd + f
ブロードキャストコマンド機能 cmd + shift + i
複数のタブで、同じコマンドを同時実行できる機能
復活 cmd + z
間違ってWindowを閉じても5秒以内にCmd(⌘)-Zすれば復活されられる
タイムスタンプ表示 cmd + Shift + e
マウス無しでコピー 範囲選択すると勝手にコピーされる
ペースト cmd + v
履歴などから補完候補を表示 cmd + ;

参考

特定のタップイベントを無視する

ビューの中に配置してあるあるボタンだけタップイベントを拾いたいことがあります。
単にuserInteractionEnabled = falseにしてしまうと中に配置してあるボタンも
イベントが無視されるので、hitTestで実装しました。

return nilを返したものだけ、タップイベントが無視されます。

    override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
        let hitView = super.hitTest(point, with: event)
        if hitView == self || hitView == loadView {
            return nil
        }
        return hitView
    }

GitHubでクローンしてRepository not foundになった

Macbookを買ったばかりで、gitからリポジトリをクローンしようと、いつものようにgit clone URLでクローンしたら、以下のようなメッセージが出たので、usernameとpasswordを入れました。

Username for 'https://github.com': 
Password for 'https://username@github.com'

目的のURLからリポジトリをクローンできたのですが。。。

個人のgithubのリポジトリをgit clone URLでクローンしようとしたら、以下のようなエラーが出ました。

remote: Repository not found.
fatal: repository 'https://github.com/xxxxxxx/xxx_proj.git/' not found

macのkeychainで記録していたのが原因で、gitで検索したら、github.com(インターネットパスワード)というのが出てきので、これを削除したら初期に戻り、git cloneする時に以下が聞かれるようになった。

Username for 'https://github.com': 
Password for 'https://username@github.com'

githubの別々のユーザーでもターミナルで使えるようにもう少し調べたい。

MacにCocoaPods、Homebrew、carthago、renv、bundlerのインストール

環境

Mac OS 10.12.3

CocoaPodsインストール

1.インストール

MacにはデフォルトでRubyがインストールされているので、それを前提に進めていきます。以下のコマンドを実行します。

$ sudo gem update --system // ruby gemを最新にする
$ sudo gem install cocoapods // CocoaPodsのインストール
$ pod setup // CocoaPodsのセットアップ
Setting up CocoaPods master repo
Setup completed (read-only access)

2.利用

Xcodeのプロジェクトフォルダ直下に「Podsfile」という名前のファイルを置きます。

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'myproject_ios' do
pod 'SwiftCop'
pod 'ReachabilitySwift', '~> 3'
end

Posfileと同じ階層で以下のコマンドを叩くと、指定したライブラリがインストールされます。

$ pod install

Homebrewのインストール

Homebrewはパッケージのインストール(アンインストール)作業を一元的管理するものです。インストール先は /usr/local になります。

Homebrewのサイトを見ると、以下のコマンドが記載されているので、それをコピーして実行し、インストールします。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

次にbrew doctorを実行します。これは、Homebrewのインストールやその後の使用に問題がないか確認するためのコマンドです。

$ brew doctor

バージョンを確認します。

$ brew -v
Homebrew 1.1.10
Homebrew/homebrew-core (git revision 465a; last commit 2017-02-15)

なお、一応Homebrewのupdateを行っておきます。
時々実行してupdateしておくとよいと思います。

$ brew update

その他便利コマンド

homebrewの基本コマンドを少し載せておきます。

パッケージ検索

$ brew search

パッケージインストール・アンインストール

$ brew install  // インストール
$ brew remove  // アンインストール

パッケージの有効化・無効化

$ brew link // 有効化
$ brew unlink // 無効化

パッケージされたリストの表示

$ brew list

3. carthagoのインストール

以下のコマンドを実行し、brewを使ってインストールします。
(※久しぶりにbrewを使う場合は、$ brew updateをしておくと良いでしょう。)

$ brew install carthage

インストールされているかは以下のコマンドで確認できます。
brewでインストールされたものの一覧が表示されます。

$ brew -v list

4.renvのインストール

MacにはデフォルトでRubyがインストールされていますが、それを利用するとバージョンによる影響がでるので、複数バージョンを管理することができるrbenvを入れます。

$ brew install rbenv ruby-build

バージョンを確認します。

$ rbenv --version

インストールするrubyのバージョンを確認するために、リストで候補を表示します。

$ rbenv install -l

今回はリストの中から最新版をインストールします。

$ rbenv install 2.4.0

インストールしたRubyは以下のコマンドで確認します。

$ rbenv versions

rubyのバージョン切り替え

rubyのバージョン切り替えは、以下でglobalを使って切り替えます。
(※一部プロジェクトに適応したい場合はlocalで変更します。)

$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
$ rbenv global 2.1.0
$ ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin15.0]

5. bundlerのインストール

RubyのプラグインであるGemは普通に使うとグローバルに入ってしまいますが、それを避けて、特定ディレクトリに入れる仕組みがbundlerです。
そのbundlerをインストールします。(パーミッションのエラーがでたので、/usr/local/binにインストールしました。)

$ sudo gem install -n /usr/local/bin bundler

新しいgemを入れた場合は、rbenvでrehashしないと、パスが通っていなかったりするそうなので、実行します。

$ rbenv rehash
$ bundler -v
Bundler version 1.12.4

bundlerの設定ファイルを作成します。bundler initを実行すると、Gemfile というファイルができるので入れたいGemを記述します。以下はcocoapodsを例に記述しています。

$ bundler init

以下はGemfileの例です。

# frozen_string_literal: true
# A sample Gemfile
source "https://rubygems.org"

gem 'cocoapods' , '0.39.0'

※Gemfileの詳しい書き方は「gemfile – リファレンス – – Railsドキュメント」をご参照ください。

Gemfile に書いた内容をインストールするには、以下のコマンドを実行します。インストール先のディレクトリとしては.venderを指定します。

$ bundle install --path=.vendor

gitのリポジトリを移行する方法

今まで利用していたプロジェクトの直下に移動し、originのURLを確認します。

$ git remote -v
origin  git@github.com:nekoxxxx/test.git (fetch)
origin  git@github.com:nekoxxxx/test.git (push)

このoriginのURLを変更します。

リモートリポジトリを変更する

$ git remote set-url origin git@github.com:nekoxxxx-new/test.git

変更出来ているか確認

$ git remote -v
origin  git@github.com:nekoxxxx-new/test.git(fetch)
origin  git@github.com:nekoxxxx-new/test.git (push)