MILLEN BOX 2

個人iOSアプリ開発者hollymotoによる勉強の記録。時々雑記。

CocoaPodsやCarthageを使わないでRealmを導入する方法

今日はモバイルデータベースライブラリのRealmをiOSアプリに導入する準備を行います。
このような外部ライブラリを管理してくれる仕組みとしてCocoaPodsやCarthageがありますが、これらでライブラリをプロジェクトに新規でインストールするには、当然ながらネットワークの接続が必要となる時があります。私は移動中に勉強することが多くいつもいつも太い回線を使える訳では無いため、ちょっとした動作確認の際に管理ツールを使わないで済ましたい時がよくあります。
今回は本当によく使うライブラリであるRealmの「CocoaPodsやCarthageを使わないで」導入する方法を備忘録として残したいと思います。

目次

1. Realmをダウンロード

以下のサイトの Getting Start にある Download Realm for Swift をクリックしてRealmライブラリをダウンロードします。700MBくらいありますので回線の太い環境で予めダウンロードしておいて下さい。

Realm: Create reactive mobile apps in a fraction of the time

f:id:anthrgrnwrld:20200217213457p:plain

zipファイルは解凍しておく。
(ダウンロードしたものをホームフォルダに常備しておくとふとした使い時に便利なのでおすすめです。)

2.公式の手順を確認

先ほどのサイトのトップに公式のInstall方法の記載場所があります。Installation のところです。ここの Dynamic Framework のタブに手動インストール方法が記載されています。
f:id:anthrgrnwrld:20200217215345p:plain

ただこの手順を信じきるとハマっちゃってうまくいかない可能性があります。(この投稿を書いている理由もそこにあります。)以降の手順も見比べながら進めて下さい。

3.プロジェクトを作成

Xcodeで新規プロジェクトを作成して下さい。

4.Frameworkをインストール

まず最適なXcodeバージョンのフォルダを開きます。今回、私が使用しているXcodeのバージョンは11.3.1なので swift-11.3 を開きます。
f:id:anthrgrnwrld:20200217220255p:plain

その中に以下の二つのファイルがあります。

  • Realm.framework
  • RealmSwift.framework

これらをプロジェクトにドラッグアンドドロップして下さい。表示されるダイアログを確認し、Finishボタンを押す。
その時、「Copy items if needed」にチェックが入っていることを要確認!
f:id:anthrgrnwrld:20200217222227p:plain:w400

XcodeのProject navigator上で二つのFrameworkが入っているのを確認できればOKです。
f:id:anthrgrnwrld:20200218072330p:plain:w300

5.プロジェクト設定

プロジェクト設定の TARGERTS → Build Phases → Links Binary With Libraries に Realm.frameworkRealmSwift.framework が指定されていることを確認する。
f:id:anthrgrnwrld:20200218073244p:plain

5.2 Copy Files

引き続き Build Phases にて「+」ボタンを押して「New Copy Files Phase」を選択します。
f:id:anthrgrnwrld:20200218074054p:plain:w400

「New Copy Files Phase」を選択すると「Copy files」という新しい項目が現れます。「Destination」をFrameworksに設定し、Project navigatorから Realm.frameworkRealmSwift.frameworkドラッグアンドドロップして下さい。
f:id:anthrgrnwrld:20200218074344p:plain

5.3 Run Script

5.2と同じようにBuild Phases にて「+」ボタンを押して「New Run Script Phase」を選択します。
f:id:anthrgrnwrld:20200218120959p:plain:w400

「New Run Script Phase」を選択すると「Run Script」という新しい項目が現れます。このShellの下図の赤枠箇所にbash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Realm.framework/strip-frameworks.sh" と記載して下さい。
f:id:anthrgrnwrld:20200218214737p:plain

6. import RealmSwift

取り敢えずViewControllerあたりのimport UIKitの下に以下を記載してみましょう。

import RealmSwift

7. 完成

ビルドしてみましょう。間違いなければビルドが通るはずです。お疲れさまでした。エラーが出る場合はもう一度手順を見直してみて下さい。

まとめ

先でも書きましたが、2の公式の手順を信じきっちゃうとハマる可能性があります。というか、私はハマりました。普通は管理ツール使うかと思いますが、私のように困る人もいる可能性もありますので記事に残しておきました。
Realmの使い方についても次回以降書きたいなと思ってます。