質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

0回答

819閲覧

SwiftからのMySQL通信用にiOS用のlibmysqlclient.dylibが必要である

eleele28

総合スコア18

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2021/11/14 09:50

前提・実現したいこと

iOS上のアプリケーション(Swift)からMySQL DBサーバにアクセスし、データのやり取りをしたいと考えています。
SwiftでMySQLを扱うためのSwiftKuery及びSwiftKueryMySQLというパッケージがあるため、それを使ってアクセスしようと試みています。
SwiftKuery
https://github.com/Kitura/Swift-Kuery
SwiftKueryMySQL
https://github.com/Kitura/SwiftKueryMySQL

SwiftKuery自体は紆余曲折を経て開発環境に導入が完了し、当該パッケージに含まれる仕組みを用いてDB連携を行うためのクラスも組み上げました。

発生している問題・エラーメッセージ

しかし、組み上げたはいいものの、ビルドが通りません。(コンパイルは通るもののリンクが通らず。)
エラーメッセージを元に調査を行ったところ、以下のことがわかりました。
①「libmysqlclient.dylib」というMySQL用のライブラリ(MySQL公式から提供、既に導入済み)は、Mac用に提供されているものはMacOS専用であり、iOSに対応していない。そのためにiOSデバイス向けにビルドするとリンクエラーとなる。
②有志が作成した「iOS用のlibmysqlclient.dylib」がGitHubにて公開されている。↓
mysql-ios
https://github.com/nanzhong/mysql-ios

①②から、この公開されているプロジェクトmysql-iosを使ってiOS用のlibmysqlclient.dylibを手に入れようとしました。
しかし、このmysql-iosはビルド済みのiOS用libmysqlclient.dylibが含まれておらず、各々ビルドする必要があるようです。
そこでビルドを試みたのですが、プロジェクトに含まれている各種パスがことごとく、作者自身の環境の絶対パスで構成されているらしく、
ビルドを通すことができません。

そこで、以下の質問です。
①iOS用のlibmysqlclient.dylibをビルドするために、どういったアプローチで対処すればよいでしょうか?
②上記のほかに、iOS上でMySQLと連携する方法はあるでしょうか?(他のライブラリを使う、PHP経由に変更する、etc…)

補足情報(FW/ツールのバージョンなど)

Xcode:Ver.12.3
シミュレータiOS:14.3
Swift:Ver.5.3.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/11/14 11:40

モバイルアプリから MySQL などデータベースに直接繋ぐのは良くないので、Web API を経由するのが一般的かと。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問