RAD Studio XE2에서 FireMonkey로 iOS 앱 만들기

2 Comments

 지난 번 RAD Studio XE2에서 FireMonkey로 맥/윈도 공용 어플 만들기에 이어서 이번에는 아이폰/아이패드/아이팟 터치에서 돌아가는 iOS 앱을 만들어 보겠습니다.

 델파이 XE2를 실행하고 FireMonkey HD iOS Application 프로젝트를 생성합니다.

사용자 삽입 이미지

 다른 프로젝트는 타겟플랫폼을 WIN32, WIN64, OS X 세가지를 사용할 수 있지만 iOS 프로젝트는 당연한 얘기지만 타겟 플랫폼 선택이 안됩니다…^^ iOS 전용입니다.

 폼 디자이너에 아이폰처럼 생긴 프레임이 보입니다. XCode iOS Simulator에서처럼 제대로 보여주었으면 더 좋았을텐데 너~무 성의없네요… (추가 : RadPHP 에서는 제대로 보여주는 듯…)

사용자 삽입 이미지

 iOS는 화면 해상도가 디바이스 별로 정해져 있습니다.

  • iPhone 3GS : 320 x 480
  • iPhone4 : 640 x 960
  • iPad 1, 2 : 768 x 1024

 만들어볼 앱도 iOS용이니 폼의 ClientWidth와 ClientHeight를 320, 480으로 지정해 놓고 Code페이지와 Design 페이지를 왔다갔다(?) 하며 화면 디자인을 마쳤습니다. 아~~ 불편해… 왜 Copy & Paste가 안되는거야…

사용자 삽입 이미지

F9를 눌러서 실행해 봅니다… 이전 프로젝트에서 사용한 코드를 그대로 복사해 왔으니 아무런 에러 없이 동작합니다.

사용자 삽입 이미지

 윈도에서 디버깅까지 모두 마쳤으니 이제 iOS Simulator에 올려 보겠습니다.

 이전 포스팅에서 안내한 맥용 어플 개발과 달리 iOS용 앱은 델파이에서 직접 바이너리를 생성하지 못하고 맥용개발툴인 XCode Free Pascal의 힘을 빌려야만 됩니다.

 RAD Studio XE2 설치 폴더 아래에 FireMonkey-iOS 폴더에 보면 FireMonkey-iOS.dmg 파일이 있습니다.(주의 : XE2 Update2를 설치한 경우에는 위 파일이 갱신되지 않은체로 이전 버전이 남아 있습니다.  C:\Users\xxx\AppData\Local\Temp\radstudio_xe2_update2_download 폴더 아래에 있는 파일을 이용하세요.) 이 파일을 맥으로 복사한 뒤 실행합니다.

사용자 삽입 이미지

FireMonkey-iOS.dmg를 실행한 화면

 fpc-2.4.4.intel-macosx.pkg, FireMonkey-iOS-XE2를 순서대로 실행해서 설치합니다. 물론 그전에 XCode는 당연히 설치되어 있어야 겠지요… 첫번째 FreePascal은 금방 설치 되는데 두번째는 설치하는데 시간이 다소 걸립니다. 약 10여분 정도 기다리면 설치가 완료됩니다.

 델파이 프로젝트를 XCode에서 바로 열어서 사용하면 좋겠지만 안됩니다. XE2에서는 델파이 프로젝트를 XCode 프로젝트로 변환하는 유틸리티(dpr2xcode.exe)를 함께 제공합니다. 콘솔 프로그램인데 매번 콘솔 띄우기 귀찮으니 간편하게 사용하기 위해 Tools 메뉴에 등록해 줍니다.

사용자 삽입 이미지

 dpr2xcode를 실행하면 아래 그림과 같이 프로젝트 폴더에 xcode 폴더가 생성되고 그 아래에 XCode 프로젝트 파일이 만들어 집니다.


dpr2xcode로 만들어진 xcode 폴더

사용자 삽입 이미지

dpr2xcode로 만들어진 xcode 폴더의 내용

이제 프로젝트 폴더 전체를 맥으로 복사합니다. 매번 복사하기 귀찮으면 공유 폴더를 사용하시면 되겠죠.

사용자 삽입 이미지

