カテゴリー
SugiBlog ホームページ制作・システム開発|大阪

macOS High SierraでCocoaPodsのpod updateがエラー

macOSがHigh Sierraになり、Xcodeもアップデートされ、
色々と警告が出るようになっていたので、これを解消しようと思ったら
色々つまづいたので書いておきます。

まずはライブラリをアップデートする必要があるようなのでpod updateコマンドを実行。
すると以下のようなエラーが発生。

-bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory

どうやらmacOSがHigh Sierraだとエラーが発生する模様です。

Rubyをアップデートするために以下のコマンドを実行。

sudo gem update --system

エラーが発生。

ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem

その場合は以下のようなコマンドにするらしいですが、
実行してみると既にインストール済と言われます。

sudo gem update --system -n /usr/local/bin

次にCocoaPodsをアップデート。

sudo gem install cocoapods

これも途中でエラーが発生。

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/bin directory.

コマンドにオプションを付けてやり直し。

sudo gem install -n /usr/local/bin cocoapods

正常にインストールが完了しました。
続きを読む…»

281 views

Swift3で剰余を求める

剰余(割り算の余り)を求めたいとき、「Mod」か「%」を知っていれば事足りていたのですが、Swift3ではできないケースがありましたので、メモしておきます。

Intでは「%」で大丈夫なようですが、FloatやDoubleの場合はエラーになります。

Doubleの場合(Floatも同様)

let n: Double = 12.0
n.truncatingRemainder(dividingBy: 10.0)

129 views

iOSでデータベースRealmを使う

iOSアプリでデータベースを使ってみたいと思います。
色々あるようですが、今回は「Realm(レルム)」を選定しました。
Realm公式サイト:https://realm.io/jp/

まずはインストールから始めてみましょう。
realmのドキュメントを参考に進めます。

CocoaPodsのSpecリポジトリ更新

ターミナルを開き、コマンドを実行

pod repo update

Realmのインストール

インストールしようとしているプロジェクトのディレクトリに移動します。

cd <path-to-project>

続きを読む…»

161 views

Macでのスクリーンショット

普段はWindowsを使っているので、Macでのスクリーンショットを撮る方法の覚書です。

画面全体のスクリーンショットを撮る
shift + command + 3

画面の一部分を選択してスクリーンショット
shift + command + 4
カーソルが十字になるので、保存したい範囲を選択
取り消しはesc

ウィンドウのスクリーンショットを撮る
shift + command + 4
その後、スペース
保存したいウィンドウをクリック

シャドウ無しのスクリーンショットが良ければ、
optionを押しながらウィンドウをクリック

87 views

GoogleMapに現在地を表示

Info.plistに位置情報の利用を追加します。
GoogleMapに現在地を表示するだけなら、CoreLocationは必要ないようです。

Privacy - Location When In Use Usage Description

Valueには「現在地の情報を利用します」等としておきます。

GoogleMapの表示方法については[iOSアプリでGoogleMapを使う]をご覧ください。

位置情報を利用して現在地を表示する

googleMap.isMyLocationEnabled = true

現在地ボタンを表示する

googleMap.settings.myLocationButton = true

Xcode: 8.2.1
Swift: 3.1
OS: Sierra 10.12

166 views