RSS

MySQL and Objective-C for iPhone and OSX

25 Aug

MySQL and Objective-C for iPhone and OSX

웹과 연동하여 사용하는 어플리케이션이 많아지면서 MySQL에 접근하는 방법에 대해 물어보시는 분들이 많은데요. 애플에서 공식적으로 접근하는 방법을 제공해주고 있지 않기 때문에 제공해주는 API만으로 웹디비에 접근 할 수가 없습니다. 웹디비에 접근하는 방법은 크게 두 가지가 있습니다.

첫번째 방법은 http를 사용하여 페이지을 요청하면 페이지가 디비를 읽어 xml이나 JSON과 같은 파일로 작성해 보내줍니다. 그 받은 파일을 아이폰에서 받아 다시 파싱해서 사용하는 방법이죠. 이 방법이 일반적이고 애플이 권장하고 있는 방법이기도 합니다. 하지만 디비를 읽어 파싱해야하기 때문에 웹에 대해서 전혀 모르시는 분은 접근하기가 어려울 수도 있습니다.

두 번째 방법은 MySQL에서 제공해주는 라이브러리를 넣어 접근하는 방식입니다. C언어로 작성되어있기 때문에 C를 그대로 사용 할 수 있는 아이폰에서 사용이 가능합니다. 하지만 만들어져 있는 라이브러리가 있음에도 불구하고 Xcode에 넣지 않았다는 말은 사용을 권장하지 않는다는 말이 됨으로 리젝이 될지 안 될지는 사용성에 따라 틀릴 수 있을 것입니다.

이번에 소개 할 방법은 두 번째 방법입니다. 먼저 MySQL에 접근 할 수 있는 Library는 MySQL 공식 홈페이지에서 다운 받으실 수 있습니다. C로 작성되어 있기 때문에 C를 사용하지 않고 바로 Objective-C를 배우셨다면 사용하시기가 다소 어려울 것입니다. 그래서 이 Library를 Objective-C언어로 사용 할 수 있게 만들어 놓은게 오픈 소스로써 많이 올라 오는데요. 그 중 한 가지를 소개하겠습니다.

Developer Site : http://www.karlkraft.com/

Download : Objc_Mysql_iPhine_OSX_2.0.zip file (About 11MB)

MySQL Connector Using Objective-C Tutorial

1. 일단 웹에 디비가 있어야 겠죠? 테스트용으로 하나 만들어 보겠습니다.

제 디비는 이렇게 만들었습니다.

  • Server Host : http://www.queseras.com
  • Server Port : 3306 (임의로 바꾸지 않았다면 기본으로 3306포트로 지정되어있습니다.)
  • User : quesera1_miinyx
  • password : pass00 (설명하기 쉽게 하기 위해 임시로 정한 비밀번호입니다.)
  • schema : quesera1_miinyx
  • Table name : tbl_test
  • Field names : index, name, pass
  • 아래와 같은 내용이 들어 있습니다.

2. 빈 프로젝트를 만들어 위에서 다운 받은 폴더를 추가 합니다.

3. 디비에 접속 할 수 있는 소스가 추가 되었습니다. 디비 접속 정보를 넣기 위해 MySQLServer.m을 찾습니다.

4. 서버 접속할때 사용할 정보를 자신에 맞게 바꿔줍니다.

여러 서버에 접근하길 원한다면 이 파일을 살짝 수정하여 초기화 함수 부를 때 값을 지정하여 여러개의 MysqlServer 인스턴스를 만들어 놓으면 될 것 같네요.

5. 자! 이제 다 되었습니다. 아주 간단하게 MySQL에 접근할 수 있습니다.

– Performing Selects

결과 :

– Performing Inserts

결과 :

– Performing Deletes

결과 :

– Performing Updates

결과 :

팁! 작성하다 보니 하다보면 쿼리 만드는곳에서 정확하게 만들어지지 않아 에러가 종종 나곤하는데요.. field이름이나 table이름등에 ” ` 기호”로 감싸 주시면 에러를 줄일 수 있습니다. (예, index -> `index`, tbl_test -> `tbl_test`)

소스도 복잡하지 않아서 살짝 수정해서 사용하면 유용한 소스가 될것 같습니다. GOOD LUCK!

 
1 Comment

Posted by on August 25, 2011 in Other Libraries

 

Tags: , , , , , , , , , , , , ,

One response to “MySQL and Objective-C for iPhone and OSX

  1. AhnSeongHyun (@sh84ahn)

    November 4, 2012 at 9:55 PM

    보면서 따라해보고 있는데요..^^;;

    self.scheme 부분에 데이터베이스 명을 넣는것인가요?

     

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: