アイフォンアプリ開発、swif3.0 新しいDB Realmをインストールしてみた

アイフォンアプリ開発、swif3.0 新しいDB Realmをインストールしてみた

SQLiteが主流かと思ったら、新しいDB Realmが便利そうだということで、インストールしてみた
SQLiteがいいのかと思っていたら、どうも新しいDBに移行し始めているらしい。
新しいものは使いにくことがあるけれど、廃れてしまって使われない技術も困るので、新しいDBを使ってみることに。

インストール方法はZIPファイルをダウンロードする方法と podを使う方法があるらしい。
podを使ってみることにしました。

<結果>
うまくいったようで、でもうまくいっていないようです。
ld: warning: directory not found for option ‘-F/Users/maseda/Documents/新書類/xcode/2016/spaceEitango1121/build/Debug-iphoneos/Realm’
ld: warning: directory not found for option ‘-F/Users/maseda/Documents/新書類/xcode/2016/spaceEitango1121/build/Debug-iphoneos/RealmSwift’
というエラーが出てしまい、新規ファイルでRealmのファイル雛形が出ていません。
もう一度プロジェクトファイルを作ってやってみます。

その後、ZIPファイルをダウンロードして、読み込んでOKでした。ちなみに雛形はありません。

まとめると、今のところPODをインストールして、うまくいっていないようなら、ZIPからもフレームワークを読み込むです。
そして、
一度コンパイルします。
これで、次回から import RealmSwiftでエラーがでなくなるでしょう。
その後、プラグインをインストールします。これは、ZIPでダウンロードしたファイルを展開するとPluginフォルダがあるので、その中のプロジェクトファイルをビルドして、XCODEを再起動すると新規ファイルで、Realmの雛形ファイルが選べます。このプラグインでRealmクラスを作らないとサンプルのコードがエラーになります。

(1)
これが意外にも面倒。
podを使うらしいが私のマックに入っていない。そこでインストールから

(以下にインストールが進む)

(2)
1podsインストール

2podインストール

aidayota-no-MacBook-Pro:~ maseda$ pod –version
1.1.1
aidayota-no-MacBook-Pro:~ maseda$ pod repo update

3%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-04-15-55-04

(3)
XCODEプロジェクトファイルのフォルダに移動
aidayota-no-MacBook-Pro:2016 maseda$ cd spaceEitango1121/

(3-1)
swiftバージョンチェック

と出力される
Swiftバージョンをメモっておく

(4)
pod initでpodファイルが作成される

ここのファイルに、
use_frameworks!
pod ‘RealmSwift’
を記述する。
またはバージョンを指定するときは
「pod ‘RealmSwift’, ‘~> 2.4’」
みたいにバージョンを指定する。するとバージョンで2.4.1みたいに2.4以降のバージョンが有るとインストールされるらしい
>>実際やってみると、
次のようなエラーになって、2.4.1はインストールされず。仕方ないので、バージョンをしてせずに、pod installを実行すると2.1.1がインストールされた。その後、Projectファイルには2.4.1のバージョンをドラッグして取り込んだ。
果たして2.1.1で作成したProjectファイルと2.4.1のバージョンとでコンフリクトが起きないかどうか?


Swiftのバージョンを記述する
そして、
公式サイトの内容をPodfileの最後に記載する

(5)
そして、
aidayota-no-MacBook-Pro:spaceEitango1121 maseda$ pod install
でインストールが始まる。10分位かかる
実はプロジェクトファイルを開いていたことをインストール後に思い出しました。次回からは閉じてからインストールしようかと。

次に
(6)XCODEのプロジェクトフォルダを見ると新しく「spaceEitango1121.xcworkspace」というのが作成されている。拡張子前はプロジェクトファイル名。
このプロジェクトファイルを起動する。

すると
Podsプロジェクトが見える。このプロジェクトではなくて、
いままで作成していたプロジェクトを選択し、
Linked Frameworks and Libraries」を選択してFrameworkを追加
RealmのFrameworkを2つ追加します。

これでインストールはOKみたい

4%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-04-16-38-59

5%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-04-16-39-11

しかし、このままでは、使えません。
一度、RealmSwiftのZIPファイルもダウンロードしておきます。
そして、/Users/maseda/Downloads/realm-swift-2.1.1のなかにiOS用のSwiftのバージョンのRealmのフレームワーク2つがあるので、それをspaceEitango1121(ここは個別のプロジェクト名).xcworkspaceプロジェクトに読み込みます。
アイコンがケースの形をしていたらOK。
そして、
EmbetBinariesのところにもRealmのフレームワーク2つを呼び込みます。
これで
import RealmSwiftと記述してエラーが出なければOKかも。
もしエラーなら
一度コンパイルします。
これで、次回から import RealmSwiftでエラーがでなくなるでしょう。

そして
BuildPhaseでNew Run Scriptで追加して

Realm ブラウザーを使うときに
「Cmd + shift + g」
を使うとパスが入力できる。

設定だけの動画です

その後の、Realmのプロジェクトへのインストール方法

pod initでpodファイルが作成される

ここのファイルに、
use_frameworks!
pod ‘RealmSwift’
を記述する。
またはバージョンを指定するときは
「pod ‘RealmSwift’, ‘~> 2.4’」
みたいにバージョンを指定する。するとバージョンで2.4.1みたいに2.4以降のバージョンが有るとインストールされるらしい
>>実際やってみると、
次のようなエラーになって、2.4.1はインストールされず。仕方ないので、バージョンをしてせずに、pod installを実行すると2.1.1がインストールされた。その後、Projectファイルには2.4.1のバージョンをドラッグして取り込んだ。
果たして2.1.1で作成したProjectファイルと2.4.1のバージョンとでコンフリクトが起きないかどうか?

どうやらpodのバージョンが古いからだそうです。
pod repo update
でアップデートして
sudo gem install cocoapods
で実行

そして、再度pod install
しました。
まだ2.4.1がインストールできるかは試していません。

こちらの記事もどうぞ