Do Not Think!!!

Posted
Filed under 01010101
아이폰 개발을 하면서 지도를 사용하다가 발생한 문제에 대한 포스팅입니다.

아이폰 개발을 하면서 아래 그림처럼 지도를 사용했습니다.
현재 뷰에서 버튼을 누르면 지도를 보여주도록 했습니다.
그런데 지도를 닫고 나면 앱이 죽는 문제가 발생을 했습니다.
물론 지도를 닫으면서 release 를 시켰구요...

사용자 삽입 이미지

1 지도를 부르고, 2 지도를 닫고, 잠 시 후 앱이 꺼지는 문제 발생



한참을 찾아본 결과
맵뷰에 delegate 를 지정해서 사용하는데, 맵뷰가 이 delegate 를 잡고 있어서 발생한 문제였습니다.
즉, 맵뷰가 이미 release 된 delegate 에 메시지를 보내기 때문에 문제가 발생하는건데,

이 코드를
[code]- (void)dealloc {
    [mapView release];
}[/code]

이 코드처럼 수정하면 됩니다.
[code]- (void)dealloc {
    mapView.delegate = nil;
   [mapView release];
}[/code]

Posted
Filed under 01010101
저희가 만든 앱 중에 아이폰 배경화면 이라는 앱이 있습니다.

기본 텍스쳐에 아이폰 아이콘에 맞춰 프레임을 추가한 배경화면을 제공하는 앱인데,
얼마전 배경화면이 잘 안맞다는 버그 리포트가 왔습니다.

해당 문제를 수정하면서 확인한 결과,
아이폰OS 가 업데이트 되면서 아이콘 위치가 약간 변경되었네요.

오른 쪽 두 줄이 모두 오른쪽으로 2px 씩 옮겨졌고,
아래 두 줄은 아래쪽으로도 1px 씩 옮겨졌네요.

일단 수정해서 업데이트 신청을 했는데,
정확하게 아이콘 위치가 언제부터 변경이 됐는지 알 수가 없네요.


Posted
Filed under 01010101
대략 한 달 동안 클로즈베타를 진행했던 그라폴리오가 드디어 오픈베타를 시작했습니다.

사용자 삽입 이미지


그라폴리오는
디자이너들만을 위한 창조적이고 전문적인 놀이공간(The Creative Professional Playground)
으로,
쉽게 말하면 디자이너를 위한 포트폴리오 서비스입니다.

2년 전부터 디자인 회사인 디바인인터랙티브에서 서비스 기획/디자인을 진행했고, 개발만 반년이 넘게 걸렸네요.
(물론 중간에 엎어진 경우도 있었구요...)

아직은 갈 길이 먼 베타서비스지만, 누군가에게는 꼭 필요한 서비스가 되기를 기대합니다.
Posted
Filed under 01010101
1. Info.plist 파일을 수정합니다.
Bundle version 은 메인넘버
Bundle version string, short 는 빌드넘버로 사용합니다.

Bundle version 은 이미 있기 때문에,
Bundle version string, short 만 새로 추가합니다.
(Value = 0)
사용자 삽입 이미지



