Xcode simplifies the process of sharing code between your iPhone and iPad applications by helping you update your existing iPhone projects to include the necessary files to support the new platform. The Transition command (in the Project menu) creates a new target for the iPad platform and modifies a copy of your projectʼs nib files to support the larger screen size.
Xcode simplifies the validation and submission process of your applications by allowing you to debug signed applications.
You can now easily transfer your iPhone developer identity information to a new computer. The Organizer window includes an option to export your profile and certificate information. To begin developing on a new computer, all you have to do is import the resulting data file into Xcode on that computer.
Interface Builder supports the new view controllers and window sizes available for the iPad platform.
으으음... 일단 아이폰 프로젝트와 아이패드 프로젝트 사이에 코드를 쉽게 공유할 수 있다고 한다. 당연히 그래야겠긔... .
세번째 항목은 참 반갑다. 오르가즈미 Organizer에서 프로필과 인증서를 import 해줄수 있게 되었다.
집컴과 회사컴 사이에서 개발하는 사람이라면 특히 반가울 기능이며 Rhea君 역시 마찬가지다.
마지막으로 IB에서 아이패드를 위한 새로운 기능들이 추가되었단다.
크게 호들갑을 떨진 않지만 마치 원래 있었던 하드웨어 마냥 무심한듯 쉬크하게 아이패드 이야기를 꺼내준다.
가장 관심가는 UIKit(바로 제스츄어가 여기 해당한다.)을 보면 UIBezierPath.h란 넘이 통채로 추가되었는데,
이제 스트로크 중심이 아닌 곡선을 이용한 다양한 입력이 가능할 것 같다.
물론 아이패드는 더 넓어진 스크린 덕분에 보다 다채로운 제스츄어를 기대할 수 있을 것이다.
(여기서 생각해볼 점이 있는데, 아이패드 시장까지 노린다면 Shake나 회전은 가급적 쓰지 않는게 좋을 것 같다.)
그외에도 눈에 띄는 클래스는 UIPinchGestureRecognizer.h , UIPopoverController.h, UILongPressGestureRecognizer.h 등이다. 곡선 이외에 다양한 입력방식들이 가능해졌음을 알수 있다. 특히 길게 누르기는 기존 개발자라면 가려웠던 부분이 아닐까 한다.
결론적으로 문서상 알수 있는 변화는 일단 텍스트와 제스츄어, 다시말해 가장 기본적인 출력과 입력이 추가되었다는 것이다.
물론 이들은 아이폰과 아이패드 양쪽에서 사용 가능할 것이지만 각 기기에 보다 맞는 UI가 있을 것이고 양쪽을 만족시키기 위해서는 고민이 필요할 것이다.
참고로 무분별한 Rotate는 Rhea君이 참으로 불편해하고, 싫어하는 UI이다. 제발 Rotate에 환장하지 말지어다!!!
의외로 QuartzCore는 별다른 추가가 없는데 이미 아이폰에서 QuartzCore가 완성도가 높기 때문이 아닐까 싶다.
2) 설치
3대의 맥에 돌아가며 설치하다보니, 이젠 친근하기까지 하다.
기존에 3.2.1이 설치되어 있었는데 알아서 업그레이드와 덮어쓰기를 지원해준다.
참고로 3.2 beta는 3.2.2란 버전넘버를 갖고 있다.
베타 버전이라도 과감한 설치.
3.2.2 Pre-release의 위엄
자, 두근거리는 맘을 갖고 새 프로젝트를 만들어보자.
얼래? 근데 아이패드를 위한 새로운 프로젝트 타입은 Split View-based Application 밖에 보이지 않았다.
살짝 의아해하고 있는데 기존 프로젝트 타입이 아이폰과 아이패드를 동시에 지원하기에 Product 항목에서 아이폰인지 아이패드인지를 결정하도록 되어 있었다.
아, 아이패드짱... 하악하악
정리해보면,
Navigation-based Application : 아이폰
OpenGL ES Application : 아이폰/아이패드
Split View-based Application : 아이패드
Tab Bar Application : 아이폰/아이패드
Utility Application : 아이폰
View-Based Application : 아이폰/아이패드
Window-based Application : 아이폰/아이패드
이런 식으로 프로젝트를 만들수 있다.
그런데 3.2.2에서 테스트 삼아 일단 아이폰 프로젝트를 만들어보았다. 그런데??!!!
아이폰 좆까, 아이패드!!!
깜짝 놀럤다.
기존의 아이폰 시뮬레이터가 아닌 아이패드 시뮬레이터가 아닌가?!!!
이제 무조건 아이패드 시뮬레이터로 하란 말인가 싶어 살펴보니, 아이폰 시뮬레이터가 아이폰과 아이패드를 동시에 지원하도록 되어 있었다. 아이 깜딱이야!!!!
참고로 시뮬레이터 오른쪽 하단에 보이는 2x가 바로 픽셀 더블(Pixel Double)로 기존 아이폰 애플리케이션을 2배로 사이즈를 키워주는 버튼이 되겠다.
시뮬레이터를 바꿀수 있다.
또한 기대되면 Split은 Settings에서 사용하고 있었다.
흔히 개발자들 사이에 아웃룩 (Outlook) UI라고 불리는 모습이다. 해상도가 커진만큼 앞으로 많이 사용될 형태라 여겨진다.
180도 뒤지은 형태의 아이패드와 Split View
그리고 전에 없던 기능인, 시뮬레이터를 180도 뒤집는 것이 가능해졌다. 이전에는 90도 회전 밖에 지원되지 못해,
실제 개발 라이센스가 없던 개발자들은 이 상태를 만들수가 없었다. 아이폰/아이패드 모두에게 해당하는 것으로 가려운 부분들이 해결된 셈이다...라지만 제발이지 180도 뒤짚은 상태에서는 UI를 Rotate시키지 말았으면 한다.
옆으로 누워서 볼때 무쟈게 불편하기 때문이고, 그런 앱은 다운받자마자 지워버린다.
근데 문제는 시뮬레이터로 살펴본 현재 아이패드 역시 모든 방향으로 로테이션한다.
이것이 실기계에서도 그런다면 애플넘들이 레알 미친 넘 인증이다.
물론 아이폰/아이팟은 안그럼.
아이폰도 180도 회전이 가능해졌다.
3) 마이그레이션
현실적으로 게임 개발자들에게는 애플리케이션보다는 게임 프로그램이며 아이패드로의 호환성이 궁금할 것이다.
특히 높은 인기를 누리고 있는 Cocos2d가 궁금할 것인데, 결론적으로 자알~ 됨을 확인할 수 있었다.
시뮬레이터만 맞춰주면 OK~!
기본 사이즈
...어떤 기기라도 덕질용 머신으로 바꿔버리는 정도의 능력.
어쩌면 기존 아이폰 어플리케이션들 중에서 아이패드의 혜택의 가장 기다려지는 것은 게임이 아닐까 한다.
Open GL ES 기반인지라(옴니아 좆까!) 픽셀 더블시, 단순한 픽셀 확대가 아닌 블리언 연산 등이 작동할 것이고 생각보다 더 매끄러운 화면을 얻을수 있을 것 같다. 하지만... 역시 아이폰과 아이패드를 동시에 지원하도록 리소스와 코드가 준비되는 것이 가장 좋을 것이다.
4) 아이패드 개발
아이패드 개발은 일반적인 아이폰 개발과 똑같았다. -_-;;;;
즉, IB 기반에서 컨트롤을 배치하고 속성과 액션을 부여하고 코딩을 하는 그것과 같았다.
다만 아이폰과 아이패드, 양쪽을 지원하는 프로그램을 만들수 있도록 해주는, 사소하지만 의미있는 기능(Transition to)들이 눈에 띄였다.
그런데 아이패드용 앱을 제대로 개발하기 위해서는 모니터의 세로 해상도가 최소 1024는 넘어야 할 것 같다.
아이패드는 1024 x 768 해상도이기 때문에 이를 받쳐주는 모니터가 아니라면 개발은 너무나 힘들어 보인다.
다시 말해 24인치 이하의 모니터라면 Portait 모드로 아이패드 개발은 사실상 불가능하다.
역시 한글은 불가능하다.
또한 현재 베타라는 한계 때문인지 아이패드 개발은 원할하지는 않다.
IB와 시뮬레이터간의 연계도 이해되지 못하는 부분들이 많고(IB에서 랜드스케이트로 만들어도 시뮬레이터에서는 포트레이트로만 나온다.) 수정을 바라는 기능들도 있다. 특히 아이패드에서는 openURL로 기본 웹브라우저(사파리)가 작동하지 않는데, 시뮬레이터에도 사파리가 존재하지 않아 아직 웹브라우저를 추가하지 못한 것 같다. 예컨데 윗 짤에서 왼쪽 중간의 텅빈 부분이 WebView이다. 에러는 나지 않지만 브라우저는 뜨지 않았다.
5) 그래서...
처음에는 살짝 구경만 하고, 다시 예전 버전을 재설치할려고 했으나 벌써 아이패드 코딩질에 살짝 재미를 느껴버렸다.
생각만큼 불안한 부분도 없기에 한동안 이 버전으로 현재 만들고 있는 프로젝트를 계속 코딩해나가야겠다.
또한 아이패드는 더 커진 아이팟 터치인게, 남들에게는 몰라도 최소한 개발자들에는 아주 잘된 일일 것이다.
기존 API를 그대로 사용할 수 있으니까.
하지만 아이패드가 가지는 의미는 언론의 컴맹기자들과 삼숑관계자들의 의견과는 사뭇 다르다.
물론 하드웨어 자체로 보면 1024 x 768의 아이팟이 맞다.
그러나 사이즈의 변화로 일어날 앞으로의 파장은 어떤 사람들은 애써 부인하고 싶어도 명백하게 보인다. 바로 또하나의 시장이 생긴 것이다.
그리고 제발이지 MS도 빨리 이런 재미있는 물건을 만들어 주길 바란다.
여전히 XCode보다는 Visual Studio가 훨 더 편리한 개발툴이라 여겨지기 때문이다.