2011-10-21 2 views
2

내 응용 프로그램에는 개인 프레임 워크가 포함됩니다.프레임 작업 포함시 링커 오류가 발생합니까?

내 프로젝트에 프레임 워크 파일이 있습니다.

나는 응용 프로그램을 실행할 때 아래와 같은 링커 오류가 발생했습니다.

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_MessageWebLayer", referenced from: 
     objc-class-ref in MessageUIAppDelegate.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

사실이 프레임 워크는 IOS 3에서 잘 작동했지만 최대한 빨리 기본 SDK 5.0, 을 변경하면 그것은 나에게 오류를 제공합니다. MessageWebLayer는 헤더 파일의 이름입니다.

***EDIT1* ** 나는 그것이 아이폰 OS 3.2과 아이폰 OS 5.0 모두 잘 작동 샘플 프로젝트에 민간 프레임 워크를 포함하고

. 하지만 여전히 기존 프로젝트에서 오류가 발생합니다.


그러나 아무도 단서가 있다면 링크 하나를 발견했습니다. 목록에서 Nice answer but could not get it

****EDIT2* * 먼저 프로젝트에 맞는 빌드를 찾기 상태에 대답? 그러나 어떻게? 나는 곳을보고하고 경우는 /Users/company/Library/Developer/Xcode/DerivedData/MyappUI-azodwyjwfonowicennduyclhdest/Build/Products/Debug-iphonesimulator/MyappUI.app/MyappUI 정상 I386은 무엇입니까

것을 기록 마침내 그들은 i386을 썼습니까?

내 빌드와 관련이 있습니까?

답변

1

이 프레임 워크가 더 이상 포함되지 않거나 경로 또는 이름이 변경되었을 가능성이 있습니다. 개인 정보이므로 AppStore에서 승인되지 않으므로 아무도 사용하지 않아야합니다. 사설 프레임 워크는 공개 문서가 없기 때문에 Apple은 아무런 지원도하지 않을 것이므로 여기를 클릭하여 원하는대로 변경할 수 있기 때문에 모든 비용을 들이지 않아야합니다.

달성하려는 목표는 무엇입니까? 개인용 API를 사용하는 방법이 있습니까? 몇 가지 코드를 게시하면 도움이 될 수 있습니다.

2

"아키텍처 i386에서 찾을 수없는 심볼"비트는 lib가 Mac의 Intel 프로세서와 호환되는 바이너리를 가지고 있지 않음을 나타냅니다 (아마 시뮬레이터에서 실행하려고 시도한 것 같습니다). 이들은 iOS 장치에 사용되는 ARMv6/ARMv7 프로세서 아키텍처 용으로 제작되었을 가능성이 큽니다. i386 아키텍처에 적합한 빌드를 찾고 실행중인 플랫폼에 따라 조건부 링크가 필요합니다. 또는 장치에서 실행하십시오.

+0

그러나 다른 샘플 프로젝트에서 동일한 프레임 워크를 포함하면 잘 실행됩니다.하지만 링커가 Ld/Users/taxsmart2/Library/Developer/Xcode/DerivedData/MessageUI-azodwyjwfonowicennduyclhdest/빌드/제품/디버그 - iphonesimulator/MessageUI.app/MessageUI normal i386 의미는 무엇입니까? –

+0

ulator/MessageUI.app/MessageUI normal i386 그들이 리턴 한 i386 아키텍처의 의미는 무엇입니까? –

+0

당신의 대답에 당신이 올바른 빌드를 찾았다 고 말하면됩니다, 이것을 자세히 설명해 주시겠습니까? –

관련 문제