2012-02-22 3 views
0

ios 응용 프로그램에서 하나의 코드를 다시 사용하려고합니다. 이 코드에는 mac과 ios에 대한 여러 프레임 워크가 있습니다. 어느 파일이 Mac OS 용이고 어느 것이 iOS 용인지 알지 못하므로 새로운 프로젝트, 포함 된 프레임 워크에 모두 포함되었지만 응용 프로그램 서비스 프레임 워크에 오류가 발생했습니다. 애플리케이션 서비스 프레임 워크는 iOS 용이 아닌 MAC 용으로 만 제공됩니다. 하지만 내 프로젝트에서 ApplicationServices 프레임 워크를 삭제하면 일부 클래스에서 사용되고 있기 때문에 더 많은 오류가 발생합니다. 다음은 내 오류 로그입니다.ApplicationServices 프레임 워크를 찾을 수 없습니다. ios에서 오류가 발생했습니다.

ld /Users/Library/Developer/Xcode/DerivedData/FlacPlayerUniversal-bupfypehvcjbrofyhhjbqudwhdre/Build/Products/Debug-iphonesimulator/FlacPlayerUniversal.app/FlacPlayerUniversal normal i386 
    cd "/Users/Documents/ios5 Examples/FlacPlayerUniversal" 
    setenv MACOSX_DEPLOYMENT_TARGET 10.6 
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/Library/Developer/Xcode/DerivedData/FlacPlayerUniversal-bupfypehvcjbrofyhhjbqudwhdre/Build/Products/Debug-iphonesimulator "-L/Users/Documents/ios5 Examples/FlacPlayerUniversal/opt/iphone-4.3/lib" "-L/Users/Documents/ios5 Examples/FlacPlayerUniversal/opt/iphone-simulator-4.3/lib" -F/Users/Library/Developer/Xcode/DerivedData/FlacPlayerUniversal-bupfypehvcjbrofyhhjbqudwhdre/Build/Products/Debug-iphonesimulator "-F/Users/Documents/ios5 Examples/FlacPlayerUniversal" -F/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/Developer/Library/Frameworks -filelist /Users/Library/Developer/Xcode/DerivedData/FlacPlayerUniversal-bupfypehvcjbrofyhhjbqudwhdre/Build/Intermediates/FlacPlayerUniversal.build/Debug-iphonesimulator/FlacPlayerUniversal.build/Objects-normal/i386/FlacPlayerUniversal.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -framework CoreGraphics -framework ApplicationServices -framework Accelerate -framework CoreFoundation -framework CFNetwork -framework AudioToolbox -framework CoreAudio -framework UIKit -framework Foundation -lFLAC++ -lFLAC -lmpg123 -logg -lsndfile -lspeex -lspeexdsp -lvorbis -lvorbisenc -lvorbisfile -lwavpack -lFLAC++ -lFLAC -lmpg123 -logg -lsndfile -lspeex -lspeexdsp -lvorbis -lvorbisenc -lvorbisfile -lwavpack -o /Users/Library/Developer/Xcode/DerivedData/FlacPlayerUniversal-bupfypehvcjbrofyhhjbqudwhdre/Build/Products/Debug-iphonesimulator/FlacPlayerUniversal.app/FlacPlayerUniversal 

ld: framework not found ApplicationServices 
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang++ failed with exit code 1 

이 오류를 해결하는 데 도움을주십시오.

+2

그럼 원하는대로 수정할 수 없습니다. iOS에서 사용할 수없는 프레임 워크는 사용할 수 없습니다. OSX 프레임 워크를 사용하는 코드를 제거해야합니다. 여기 당신이 그것을 고치는데 도움이 될만한 마법적인 설정은 없습니다. 당신이 말하는 어떤 틀에 대해서 말하지 않기 때문에 특별히 그렇습니다. – rckoenes

+1

@rckoenes ApplicationServices 프레임 워크를 지정했습니다. – DeviPhone26

답변

3

OS X와 ​​iOS는 비슷하지만 프레임 워크가 다릅니다. iOS에서 사용할 수없는 OS X 프레임 워크에 의존하는 항목은 모두 제거해야합니다.

2

iOS에서는 ApplicationServices 프레임 워크를 사용할 수 없습니다. 따라서 프레임 워크를 수정하여 iOS 변형을위한 ApplicationServices 프레임 워크에 링크하지 않도록해야합니다. 따라서 iOS 용으로 컴파일 할 때 Mac OS X 특정 기능을 호출하거나 Mac OS X 특정 기호를 참조하지 않을 수도 있습니다. 달리 작동하게하는 방법은 없습니다.

관련 문제