‘Xcode’ 카테고리의 보관물
iOSDev, CoreData, Warning, Receiver ‘NSManagedObjectContext’ is a forward class and corresponding @interface may not exist
Receiver ‘NSManagedObjectContext’ is a forward class and corresponding @interface may not exist
해결 :
Supporting Files / ProjectName-Prefix.pch 에 #import <CoreData/CoreData.h> 추가
예)
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
#endif
Xcode 4.2, TODO, FIXME, ???, !!! 등등 개발 예약어 활용
출처 : http://stackoverflow.com/questions/5891193/xcode-using-fixme-todo
Xcode 개발에서 TODO, FIXME 같은 예약어를 잘 사용하는 것도
버그를 줄이고 실수를 반복하지 않으면서 개발 할 수 있는 한가지 방법일 것 같다.
개인이 개발할때도 유용하지만 여러명이서 협업을 할때 꼭 필요하지 않을까? 생각한다.
Xcode 3.x 대에서는 FIXME가 메소드 안에서도 작동을 했지만,
Xcode 4.x 대로 올라가면서 메소드 안에서는 버그(?)로 바로가기(점프?) 목록에 표시되지 않는다.
여기서 설명은 3가지로 하겠다.
- 기본적인 예약어 쓰임.
- Xcode 4.2 버전에서 예약어 사용을 위한 스크립트.
- #warning, #error 사용.
1. 기본적인 예약어 쓰임.
다음은 프로그램 하면서 쓸 수 있는 예약어 이다.
(이게 전부 인지는 모르겠지만 이정도면 충분하지 않을까?)
[주의] 예약어를 맞게 잘 쓰자!
주석 예약어 : “//TODO:”, “//FIXME:”, “//???:” …
주의깊게 보셔야 할것은 띄어쓰기가 없고 뒤에 콜론이 있는 것입니다.
이것을 보고 메소드 점프 메뉴에 표시되게 됩니다.
형식을 맞춰서 사용하세요.
//MARK: "#pragma mark" 와 비슷
//TODO: 언젠간 하고 말꺼얌!
//FIXME: 이거 고쳐주삼!
//???: 이게 뭘까?
위 스샷을 보면 알겠지만, 메소드 밖에 있는 FIXME는 잘 보여지지만
메소드 안에 있는 FIXME는 보이지 않음을 볼 수 있다.
2. Xcode 4.2 버전에서 예약어 사용을 위한 스크립트.
스크립트 :
KEYWORDS="TODO|FIXME|\?\?\?:|\!\!\!:"
find ${SRCROOT} \( -name "*.h" -or -name "*.m" \) -print0 | \
xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | \
perl -p -e "s/($KEYWORDS)/ warning: \$1/"
2.1 설정 #1
2.2 설정 #2
2.3 컴파일 후 결과
3. #warning, #error 사용.
#warning TODO: 언젠간 하고 말꺼얌!
#error FIXME: 이거 고쳐주삼!
컴파일 시 워닝이 보이거나 컴파일 에러를 일으킴.
추가, #progma mark 도 쓰자.
iOSdev, PNG 최적화 스크립트.( pngcrush + advpngidat )
1. 참고 링크
2. pngcrush, advpngidat 사용법
- pngcrush (extreme)
$ pngcrush -fix -iphone -brute hello_world.png ./Resources/hello_world.png
- advpngidat
$ advpngidat -z4f Resources/hello_world.png
3. 스크립트
Xcode-OptimizePNG 를 참고해서 만든 PNG를 Extreme 최적화 시키는 스크립트입니다.
- 최적화 스크립트 : optpng.sh
※ 참고 : 첨부파일 확장자 제한으로 확장자 odt를 붙임. - 사용법 :
~/bin $ ./optpng.sh
Usage :
./optpng.sh [*.png|filename.png]








