简体   繁体   中英

How to connect to postgresql from ios9

I'm building iOS9.3 app with Swift.

I'm trying to connect the PostgreSQL directly, and yes I know usually the most common approach is to create a web api as bridge between apps and server(like MSSQL,PGSQL,MYSQL...), and that is the easy/safe way to do it.

But right now I need to do direct connection, and I already tried several solution as below, but so far there is no luck. Basically these are build from Obj-C(2010~14), and I also have to create Bridging-Header to connect Obj-C and Swift(That is not a problem).

But I'm stuck here. :(

libpq.framework , PGSQLTouch , PGSQLKit-iOS-9.1.1

If I just used "libpq", the error is "libpq-fe.h' file not found".

If I used PGSQLKit the error will be "No such module 'PGClientKit_ios'" event I setup the Build Phases, Framework Search Paths.

have any ideas?

PGClientKit_ios's git>>> " https://github.com/djthorpe/postgresql-kit "

Objective-C Bridging Header

if anyone still having the same issue like I did, after a long struggled I got a solution!(I was trying to find or modified all kind of the existing "Kits","framework")

I was surprised, what I was looking for, could be so rarely, suddenly very envious those android developer.

The simple step as follow.

  1. Go find a libpq.framework.
  2. You have to create a C type file(because libpq is not Obj-c.) as C API to connect libpq.
  3. After that create a Bridging-Header to connect it.(It Bridging will not generate its own)
  4. Back to the C type file you created
  5. Follow this "PostgreSQL C Language API" tutorial this tutorial saved me a lot of time .(C has been a very far away from me.)
  6. If need, go to Build Settings >> Enable Bitcode >> YES
  7. Make sure test it on the device.

I will post the sample code on git and share the link, after I finish my project.

:) Cheers.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM