Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > SQLiteを使いたい。ラッパーを検証してみる。

SQLiteを使いたい。ラッパーを検証してみる。

SQLiteを使いたい。Objective-Cの時はMagicalRecordでCoreDataを利用していたのですが、 今回はSQLite+Swiftでトライしてみたいと思います。ざっと調査すると、SwiftでSQLiteを使うのは、FMDB, SwiftData, SQLite.swiftがあるみたいです。この三つのラッパーから好みのものを選ぶのが目標です。

サンプル画像

なんとなくですが、FMDBを勧めている記事が多いですね。昔の人気?今も人気なのかもしれませんがどうなんだろうか。

参考:SwiftでSQLiteを使う(SwiftData)
参考:[iOS8] SwiftData(Swift製SQLiteラッパー)を使ったMVCサンプル
参考:SwiftからSQLiteを扱う(FMDB)
参考:[iOS] SQLite.swift ライブラリを使いたい! その1
参考:Accessing an SQLite Database in Swift
参考:SwiftDataを徹底的に解説!これでDB怖くない!(永久保存版)
参考:SwiftでSQLiteラッパーライブラリのFMDBを使ってみよう


それではInsertしてSelectするまでの流れを実行してみようと思います。Bridgeヘッダやライブラリのリンク設定周りは割愛します。 セットアップ後にどれだけ使いやすいかを判断したいと思います。
過去記事の参考:Objective-Cとの共存

とテストをトライしようとFMDBをさわりはじめましたが、検証にはデータベースファイル(db)が必要でしたので以下サイトからdbファイルをダウンロードして検証しています
参考:Get Ready to Learn SQL: 1. How to Install SQLite and the Sample Database

sqliteのdbをChromeでみれるリーダーも探す。FireFoxのSQLManagerみたいなものがあれば、、、評価がよくないですが、以下のSQLite Database browserをインストールして確認してみる
参考:How do you use SQLite with Chrome?
参考:SQLite Database Browser (Beta)

と拡張機能をChromeにインスールやりかけましたが、どうも必須らしいSiverlightを入れてもインストール完了しない、、、、止めた。時間がないのでFireFoxに切り替えます。 最近ChromeばっかりだったのでFireFoxをMacにダウンロードしていませんでした、41MB。。。デザリング住民には厳しいです。

最新版のFirefoxいれてSQLite Managerもいれてみました。とここで、、、、FireFoxかなり速くなってる??? 昔FirefoxからChromeにかわったとき体感速度が全然違かったけど、逆の感覚。FireFoxも速くなってるんですね!IEも 次のバージョンは改善されているようですので楽しみです。
参考:SQLite Manager 0.8.3.1-signed

SQLite Managerでsample.sqliteを作成。これをXCodeプロジェクトのDocumentディレクトリに配置(プロジェクトにドラッグ&Drop)ひとまず これで準備は完了。と願いつつ進みます。

やってみた(FMDB)

まずは一番人気のFMDBです。


参考:SwiftからSQLiteを扱う(FMDB)
参考:FMDB : Linker command failed with exit code 1

と、トライしてましたが以下エラーで止まって時間切れ、、、


Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_", referenced from:
      __TMaCSo10FMDatabase in ViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

以下のあたりが参考になりそう


参考:XcodeでビルドしたOpenCVを参照するC++コードのビルド時のUndefined symbols for architecture x86_64



(上記解決しました)以下のURLにあったように、一度FMDBを削除して改めてドラッグ&ドロップすると解消しました。 どうやらFMDBからlibsqlite3.0.dylibが読み込めていない状態だったようです。ってわからないorz
参考: FMDB : Linker command failed with exit code 1

まとめ

SQLite Managerをインストールしてたりコンパイルエラーを改善していると検証する前に撃沈してしまいました。。。検証はまた明日トライします!

次の記事はこちらからです!

↓こんな記事もありますよ!

GはGoogle他のアルファベットを勝手に妄想してみる

さて昨日はGoogleが衝撃的な発表でAlphabetという親会社をつくって、Googleはアルファベットの中のGがGoogleとの 位置づけで今後展開していくとの事。ネーミングもですが、今後の期待を大きく感じる、またわかりやすく好印象だったのか株価も 大きく上がったとのことでした。さて、その他残りのアルファベットはどんな風になるのかなぁと勝手に歩きながら妄想してみました。

のんでいるくすり: 3.11震災時の体験から開発されたお薬アプリ。無料

今日は薬を便利にかつ守秘的にメモできるアプリのんでいる薬をご紹介します。 実はアプリレビューは初めて。 SwiftサラリーマンのFBページを経由して開発者でもあり薬剤師のBlueRoy(ブルーロワ・インク) Inc. のShige様とお知り合いになる事ができて、是非レビューさせて下さいと私からお願いした経緯で今回レビュー記事に繋がりました。 Shige様、快く了承頂き本当にありがとうございました!

大阪都構想の橋下さんの鼻に誠意をもって顔認識処理で画鋲を刺す

先日大阪都構想でニュースがざわついておりましたが、 そこで自分が思っていたこと、なぜ鼻ピンしたのかを顔認識サンプルと誠意を込めて書き記してまいります。(※選挙ポスターに画鋲を刺す事や、そもそも「他人様」の画像を変更することがタブーな事を理解しつつの投稿です。問題がないかの問い合わせメールを送る予定です。画像はWikipediaからの引用です)
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!