짜증나는 iOS 4.2.1 시뮬레이터/디바이스

분류없음 2010.12.08 06:59
이미지 리소스 교체가 바로바로 반영이 안되고 기존의 것/캐시된 것을 우선으로 보여주도록 변경된 듯 싶은데(이것이 4에서 UIImage의 속도 향상이라고 지껄였던 그것인 모양...)...

자잘한 리소스 교체가 엄청나게 많고 잦은 작업 특성상 이런 변경은 매우 짜증나는 일이지요...

물론 이것은 빌드/인스톨/테스트 시간을 감축시키는 효과가 있겠지만, 저처럼 작업에서 자꾸 그림을 바꿔야 하는 일이 많은 경우는 역효과...
신고
Posted by 타이가장관

iOS 4.2의 잠수함 패치 혹은 버그???

Apple의 세계에서 삽질/Cocoa Touch로 삽질 2010.11.25 08:31
오늘 아침에 출근해 보니, 클라이언트(영국)가 iOS를 4.2로 업했는데 괴현상이 있다 해서 살펴보는 중입니다. 이거...역시 버전업때마다 애플의 짜증나는 잠수함 패치가...그리고 심지어 하나는 버그인 듯 한 것도 발견되었는데...회사의 앱의 곳곳에 사용되는 것이라 미치겠군요...뭐, 이거 제 소관이 아니니 어떻게 할 수 있는지만 얘기하고 생까려고 하는 중...

1. CATiledLayer 가 과거에는 자동으로 display 메시지가 보내졌는데, 더 이상 그렇지 않은 것 같군요. setNeedsDisplay를 보내기 전에는 그려지지 않고 멍하니 있습니다. 이건, 뭐 원래 그랬어야 되는 것 같기도 한데, 그렇다면 왜 이전에는 안그랬나...역시 애플다운 잠수함 패치입니다...--;

2. AVAudioPlayer의 stop...이건 버그같기도 한데... 일단 stop이 불리고나서 다시 play를 하면 높은 확률로 NO를 리턴하며 재생에 실패하네요. delegate를 설정해서 디코딩 실패 메시지가 오는지 살펴봐도 아무런 메시지도 날아오지 않구요...애플의 문서로 추측컨대, 코덱(하드웨어나 소프트웨어중 어느 한쪽인 것 같긴 한데...)을 잡았던 것이 stop하는 순간 풀렸다가 다음번 play시에 회복되지 않는 것 같습니다. 일단 stop대신 pause로 바꿔서 해결봤는데...영 찜찜하군요. 물론 3.2에서는 아주 잘 되던 부분이구요.

또 어떤 괴현상이 두통의 원인이 될지 기대(?)됩니다...
신고
Posted by 타이가장관

Cocoa의 String Processing의 한글에 대한 지원 부족?

분류없음 2010.10.22 16:20
WWDC2010의 비디오 중에 재미있는 것이 있더군요...솔직히 재밌다기 보다 지금 급히 작업하는 것에서 필요한 것이라서 다시 살펴보다가 테스트를 해 보게 되었습니다...


	NSString *hangle = @"나는 지금 무엇을 하고 있는 것일까? 子供たちが作ったDoodle。グランプリをみんなで選ぼう。古代書面汉语称为文言文,现代书面汉语一般指現代標準漢語。現代漢語方言眾多,某些方言的口語之間差異較大,而書面語相對統一。";
	[hangle enumerateSubstringsInRange:NSMakeRange(0, [hangle length]) options:NSStringEnumerationByWords usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
		NSLog(@"%@ (%d, %d)", substring, substringRange.location, substringRange.length);	
	}];
일본어 구문은 구글에서, 중국어 구문은 위키피디아의 중국어에 대한 중국어 해설에서 긁어다 붙인 것입니다. 

이전에 단어끼리 자르는 것은 상당히 고민을 했던 부분인데(다국어 지원에서 단어단위로 잘라야 하는데, 간단히 생각하면 공백에서 자르거나 할 수 있으나, 기본적으로 일본어나 중국어는 공백을 안쓴다는 문제점이...) 이번에 이런 간단한 방법이 있다는 것을 이제야 알고 테스트를 해 봤습니다.