맥에서 연결한 프로젝트 폴더

 저는 공유 폴더를 이용했습니다. 저기 보이는 iTactTimeCalc.xcodeproj 파일을 더블 클릭해서 XCode를 실행합니다.
사용자 삽입 이미지
 XCode에서의 타겟을 Device가 아닌 Simulator를 선택하고 Active Executable을 iPhone Simulator로 선택하고 Build And Run

사용자 삽입 이미지

짜잔~~~ iOS Simulator에 앱이 떴습니다~~~만  어라…? 폼 파일에 입력한 한글은 괜찮은데 코드 상에서 입력한 한글은 제대로 출력이 안되네…?

사용자 삽입 이미지

시뮬레이터에서 실행중인 앱. 한글이 일부 깨집니다.

 네… 안타깝게도 한글이 깨집니다만 이건 델파이가 *.pas 파일을 ANSI 코드로 엔코딩해서 저장해서 그렇습니다. XCode는 UTF-8을 사용해야 되거든요… 다행히도 델파이 코드 에디터에서 File Format 을 UTF8로 변경해주면 됩니다. 다만 Simulator에서는 이마저도 안되더군요. UTF8로 변경해도 Simulator에서는 여전히  깨지는데 아이폰에 직접 올려 보니 잘 보입니다…ㅠㅠ  문제가 무엇인지는 나중에 따로 살펴봐야겠습니다…

 아무튼 iOS 프로젝트를 만들면 자동으로 UTF8로 저장해 주면 좋을 것을 왜 개발자가 일일이 변경해야 하는 불편함을 주는지 모르겠네요…^^

 알아 두셔야 할 것은 iOS Simulator가 아닌 아이폰에 앱을 올려서 테스트 하는 것은 $99짜리 아이폰 개발자 등록이 되어 있어야 가능합니다.

 전 취미삼아(?) 아이폰 앱도 개발하고 있으니 아이폰에 올려 봅니다.

사용자 삽입 이미지

아~~ 앱 아이콘이 저게 뭐냐...ㅠㅠ

아~~ 여기서도 기본 앱 아이콘이 여~~엉 마음에 안듭니다…

사용자 삽입 이미지

아이폰에선 한글이 정상적으로 출력됩니다.

 아이폰에 올려서 잠깐 사용해 본 결과 몇가지 문제점이 발견되었습니다. 

 FireMonkey 콤포넌트들이 입력을 받을 때 키보드에 의해 가려지게 되는 문제가 있습니다. 가려져 버렸으니 뭘 입력하고 있는지 확인이 안됩니다… 아이폰을 사용해 보신 분들은 아시겠지만 일반 아이폰 앱들은 입력 항목이 자동으로 스크롤되어 키보드 상단에 나타납니다.
 다음으로 입력을 마친 다음 키보드를 사라지게 할 수 있는 방법이 없습니다.  위에서 예로 든 앱에서는 상단 콤보박스를 탭하니 키보드가 사라지더군요. 다른 부분은 아무리 탭해도 사라지지 않았습니다. 

 위 두가지 문제는 실제로 업무용으로는 사용할 수 없는 치명적인 문제라 생각됩니다.

기존 아이폰 사용자의 경험과는 전혀 다른 U/I를 가지고 있고 아이폰 U/I 프레임웍인 UIKit이랑 연동이 가능한지도 의문이 있어서 실제 업무에 사용하기에는 많은 고민이 필요해 보이지만 아무튼 델파이로 만든 프로젝트가 아이폰에서 정상적으로 동작하는 걸 확인했습니다.

철 지난 아이패드 사용기