2. build number 를 자동으로 증가시켜주는 스크립트를 추가합니다.
[code]#!/bin/bash
# Auto Increment Version Script
buildPlist="Info.plist"
CFBuildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $buildPlist)
CFBuildNumber=$(($CFBuildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $CFBuildNumber" $buildPlist
[/code]
사용자 삽입 이미지


3. 빌드시, debug 모드를 확인하도록 Configuration : Debug 인 경우에만 다음 플래그를 추가합니다.
[code]Other C Flags : -DDEBUG=1
[/code]
사용자 삽입 이미지


4. debug 모드일 경우에만 버전 넘버를 보여주도록 코드를 작성합니다.
[code]#ifdef DEBUG
    NSString *versionNumber = [[[NSBundle bundleForClass:[self class]] infoDictionary] objectForKey:@"CFBundleVersion"];
    NSString *buildNumber = [[[NSBundle bundleForClass:[self class]] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
   
    NSLog(@"build number: %@ - %@", versionNumber, buildNumber);
   
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 20, 320, 20)];
    label.text = [NSString stringWithFormat:@"build number: %@ - %@", versionNumber, buildNumber];
    label.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:.5];
    label.textColor = [UIColor whiteColor];
    label.font = [UIFont systemFontOfSize:12];
    label.alpha = .5;
    [window addSubview:label];
    [label release];
#endif
[/code]
사용자 삽입 이미지



Posted
Filed under 01010101
Aptana Studio 3가 아직 베타버전이기는 하지만, 매우 빠르게 개발이 되고 있습니다.

지금 PHP 웹프로그래밍을 하면서 Eclipse PDT + Aptana Studio 2 plugin 을 사용하고 있는데,
HTML, CSS, JavaScript 코딩하는데 아주 편합니다.
Aptana Studio 2 에서 PHP 지원이 빠져서 PDT 로 사용을 했는데요...
Aptana Studio 3 에서는 PHP 지원이 포함된다고 하네요.
아직 PHP 지원이 완전하게 되는것은 아니라 사용을 못하고 있는데, 얼른 정식 버전이 나왔으면 좋겠습니다.

Aptana Studio 2 Release Notes
사용자 삽입 이미지







Posted
Filed under 01010101
소문으로 돌던 Xcode 4 가 나왔습니다.
아직 정식 버전은 아니고 developer preview 버전입니다.



설치를 하고 처음 실행하면 나오는 화면입니다.
사용자 삽입 이미지



일단 새로운 프로젝트를 만들어 봅니다.
사용자 삽입 이미지



Bundle Identifier 를 입력하는 화면이 나오네요.
사용자 삽입 이미지



일단 바탕화면에 저장을 합니다.
사용자 삽입 이미지



프로젝트가 만들어지면 나오는 화면입니다.
Xcode 3.2 와는 많이 다르네요.
첫 화면에서 iOS 버전을 선택할 수 있고,
Debug, Release 설정도 할 수 있고,
언어도 바로 추가할 수 있네요.
사용자 삽입 이미지



일단 기본 상태로 빌드해서 시뮬레이터로 실행을 시켜봅니다.
시뮬레이터는 크게 변한게 없어 보입니다.
사용자 삽입 이미지



인터페이스빌더가 포함되어 있습니다.
xib 파일을 열면 이렇게 나옵니다.
다만 한 화면에 다 나오다 보니, 작은 화면에서는 불편할 것 같습니다.
사용자 삽입 이미지



설정창이 화면 오른쪽에 있습니다.
사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지



Xcode 를 사용하면서 제일 큰 불만중 하나였던 SCM 연동 기능도 업그레이드 되었습니다.
Subversion에 접속한 모습입니다.
사용자 삽입 이미지



프로젝트를 새로 Checkout 받습니다.
사용자 삽입 이미지



파일을 하나 수정해봤습니다.
수정 표시(M) 가 바로 뜨네요.
사용자 삽입 이미지



파일 버전 비교를 하는 화면인데, 서버에서 뭔가 라이브러리를 다운받고 있다고 나오면서 제대로 동작을 안하네요.
서로 다른 내용이 어떻게 표시되는지 확인을 못해봤습니다.
사용자 삽입 이미지




제대로된 사용은 정식 버전이 나와고  실제 프로젝트에 사용을 해봐야 알 수 있겠지만,
그래도 Xcode 4 첫 인상은 매우 좋습니다.



Posted
Filed under 01010101
그동안 두 개의 앱을 만들어서 앱스토어에 등록했습니다.

두 앱 모두 아이폰 3Gs 를 타겟으로 만들었기 때문에 iOS 4 로 업그레이드한 아이폰에서는 문제가 있을 수도 있습니다.

다행히 뉴스피커는 아무 문제없이 동작하지만,
픽툰은 iOS 4 에서 실행이 되지 않습니다.

iOS 4 가 정식으로 등록되기 전에 이 문제를 수정하고, 멀티태스킹을 지원 기능을 추가해서 업데이트 등록을 했습니다.
호기 iOS 4 에서 픽툰이 실행되지 않는다면 픽툰을 업데이트 해주세요~


사용자 삽입 이미지

뉴스피커

사용자 삽입 이미지

픽툰


Posted
Filed under 01010101
html5 발표 자료를 보다가, 제 컴퓨터에 설치된 브라우저는 html5를 얼마나 지원하는지 확인해봤습니다.
사파리가 점수가 제일 높고, 오페라 점수가 생각보다 낮게 나오네요.

사용자 삽입 이미지

Firefox 3.6.6 on Ubuntu 10.04




사용자 삽입 이미지

Opera 10.11 on Ubuntu 10.04




사용자 삽입 이미지

크롬 5.0.375.86 on Ubuntu 10.04




사용자 삽입 이미지

Safari 5.0 on Mac OS X 10.6.4


Posted
Filed under 01010101
MySQL Workbench 가 업데이트 되면서 따로 나누어져 있었던 MySQL GUI Tools 를 모두 포함시켰네요.
(MySQL Workbench 는 데이터 모델링 툴이고, MySQL GUI Tools 은 MySQL 관리 툴 (MySQL Administrator, MySQL Query Browser 등) 입니다.)

개발 툴로서는 MSSQL GUI 툴을 못따라간다고 생각했었는데 점점 좋아지네요 :)

사용자 삽입 이미지

MySQL Workbench 시작 화면



사용자 삽입 이미지

기존 Query Browser



사용자 삽입 이미지

데이터 모델링 툴



사용자 삽입 이미지

admin 툴