기대를 가지고 결과를...
그 결과는...

2010-10-22 20:05:42.005 QBookExtendedLayoutTool[1038:a0f] 나는 (0, 2)

2010-10-22 20:05:42.006 QBookExtendedLayoutTool[1038:a0f] 지금 (3, 2)

2010-10-22 20:05:42.007 QBookExtendedLayoutTool[1038:a0f] 무엇을 (6, 3)

2010-10-22 20:05:42.007 QBookExtendedLayoutTool[1038:a0f] 하고 (10, 2)

2010-10-22 20:05:42.008 QBookExtendedLayoutTool[1038:a0f] 있는 (13, 2)

2010-10-22 20:05:42.011 QBookExtendedLayoutTool[1038:a0f] 것일까 (16, 3)

2010-10-22 20:05:42.012 QBookExtendedLayoutTool[1038:a0f] 子供 (21, 2)

2010-10-22 20:05:42.013 QBookExtendedLayoutTool[1038:a0f] たち (23, 2)

2010-10-22 20:05:42.014 QBookExtendedLayoutTool[1038:a0f] (25, 1)

2010-10-22 20:05:42.014 QBookExtendedLayoutTool[1038:a0f] 作っ (26, 2)

2010-10-22 20:05:42.015 QBookExtendedLayoutTool[1038:a0f] (28, 1)

2010-10-22 20:05:42.016 QBookExtendedLayoutTool[1038:a0f] Doodle (29, 6)

2010-10-22 20:05:42.016 QBookExtendedLayoutTool[1038:a0f] グランプリ (36, 5)

2010-10-22 20:05:42.017 QBookExtendedLayoutTool[1038:a0f] (41, 1)

2010-10-22 20:05:42.018 QBookExtendedLayoutTool[1038:a0f] みんな (42, 3)

2010-10-22 20:05:42.019 QBookExtendedLayoutTool[1038:a0f] (45, 1)

2010-10-22 20:05:42.020 QBookExtendedLayoutTool[1038:a0f] 選ぼ (46, 2)

2010-10-22 20:05:42.020 QBookExtendedLayoutTool[1038:a0f] (48, 1)

2010-10-22 20:05:42.022 QBookExtendedLayoutTool[1038:a0f] 古代 (50, 2)

2010-10-22 20:05:42.022 QBookExtendedLayoutTool[1038:a0f] 書面 (52, 2)

2010-10-22 20:05:42.023 QBookExtendedLayoutTool[1038:a0f] (54, 1)

2010-10-22 20:05:42.024 QBookExtendedLayoutTool[1038:a0f] 语称 (55, 2)

2010-10-22 20:05:42.024 QBookExtendedLayoutTool[1038:a0f] (57, 1)

2010-10-22 20:05:42.025 QBookExtendedLayoutTool[1038:a0f] 文言 (58, 2)

2010-10-22 20:05:42.026 QBookExtendedLayoutTool[1038:a0f] (60, 1)

2010-10-22 20:05:42.026 QBookExtendedLayoutTool[1038:a0f] 现代 (62, 2)

2010-10-22 20:05:42.028 QBookExtendedLayoutTool[1038:a0f] 书面 (64, 2)

2010-10-22 20:05:42.051 QBookExtendedLayoutTool[1038:a0f] 汉语 (66, 2)

2010-10-22 20:05:42.053 QBookExtendedLayoutTool[1038:a0f] 一般 (68, 2)

2010-10-22 20:05:42.055 QBookExtendedLayoutTool[1038:a0f] (70, 1)

2010-10-22 20:05:42.056 QBookExtendedLayoutTool[1038:a0f] 現代 (71, 2)

2010-10-22 20:05:42.056 QBookExtendedLayoutTool[1038:a0f] 標準 (73, 2)

2010-10-22 20:05:42.057 QBookExtendedLayoutTool[1038:a0f] 漢語 (75, 2)