No Comments

 아이폰 4 예약 가입을 시작한다는 공식 발표가 어제 있었습니다. 이제 8개월 밖에 사용하지 않은 아이폰 3GS 가 있지만 새로 아이폰 4를 손에 넣으려고 생각 중입니다… 제겐 그냥 휴대전화의 역할 뿐 아니라 개발에 필요한 장비라는 핑계로다가…^^

 미국에서 출시된지 이제 두달 정도된 아이폰 4는 벌써(?) 출시가 되는데 아이패드는 여전히 오리무중입니다. 미국에서 아이패드가 출시되면서 휴대전화가 아니니까 상대적으로 빠른 시간내에 국내에 정식 발매 될 수 있을 거라 개인적으로 생각했지만 출시는 커녕 기미조차 보이지 않습니다.
 아이패드 미국 출시와 함께 아이폰용이었던 eBanner 라는 전광판 앱을 아이패드에서도 동작하도록 업그레이드 하고서 판매를 시작 했습니다. 실기기는 없었지만 시뮬레이터만으로 테스트하고 잘 될거라 믿으면서 말이죠…^^ 다행히 판매 후에 그다지 큰 문제는 발생하지 않고 있습니다. 하지만 실기기의 손맛을 보지 않고 출시를 한 것이 영~~~ 찝찝한 기분이 가시질 않더군요. 하여 “아이패드를 구입해야겠다.” 마음을 먹고 구입 시도를 했습니다. 하지만 아이패드는 물량이 달려서 쉽게 구해지지 않았고 여섯~일곱번을 시도한 끝에 트위터에서 알게 된 다윤이 아빠 @5krazyeom 님의 힘을 빌어 iPad 64GB Wi-Fi 모델을 구입했습니다. 7월 29일 쯤 제 손에 들어왔으니 이제 2주 조금 넘게 사용했네요… 여러 얼리어답터 분들이 이미 많은 사용기를 올려 놓으셨지만 그래도 비싼 장난감을 손에 넣었으니 먼가 끄적거려야 될 것 같아서 철 지난 사용기를 간단하게 올려 봅니다.
사용자 삽입 이미지
 우선 아이패드는 몇 달전 수원 LOTS 매장에서도 경험했지만 생각보다 상당히 무겁습니다. 본체 무게가 680g 이고 거기다 케이스까지 보태면 1Kg 가까이 됩니다. 이걸 한 손에 들고 장시간 무언가를 하기에는 너무 무겁습니다. 저의 경우 자가용으로 출퇴근하니까 출퇴근시간에 사용할 일은 없습니다만 지하철이나 버스에서 자리에 앉아가는 경우가 아니면 손에 들고 사용하기는 힘들겁니다.
 또한 정식 발매전이라 한글의 표시는 잘 됩니다만 입력이 안됩니다. 한글 키보드가 없거든요… 이 사실을 알고 구입한 것이긴 하지만 알고 있는 것과 체험하는 것은 다른지라 대단히 불편합니다. 트위터를 하거나 RSS 피드를 읽을 때 트윗을 쓰거나 댓글을 달 수 없어서 궁여지책으로 아이폰과 함께 사용하고 있습니다. 글 쓸 때만 아이폰을 사용하는 것이지요…^^
 웹브라우저 사파리에선 한글 자판은 보이지 않지만 한글 오토마타를 이용하면 입력은 가능하구요. 또 탈옥을 한다면 우주 정복 프로젝트 님께서 개발하신 한글 키보드를 사용할 수 있습니다.
아이패드용 한글 키보드

우주 정복 프로젝트 님의 한글 키보드

 무게를 희생해야했겠지만 배터리는 정말 최고인것 같습니다. 밤에 한번 충전해 주면 밝기를 어둡게 해 놓긴 하지만 하루 종일 사용할 수 있습니다. 아이패드 받고서 바로 다음 날 출장으로 KTX 로 부산을 다녀 왔는데 약 5시간 정도 비디오를 봤습니다. 배터리는 약 30% 정도 소모되더군요. 여름 휴가 기간에도 이동 시 계속 게임하고 노래 듣고 했지만 배터리 때문에 걱정한 적은 없었습니다.
