정말 오랜만의 글이네요.

 자바스크립트로 모바일 앱을 개발할 경우 모바일의 회전에 맞춰 인터페이스를 바꿔줘야 하는 경우가 있습니다.

   이 경우 'orientationchange'라는 이벤트에 함수를 바인딩하면 모바일 기기가 회전할 때 마다 콜백 함수를 호출받을 수 있습니다.

$(window).bind('orientationchange', updateOrientation);

function updateOrientation() {
            orientation = window.innerWidth < window.innerHeight ? 'profile' : 'landscape';

            $body.removeClass('profile landscape')
                        .addClass(orientation)
                        .trigger('turn', {orientation: orientation});

            // scrollTo(0, 0);
}

JQTouch 라이브러리 내에 존재하는 코드 중 하나입니다.
기기 회전 시 HTML의 body에 'landscape'또는 'profile' 클래스를 추가하죠.


 하지만  특정 경우(특히 아이패드 환경)에서는 이 'orientationchange' 이벤트가 호출되지 않는다고 합니다.
 여러가지 원인이 있는 것 같은데, 아직 확실하게 고쳐지지 않은 것 같네요.

 이 경우에는 'orientationChanged'라는 이벤트를 이용해 보세요.

$(window).bind('orientationChanged', updateOrientation);

function updateOrientation() {
            orientation = window.innerWidth > window.innerHeight ? 'profile' : 'landscape';

            $("ul li textarea").removeClass('profile landscape')
                                      .addClass(orientation)
                                      .trigger('turn', {orientation: orientation});
  }

 단 이 이벤트의 경우 기기가 회전하기 전에 호출되는 것 같더군요.
 가령 회전 전 상태가 가로이면, 가로 상태로 함수가 호출되고 이후에 회전을 시작합니다.
 
 왠지 이벤트가 거꾸로 먹는 것 같으면 이 부분을 의심해보세요 ㅎㅎ

Posted by 강성희 Trackback 0 : Comment 0


Missing dependency target "PhoneGapLib (from PhoneGapLib.xcodeproj)"

cp: /javascripts/phonegap.js: No such file or directory

Command /Developer/Library/PrivateFrameworks/DevToolsCore.framework/
Resources/pbxcp failed with exit code 1
/Applications/eclipse/pg/phonegap-iphone/PhoneGapTutorial/Classes/
PhoneGapTutorialAppDelegate.h:10:0 /Applications/eclipse/pg/phonegap-
iphone/PhoneGapTutorial/Classes/PhoneGapTutorialAppDelegate.h:10:29:
error: PhoneGapDelegate.h: No such file or directory

/Applications/eclipse/pg/phonegap-iphone/PhoneGapTutorial/Classes/
PhoneGapTutorialAppDelegate.h:12:0 /Applications/eclipse/pg/phonegap-
iphone/PhoneGapTutorial/Classes/PhoneGapTutorialAppDelegate.h:12:
error: cannot find interface declaration for 'PhoneGapDelegate',
superclass of 'PhoneGapTutorialAppDelegate'

 폰갭 어플리케이션 빌드 시 다음과 흡사한 메시지가 뜨는 경우가 있습니다.
 대략 15개의 에러와 8개의 경고 메시지가 뜨며, 당연하지만 빌드는 실패합니다.

 확인 결과 인스톨러의 문제로 판명되었고, 기트허브(GitHub) 저장소에서 새로운 버전의 소스코드를 다운받아 설치하시면 해결됩니다.
 최근에는 수정판이 폰갭 홈페이지 에 올라왔으므로, 홈페이지에서 다운받으셔도 무방합니다.


 공개된지 오랜 시간이 지났지만 아직 자잘한 버그가 많네요.
 저번에도 설치 오류때문에 제대로 고생했는데... 왠만한 분들은 시작도 못 해보고 포기하게 생겼네요.
 그래도 이런 상황에서 수 많은 관련 자료와 서적까지 출간되는 걸 보면, 폰갭에 대한 기대감이 상당한 듯 싶습니다.



Posted by 강성희 Trackback 0 : Comment 0



 생각보다 일찍 번역본이 나왔네요.
 쳇, 이러면 고생하면서 원서로 읽은 보람이 없잖아... ㅡ_ㅡ

 일단 짧습니다. 원서 기준 167페이지!
 그럼에도 불구하고 필요한 내용은 거진 다 들어있습니다. 정말 굉장하죠.
 (개인적으로 쓰레기에 근접한 서적으로 평가하는 어떤 책과는 다릅니다)

 많은 분들이 폰갭 활용이 이 책의 핵심이라고 생각하시지만,
 실제로는 jQuery플러그인 중 하나인 jQTouch가 이 책의 핵심입니다.

 저 jQTouch을 통해서 지-_-랄같은 대쉬코드의 늪에서 벗어날 수 있죠.
 jQTouch를 쓰면서 내가 왜 대쉬코드 따위에 얽매였는지 후회스러울 정도입니다.(..)

 책의 기본은 웹 기반 어플리케이션 개발을 표방하는 만큼,
 처음에는 모바일 웹에서의 HTML, CSS, javascript활용에 대한 간단한 언급을 한 후,
 이후 jQuery를 활용하는 방법과, jQTouch를 이용한 좀 더 리치한 UI작성을 보여줍니다.

 이후 클라이언트에서의 데이터 저장 방법, 폰갭을 이용한 어플리케이션 배포 등등
 어플 개발을 위한 기타 몇몇가지 부분을 설명한 후 마무리.


 참 간단하면서도 필요한 것만 꼼꼼하게 설명해 주는 바람직한 서적입니다.
 왠만하면 내년 쯤 번역되었으면 했던 원서 애독자의 뜻을 이해해주지 못하다니 안타깝네요(..)

 이 책 이후에 읽어야 할 서적으로는 핵심만 골라 배우는 스마트폰 웹 개발이 있습니다.
 참고로 저는 원서로 읽을 생각이었으나 이미 번역이 되어있군요.
 원서도 참 전략적으로 읽어야겠다는 생각이 듭니다.(..)

 여하튼 좋은 책입니다. 모바일 웹&어플리케이션 개발자들은 필독!

 
IPHONEAPPS개발하기
카테고리 컴퓨터/IT > 프로그래밍/언어 > 웹프로그래밍 > HTML+JAVASCRIPT
지은이 조나단 스타크 (아이티씨, 2010년)
상세보기


Posted by 강성희 Trackback 0 : Comment 2
prev 1 2 3 4 5 ... 14 next