본문 바로가기

Development

(89)
Xcode 에 디바이스 연결해서 테스트 오류. 오랜만에 ipad UI 를 수정할 일이 있는데 디바이스에 연결하니, The version of IOS on "John_Kim의 iPad" ids not supported by this installation of the IOS SDK.Please restore the device to a version of the OS listed below, or update to the latest version of the IOS SDK, Which is abailable here . 이런 오류가 발생한다. Xcode 4.5 버전에 iOS 6.1.2 버전 사용 중이었슴. 아마 SDK 버전이 맞지 않아서 이런 오류가 발생하는 것으로 추정.구글링 해보니 SDK 업데이트만 해주면 된다고 한다.(SDK 업데이트 하기 위해..
eclipse 에 maven, spring, android, svn 플러그인 설치하기. 오랜만에 포스팅을 한다.무려 3개월만인가? 그동안 조금 바쁘긴 한 모양이다. 정확하게 말하면 "플러그인 설치 삽질기" 가 맞겠다. 안드로이드 개발할때만 eclipse 잠깐씩 사용하고 대부분을 intellij 만 사용하고 있는데 이번에 강의준비때문에 몇년만에 다시 eclipse 를 (juno 버전으로) 설치했다. 필요한 플러그인들 이것저것 설치했다.maven, spring, svn 의 순서로 일단 설치.예전엔 install new software 에서 url 찾아서 설치했었는데 이젠 marketplace 에서 편리하게 검색하고 설치가 가능하다. 먼저 maven 설치. 설치 성공. 다음은 spring 설치. 설치 성공. 다음은 svn 설치. 설치 성공. 참고로 svn 을 설치한 뒤 재시작하면 svn conn..
protocol 과 delegate 기본 사용법. protocol 과 delegate 로 삽질 좀 했다.시간이 지나면 잊어버릴까봐 기록으로 남긴다. protocol 과 delegate 의 개념 등등은 책을 참고로 하기로 하고 여기서는 예제코드로 설명한다. 사실 알고보면 사용법은 아주 간단하다.여기서는 JWKLockViewController(줄여서 lock) 에서 JWKNewPasswordViewController(줄여서 new) 로 화면을 전환하면서 lock 뷰가 가지고 있던 데이터를 new 뷰로 같이 넘겨주기 위해서 사용한다. 아래의 소스를 보면 lock.h 에서 델리게이트를 사용하기위해서 정의를 하고 사용하는 메소드도 같이 정의했다.그리고 delegate 프로퍼티도 정의했다.여기서 중요한 점은 delegate 프로퍼티형은 weak 이다. > JWKL..
Xcode 4.4 템플릿 프로젝트에 사라진 예전 템플릿 추가하기. Xcode 가 4.4 버전으로 오면서 템플릿이 많이 바뀌었다. * Xcode 4.4 템플릿 프로젝트에 Navigation-based 와 Split View-based Application 추가하는 방법. 먼저 Xcode 에 Command Line Tools 가 설치되어 있어야 한다.dmg 파일을 다운로드 받아서 설치하거나, Xcode 의 Preferences 에 들어가서 Downloads 항목을 보면 Command Line Tools 가 있는데 install 버튼을 클릭해서 설치하면 된다. 1. 아래의 주소로 들어가서 상단의 ZIP 버튼을 클릭해서 파일을 다운로드 받는다. https://github.com/icarus-for-book/ios-navigation-templete 2. 다운로드 받은 zip ..
IntelliJ 커서 설정하기. 인텔리제이를 처음 설치하면 커서가 라인 끝으로 가는 것이 아니라 마우스로 찍은 곳 어디라도 위치한다.이런 기능이 왜 필요한지는 모르겠는데 일단 불편하니 이 기능을 끄도록 한다. 위 설정화면에서 Allow placement of caret after end of line 의 체크 옵션을 선택 해제하면 된다. 한번 설정 해주면 프로그램을 삭제하지 않는 이상 건드릴 일이 거의 없으니 생각난 김에 기록해 둔다.
Thread 와 Database 의 Connection 문제. 서비스 개발이 거의 막바지에 다달았습니다. Server 쪽 개발하랴 Client 쪽 개발하랴 눈코뜰새 없이 바빴습니다만 결과물들을 보니 고생한 보람을 느낄 수 있네요. Android Client 의 형태는 탭 view 들로 되어 있으며 전체적인 형태는 카톡을 상상하시면 됩니다. 탭들이 화면 하단에 4개 있으며 해당 탭들마다 다른 view 의 내용들을 출력해주는 방식입니다. server 와 통신을 하면서 local database 에 데이터를 가져오고 보내주면서 그 데이터들을 Thread 로 처리하는 방식인데 client 에서 많은 thread 를 실행하다 보니 개발도중에 자꾸 여러가지 문제점들이 발생했었습니다. 가장 대표적인 문제점이 thread 의 database 사용에 따른 connection 과 l..
안드로이드 WebChromeClient 에서 Web 브라우저 이벤트 구현하기. 안드로이드의 WebChromeClient 에서 'alert' 이나 '윈도우 닫기' 등의 Web 브라우저 이벤트 구현하기. WebViewClient 가 아닌 WebChromClient 를 상속받는다. .......... WebView mWeb; .......... mWeb.setWebChromeClient(new MyWebChromeClient()); .......... private class MyWebChromeClient extends WebChromeClient { @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { final JsResult finalRes = result; ne..
안드로이드 WebView 화면에서 전화걸기 오작동 막기. 안드로이드 WebView 화면에서 전화번호와 비슷한 98217398217 등의 숫자로만 이루어진 컨텐츠가 있을때 터치하게 되면 전화걸기 기능으로 바로 연결되는 오작동 막기. ........ WebView mWeb; ........ mWeb.setWebViewClient(new DongYang()); ........ private class DongYang extends WebViewClient { public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("mailto:") || url.startsWith("tel:")) { return false; } view.loadUrl(url); return true;..