주로 사용하는 앱은 이런 것들입니다.
사파리로 풀사이즈로 웹 브라우징을 합니다. 제 홈페이지가 제대로 보이는군요…
사용자 삽입 이미지
제가 만든 Dot Matrix Clock 앱을 실행해서 가끔 시계로도 활용하구요…
사용자 삽입 이미지
iBooks에 책을 넣어서 읽기도 하구요.
사용자 삽입 이미지
사용자 삽입 이미지
사진 잔뜩 넣어서 음악 틀어 놓고 슬라이드쇼 하구요… 종이접기 효과 정말 뽀대 납니다…^^
사용자 삽입 이미지
예전 무료일 때 받아서 사용하던 트윗버드 프로로 트위터 하구요… 트윗덱은 타임라인이 가끔 깨지는 문제가 있더군요…
사용자 삽입 이미지
사파리로 구글 리더 사용하는게 조금 불편한 관계로 예쁜 Reeder for iPad 를 구입해서 RSS 피드를 읽습니다.
사용자 삽입 이미지
가끔 화제의 앱 FlipBoard로 Facebook이나 Engadget등 여러가지 소식을 봅니다.
사용자 삽입 이미지
누군가에게 무언가 설명할 게 있으면 iDraft 띄워서 손가락으로 주~욱  그려가면서 설명하구요.
사용자 삽입 이미지
운전할 때 iPod으로 음악을 듣습니다. 아이폰은 자동차의 AUX 단자를 이용해서 소리를 들어보면 베이스가 많이 죽는데 아이패드는 확실히 소리의 파워가 좋습니다.
사용자 삽입 이미지
CalcBot 앱으로 큰 화면을 계산기로도 활용하구요…
사용자 삽입 이미지
아이들은 이런 게임을 자주 합니다.
사용자 삽입 이미지

Super 7

사용자 삽입 이미지

Angry Birds

 집에서는 노트북이나 iMac을 대체할 정도로 왠만한건 모두 아이패드로 해결됩니다. 전체적으로 만족도는 아주 높습니다.. 차기 아이패드가 나오면 또 사야 되나 고민할 정도로요…^^ 아이폰 4도 구입해야 되는데…^^

아이폰에서 에모지(이모티콘)을 사용하고 싶으시면 서두르세요!

No Comments

 제가 판매하고 있는 아이폰앱 eBannerPowerSnippet은 아이폰에 내장된 에모지 키보드를 활성화시켜 주는 기능을 가지고 있습니다.

 에모지 키보드는 많이들 아시겠지만 일본 소프트뱅크에서 판매되는 아이폰에 한해 사용 가능한 기능입니다. 즉 다른 나라에서 판매되는 아이폰에서는 기본적으로는 사용할 수 없는 기능입니다. 아래 그림처럼 예쁜 이모티콘을 왜 일본에서만 사용하도록 제한해 놓았는지 모르겠습니다만…^^ 아이폰을 탈옥하거나 아이폰 SDK의 구멍을 이용해서 이 기능을 활성화 시켜주기만 하면 언제든지 사용할 수 있습니다. 앱스토어에서 판매중인 많은 에모지 관련 앱들은 대부분 이 구멍(방법 1, 방법 2)를 활용하는 것입니다. eBannerPowerSnippet도 마찬가지구요…

사용자 삽입 이미지

하지만 며칠전 아이패드용 eBanner를 출시해서 미국 앱스토어에서 판매중인데 몇몇 사용자로부터 에모지 키보드가 활성화 되지 않는다는 버그 리포트를 받았습니다. 그럴리가 하면서… 며칠 구글을 통해 검색해 본 결과 아마도 아이패드와 함께 발표된 아이폰 OS 3.2부터 이 기능이 막혀있는 것 같다는 포스팅을 발견했습니다. 아직 아이패드를 구입하지 않은 상태라 직접 확인할 방법은 없지만 애플에서는 일본 이외의 국가에서의 에모지 키보드 사용을 단속하고 있고 에모지 활성화 기능만 가진 앱 일부를 이미 퇴출시켰다고 합니다.
 다만 이미 활성화 된 경우에는 계속 사용 가능하다고하니 아이폰의 에모지 키보드 기능이 필요하신 분들은 새로운 OS로 업데이트하기 전에 혹은 에모지 활성화 앱들이 앱스토어에서 모두 사라지기 전에 활성화 시켜 놓는 것이 좋겠습니다.
 아…! eBannerPowerSnippet에서는 아이폰 에모지 키보드를 활성화 시키지 않아도 에모지를 입력할 수 있습니다. 자체 에모지 키보드가 있거든요…^^

일신우일신 – 2010년 4월 6일

