2009-07-22 3 views
2

NSData (base64 extension)의 확장을 추가했습니다.이 인프라는 별도의 인프라 클래스 lib 프로젝트에 보관되었습니다. 그러나 내가이 프로젝트를 주 프로젝트에서 사용할 때 "- [NSConcreteData encodeBase64] : 인스턴스 0x121e60으로 보낸 인식 할 수없는 선택기"와 같은 오류가 발생합니다.NSConcreteData와 NSData

하지만 내 프로젝트 자체에 동일한 클래스를 유지하면 문제없이 실행됩니다.

이 메서드는 다음과 같은 방식으로 호출합니다. [dev setToken : [token encodeBase64]];

다른 프로젝트에 내선 번호를 추가하면 이것이 작동하지 않는 이유를 제안하십시오. (이미 NSDate와 같은 다른 확장 기능을 이미 사용하고 있습니다.)

답변

0

카테고리를 구성하는 데 필요한 메타 데이터는 대개 링커에서 제거 되었기 때문에 제거됩니다. "-ObjC"LDFLAG를 프로젝트에 추가하면 링커에게 모든 잠재적 인 ObjC 정보가 링크 된 것처럼 보이더라도 링크하도록 지시합니다.

+0

'기타 연결된 플래그'에 -ObjC를 이미 추가했습니다. – Sreehari

+0

앱 또는 라이브러리의 플래그가 맞습니까? –

+0

app 및 lib에 모두 추가했습니다. – Sreehari

3

iPhone OS 3.0에 있습니까? 3.0 SDK broke the use of -ObjC이지만 일반적으로 대상 응용 프로그램 내의 다른 링커 플래그에 -all_load 옵션을 추가하여 정적 라이브러리의 범주를 연결할 수 있습니다.

관련 문제