맥을 쓰다보니


어느 순간부터 느리다.


Activity Monitor 로 확인해보니 inactive memory 가 절반!!;ㅁ;


내부 문제인지는 모르겠으나 일단 난 재부팅 이외의 방법이 찾고 싶었고


purge 라는 명령어를 쉘에서 입력하면 inactive 파랑 => free 초록 으로 바뀐다.


단, purge 명령을 자주 사용하진 말라는 경고가 있다.


바쁜 작업 끝나면 좀ㄷ ㅓ 알아봐야겠어


그나저나 내가 신청한 책은 언제 오는거야 ㅠ

Go to Organizer and click Projects tab,


and delete duplicate projects.


After opening a Xcode again,


it has indexed and works!!

xcode 4.2 에서 LLVM으로 컴파일러가 바뀌면서 armv6를 지원하지 않는데

그래서 그런가 버그가 종종 발견된다.

이번에 발견된 버그는 CGSize에 잘못된 값이 들어가는 현상!!

아이팟 2세대에서 확인해보니 유동적인 UI프레임이 엉망진창으로 배열되고 있었다. 

이 현상은 release/debug 모드가 아니라 appsotre 로 build 했을 때 발생했는데 

사람들은 컴파일러의 버그가 아닌가 예상하고 있다. 

그래서 임시방편으론 CGSize 변수를 한번 더 재정의 한것

sizeOfCell = CGSizeMake(sizeOfCell.width, sizeOfCell.height); 

이 현상은 CGPoint에서도 발생한다고 한다.

armv6를 지원하는 앱을 개발중이라면 고려해야할 부분이리라. 


>> Other C flags 에 -mno-thumb 을 주면 된다는데 맞낭? 
+설명

xcode4.2에서는 armv6를 지원하지 않으므로 빌드 셋팅에서 아키텍처에서 armv6를 추가해주면

왠만한건 잘 돌아가는데 앞에서 언급한 math관련 클래스들에서 문제가 발생.

LLVM compiler 3.0의 최적화 작업에서 문제가 생기는 것으로 추정.

LLVM compiler 3.0의 최적화 작업을 꺼 주는 옵션이 -mno-thumb

빌드 셋팅에서 Other C flags 항목에 이 옵션을 추가해주면 잘 돌아간단다.
(잘 안되면 clean을 한번 해주는 것이 ㅋㅋ)

아 구글링의 힘!! ㅋㅋ 

옵션을 줘도 되지만 그림과 같이 optimization level 단에서 debug/release/appstore을 분기 처리하면 더 안정된 서비스를 제공할 수 있을 듯.
armv6를 추가 하면 아래 그림과는 좀 다르게 바뀌는데 armv6냐 armv7이냐에 따라 optimization을 사용할지 none을 할지 설정하면 됨. 아 뭔가 오늘 아무것도 안한건 아니라서 좋구나 - 뭐... 결국은 과장님이 찾아내신거지만... 하나 건졌으니 좋아좋아!!

 

+ Recent posts