No Comments

  • 애플이 아이패드 발매에 이어 아이폰 OS 4.0을 4월 8일 발표 예정이라는군요. 며칠전 iPhone SDK 3.2를 다운 받아 설치했는데 벌써 4.0 얘기가 나오니 쫓아가기도 숨가쁘네요…^^ OS 4.0을 탑재하고 출시되 것으로 예상되는 다음 버전 아이폰도 기대 됩니다.
사용자 삽입 이미지
  • 델파이용 툴바 콤포넌트 뭐 쓰시나요…? 저는 Jordan Russell의 Toolbar 2000 + TBX 조합을 자주 사용합니다. 제가 개발하는 프로젝트에서는 꼭 사용하는 콤포넌트인데 한동안 개발이 중단되어서 최신 버전의 델파이나 윈도에서 사용할 수 없었는데(데브기어의 박지훈.임프 님께서 패치하신게 있습니다만…) 아주 반가운 소식이 있네요… 이제야 알았습니다만… 몇년 된 것 같은데 오래전에 개발이 중단된 Toolbar 2000의 써드파티 콤포넌트 TBX가 개발이 재개 되었다고 하는군요. TBX의 개발자 Alex Denisov에게서 허가를 받고 Yury Plashenkov구글 코드에 올려 놓고 개발을 시작했답니다. Roy Magne KleverTBX 테마도 포함시켜서 배포할 예정이라고 합니다.  

eBanner를 이용해서 Emoji 키보드를 사용하자!

No Comments

eBanner 2.2에 추가된 Emoji 키보드 활성화 기능을 이용해서 Emoji 키보드를 사용하는 방법을 설명하려 합니다.
사용자 삽입 이미지

 위의 스크린샷 처럼 아이폰에는 예쁜 그림 문자 키보드가 내장되어 있습니다. 하지만 이 키보드는 일본에서 출시된 아이폰에서만 사용할 수 있습니다. Emoji 키보드는 기존 일본의 DOCOMO i-Mode를 시작으로 SoftBank, AU Mobile에서 판매하고 있던 휴대폰에서 이미 사용하고 있던 기능인데 아이폰에서만 지원이 안되면 판매에 영향을 줄거라 생각했을 애플이 일본에서만 사용할 수 있게  iPhone OS 2.2부터 추가해 놓은 키보드입니다. Emoji라는 단어는 絵文字(그림문자) 의 일본어 발음입니다.

 
Emoji에 대한 소개는 이쯤하고 아이폰용 전광판 앱 eBanner에서 Emoji 키보드를 활성화하는 방법을 알아보겠습니다.
  1. eBanner를 실행합니다. 앱이 없으시다면 여기서 구입하실 수 있습니다.
    사용자 삽입 이미지
  2. 스크롤되는 화면을 탭해서 왼쪽 상단에 하얀색 정보 아이콘이 나타나도록 하고 이 버튼을 눌러서 메시지 편집 화면으로 들어갑니다.
    사용자 삽입 이미지
  3. 설정 화면이 나타나면 아래 툴바 중앙에 있는 설정 버튼을 탭 합니다.
    사용자 삽입 이미지
  4. 설정 화면의 그림문자 활성화 스위치를 켜고 2~5초를 기다린 후에 홈 버튼을 눌러 앱을 종료합니다.
    사용자 삽입 이미지
  5. 아이폰 스프링보드(바탕 화면)에서 설정 프로그램을 실행하고 설정 테이블의 일반 셀을 탭합니다.
    사용자 삽입 이미지
  6. 일반 설정 화면의 키보드 셀을 탭합니다.
    사용자 삽입 이미지
  7. 키보드 설정 화면에서 다국어 키보드 셀을 탭합니다.
    사용자 삽입 이미지
  8. 다국어 키보드 테이블에서 일본어 셀을 선택하고 들어가면 기존에 없었던 이코티콘 셀이 보입니다. 이 셀을 켜준 후에 아이폰의 홈 버튼을 눌러 설정 화면을 종료하고 아이폰을 리부팅합니다.
    사용자 삽입 이미지
  9. 설정이 모두 끝났습니다. 이제는 모든 앱에서 텍스트를 입력할 때 지구본 아이콘을 눌러가며 키보드를 변경해 보면 아래 화면처럼 Emoji키보드가 보일 겁니다.
  10. 사용자 삽입 이미지

Older Entries