2013-04-02 2 views
3

iPhone 게임을 만들고 있는데 데이터 파일에 YAML을 사용하고 싶습니다. this question 덕분에 나는 앞서 가서 syck library을 얻었습니다. 필자는 xCode를 사용하여 라이브러리를 컴파일하고 프레임 워크를 프로젝트 [1]로 가져올 수있었습니다. 내 코드는 성공적으로 헤더 파일을 가져오고 엑스 코드는 심지어 완료를 발견,하지만 난 다음 코드를 실행하려고하면, 내가 잘못된 선택 예외가 :yaml 프레임 워크에 연결하는 데 문제가 있습니다.

NSMutableArray *arr = [[NSMutableArray arrayWithCapacity:4] retain]; 

[arr addObject:@"FOO BAR BAZ QUUX"]; 
[arr addObject:@"FOO BAR BAZ QUUX"]; 
[arr addObject:@"FOO BAR BAZ QUUX"]; 
[arr addObject:@"FOO BAR BAZ QUUX"]; 

NSLog([arr yamlDescriptionWithIndent:0]); 
[arr release]; 

입니다 오류가 나는 얻을 :

2013-04-01 23:27:50.530 PhaseWrath[13910:207] -[__NSArrayM yamlDescriptionWithIndent:]: unrecognized selector sent to instance 0x5548a30 
2013-04-01 23:27:50.533 PhaseWrath[13910:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM yamlDescriptionWithIndent:]: unrecognized selector sent to instance 0x5548a30' 
*** Call stack at first throw: 
(
    0 CoreFoundation      0x0145f5a9 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x015b3313 objc_exception_throw + 44 
    2 CoreFoundation      0x014610bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 
    3 CoreFoundation      0x013d0966 ___forwarding___ + 966 
    4 CoreFoundation      0x013d0522 _CF_forwarding_prep_0 + 50 
    5 PhaseWrath       0x00005e85 +[Skeleton initialize] + 517 
    6 libobjc.A.dylib      0x015b3d9b _class_initialize + 380 
    7 libobjc.A.dylib      0x015bb73f prepareForMethodLookup + 73 
... 

헤더 파일이 파싱 된 것처럼 보이지만 라이브러리 코드가 실제로 링크 된 지점에서 문제가 발생합니다 ... 어떤 아이디어입니까? 나는 xCode와 iPhone을 일반적으로 개발하기에 새로운 경험이있다.

[1] 내가 잘못하면 아마도이 단계에 있었던 것입니다.

+0

당신이 엑스 코드에서 볼 수있는 정확한 오류가 무엇입니까? –

+0

@StuartM : 질문 업데이트 – Claudiu

+0

Xcode에서 '기타 링커 플래그'빌드 설정이 무엇을 말합니까? 가능한 한 가지 문제점에 대한 내 대답을 참조하십시오. –

답변

1

빌드 설정에 -ObjC-all_load 링커 플래그를 전달합니까? Objective-C 범주 (Syck가 NSArray 및 기타 기본 클래스에 메서드를 추가하는 데 사용하는 클래스)가 포함 된 라이브러리에 연결할 때 필요합니다. 다음은 자세한 내용보기 :

+0

오늘 밤 집에 갈 때 나는 그것을 조사 할 것이다. 그것은 유망한 것으로 보인다. 기본 설정이 무엇이든간에 사용하고 있습니다 ... 왜 기본적으로 설정되지 않는지 궁금합니다. – Claudiu

+0

예, 방금 확인했는데 그 깃발은 이미 있습니다 ... 다른 생각은 없나요? – Claudiu

+0

카테고리가 아닌'yaml_parse' 함수도 사용할 수 없으므로 카테고리 관련 문제는 아닙니다. – Claudiu

관련 문제