2013-07-16 7 views
1

이전에 정상적으로 작동 한 iOS 앱을 컴파일하는 동안 다음 오류가 발생했습니다. framework not found -fobjc-arc 나는 그것을 찾을 수없는 프레임 워크를 모른다. 아무도 내가 이것을 추적 할 수있는 곳을 알고 있니? 감사. -iOS 앱의 링크 오류

Ld /Users/baz/Library/Developer/Xcode/DerivedData/ConverserApp-awrbvmghzyuomheukcqjzijxvnai/Build/Products/Debug-iphoneos/ConverserApp.app/ConverserApp normal armv7 
cd /Users/baz/Dropbox/Code/_clients/Converser/ConverserApp 
setenv IPHONEOS_DEPLOYMENT_TARGET 6.1 
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Users/baz/Library/Developer/Xcode/DerivedData/ConverserApp-awrbvmghzyuomheukcqjzijxvnai/Build/Products/Debug-iphoneos -L/Users/baz/Dropbox/Code/_clients/Converser/ConverserApp/../mobile-api-docs.2/converser-canary -L/Users/baz/Dropbox/Code/_clients/Converser/ConverserApp/Libs/Converser -F/Users/baz/Library/Developer/Xcode/DerivedData/ConverserApp-awrbvmghzyuomheukcqjzijxvnai/Build/Products/Debug-iphoneos -F/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries -filelist /Users/baz/Library/Developer/Xcode/DerivedData/ConverserApp-awrbvmghzyuomheukcqjzijxvnai/Build/Intermediates/ConverserApp.build/Debug-iphoneos/ConverserApp.build/Objects-normal/armv7/ConverserApp.LinkFileList -dead_strip -ObjC -framework -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=6.1 -framework SystemConfiguration -framework MessageUI -framework QuartzCore -framework UIKit -framework Foundation -framework CoreGraphics -lz -framework Reveal -lVGConversationKit_universal -o /Users/baz/Library/Developer/Xcode/DerivedData/ConverserApp-awrbvmghzyuomheukcqjzijxvnai/Build/Products/Debug-iphoneos/ConverserApp.app/ConverserApp 

ld: framework not found -fobjc-arc 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+2

는 빌드 설정 확인 -> 다른 링커 플래그를하고 어딘가에서'-framework'을 찾을 수 있는지. – danielbeard

+0

링커 명령의이 부분은 * spurious * :'-framework -fobjc-arc'입니다. – trojanfoe

+0

@trojanfoe,'-framework' 만 잠재적으로 잘못되었습니다. 아마'-fobjc-arc'가 거기에 있어야합니다. –

답변

0

그것은 실제 프레임 워크 아니다는 명령 줄이 비트 포함

-framework -fobjc-arc 

잘못된합니다 - -framework 플래그가없는 다른 플래그, 프레임 워크 이름으로 따라야한다. 추가 -framework이 어디에서 왔는지 알아야합니다. 여러 올바른 -framework 플래그도 그 명령에있다 - 그들은 모두 프레임 워크의 이름이 포함되어있는 것을 알 수 : -framework MessageUI -framework QuartzCore -framework UIKit -framework Foundation -framework CoreGraphics

+0

예,하지만 오류의 원인은 무엇입니까? – trojanfoe

+0

여분의'-framework' 플래그 - 이것이 OP의 출처를 찾아서 제거해야하는 이유입니다. 또는 번갈아 가며 실제 프레임 워크의 이름을 지정하십시오. –

+0

네, 다시 말하지만, 어떻게 OP가이 문제를 해결할 수 있습니까? (이것은 Xcode에서 왔으며, 코더가 더 많은 제어를하는 Makefile이 아니라고 가정합니다). – trojanfoe

2

이동 프로젝트에 ---> 대상은 ----> 설정 ---> 기타 링커 플래그를 구축 할 수 있습니다. 값면을 클릭하고 관련없는 [프레임 워크] 값이 없는지 확인하십시오. 그렇다면 삭제하십시오. 줄 [-framework]의 패턴을 확인하십시오. 다음 줄에는 따옴표로 묶인 프레임 워크가 있습니다. 다음 줄에는 [-framework]가 있습니다. 그것은 결코 프레임 워크로 끝나지 않아야하며, 엑스트라도 없어야합니다. 이러한 링커 플래그는 컴파일 후 발생하고 바이너리가 필요한 프레임 워크와 연결되어 있는지 확인합니다.

Other Linker Flags closeup