2010-10-22 20:05:42.058 QBookExtendedLayoutTool[1038:a0f] 現代 (78, 2)

2010-10-22 20:05:42.058 QBookExtendedLayoutTool[1038:a0f] 漢語 (80, 2)

2010-10-22 20:05:42.062 QBookExtendedLayoutTool[1038:a0f] 方言 (82, 2)

2010-10-22 20:05:42.063 QBookExtendedLayoutTool[1038:a0f] 眾多 (84, 2)

2010-10-22 20:05:42.064 QBookExtendedLayoutTool[1038:a0f] (87, 1)

2010-10-22 20:05:42.065 QBookExtendedLayoutTool[1038:a0f] (88, 1)

2010-10-22 20:05:42.065 QBookExtendedLayoutTool[1038:a0f] 方言 (89, 2)

2010-10-22 20:05:42.066 QBookExtendedLayoutTool[1038:a0f] (91, 1)

2010-10-22 20:05:42.067 QBookExtendedLayoutTool[1038:a0f] 口語 (92, 2)

2010-10-22 20:05:42.067 QBookExtendedLayoutTool[1038:a0f] (94, 1)

2010-10-22 20:05:42.068 QBookExtendedLayoutTool[1038:a0f] (95, 1)

2010-10-22 20:05:42.068 QBookExtendedLayoutTool[1038:a0f] 差異 (96, 2)

2010-10-22 20:05:42.069 QBookExtendedLayoutTool[1038:a0f] (98, 1)

2010-10-22 20:05:42.070 QBookExtendedLayoutTool[1038:a0f] (99, 1)

2010-10-22 20:05:42.071 QBookExtendedLayoutTool[1038:a0f] (101, 1)

2010-10-22 20:05:42.072 QBookExtendedLayoutTool[1038:a0f] 書面 (102, 2)

2010-10-22 20:05:42.073 QBookExtendedLayoutTool[1038:a0f] (104, 1)

2010-10-22 20:05:42.073 QBookExtendedLayoutTool[1038:a0f] (105, 1)

2010-10-22 20:05:42.074 QBookExtendedLayoutTool[1038:a0f] (106, 1)

2010-10-22 20:05:42.074 QBookExtendedLayoutTool[1038:a0f] 統一 (107, 2)


결과는 이렇게 나오네요.
프로그램 이름은 지금 작업중인 무언가이고...

일단 척 보니 일본어/중국어는 꽤 제대로 구문에 따라, 의미에 따라 단어를 잘 쪼개는 것으로 보입니다. 그러나 문제는 한국어...한국어는 그냥 공백에서 잘랐군요. 일본어는 조사에 해당하는 것을 단어로 취급하고 있는데( (41, 1))...추측컨대, 일단 해당 언어의 사전을 가지고 있다가그 사전을 가지고 매칭 테스트를 하는 것으로 여겨집니다. 그러나...한국어는?

역시 한국어는 상당히 다루기가 까다로운 부분이 있는 것 같군요. 하기야 일본어나 중국어처럼 사전적인 매칭으로 단어를 구별해 내는 것이 한국어에는 그다지 통하지 않을것으로 생각되니까, 그리고 공백 문자가 지원되는 언어니까...그냥 저렇게 영어처럼 처리한 것으로 느껴집니다.

그래서 회사에서 이번에 한국어 지원하지! 하면 좀 빡빡할 듯...제가 한국인이라서 회사에서도 한국어는 쉽게 될것이라 생각할지도 모르지만...

아무튼 한국어와 아랍어(와 히브리어)가 역시 고난도인듯(아랍어는 또한 글자들끼리 접착되어 다른 Glyph를 보여줘야 하는 Ligature가 반드시 지원되어야 하기에 상당히 골때릴 것으로 예상되네요. 회사의 제품이 단어는 물론 글자 단위로 쪼개서 애니메이션을 하거나 하는 것이 포인트라서 말이죠)...
신고
Posted by 타이가장관


티스토리 툴바