2014-08-29 4 views
0

Swift (OS X Mavericks의 Xcode 6 Beta 6)로 작성된 내 Cocoa 응용 프로그램에서 번들 리소스를 사용하고 싶습니다. Is는 외부 라이브러리를 사용하지 않고 WebKit.framework 만 사용합니다. 나는 내가 쓴 코드와 홀수 링커 문제가 발생하여이 코드에서 두 번째 줄에 줄일 수 :기초 프레임 워크에서 단일 메소드의 심볼을 정의 할 수 있습니까?

var bundle = NSBundle.mainBundle() 

// Leads to linker error! 
var path = bundle.pathForResource(resource, ofType: "js") 

을 내가 컴파일과 잘 실행 pathForResource 줄을 주석으로합니다. 그렇지 않으면 빌드가 실패하게됩니다.

Ld /Users/Peter/Library/Developer/Xcode/DerivedData/OFrame-cyxuoheofsrztibvnaxacjxvlzsl/Build/Products/Debug/OFrame.app/Contents/MacOS/OFrame normal x86_64 
    cd /Users/Peter/Projekte/OFrame 
    export MACOSX_DEPLOYMENT_TARGET=10.9 
    /Applications/Xcode6-Beta6.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode6-Beta6.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -L/Users/Peter/Library/Developer/Xcode/DerivedData/OFrame-cyxuoheofsrztibvnaxacjxvlzsl/Build/Products/Debug -F/Users/Peter/Library/Developer/Xcode/DerivedData/OFrame-cyxuoheofsrztibvnaxacjxvlzsl/Build/Products/Debug -filelist /Users/Peter/Library/Developer/Xcode/DerivedData/OFrame-cyxuoheofsrztibvnaxacjxvlzsl/Build/Intermediates/OFrame.build/Debug/OFrame.build/Objects-normal/x86_64/OFrame.LinkFileList -Xlinker -rpath -Xlinker @executable_path/../Frameworks -mmacosx-version-min=10.9 -lswiftCore -L/Applications/Xcode6-Beta6.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx -Xlinker -force_load -Xlinker /Applications/Xcode6-Beta6.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a -Xlinker -add_ast_path -Xlinker /Users/Peter/Library/Developer/Xcode/DerivedData/OFrame-cyxuoheofsrztibvnaxacjxvlzsl/Build/Intermediates/OFrame.build/Debug/OFrame.build/Objects-normal/x86_64/OFrame.swiftmodule -framework WebKit -Xlinker -dependency_info -Xlinker /Users/Peter/Library/Developer/Xcode/DerivedData/OFrame-cyxuoheofsrztibvnaxacjxvlzsl/Build/Intermediates/OFrame.build/Debug/OFrame.build/Objects-normal/x86_64/OFrame_dependency_info.dat -o /Users/Peter/Library/Developer/Xcode/DerivedData/OFrame-cyxuoheofsrztibvnaxacjxvlzsl/Build/Products/Debug/OFrame.app/Contents/MacOS/OFrame  

Undefined symbols for architecture x86_64: 
    "__TFSs26_forceBridgeFromObjectiveCU__FTPSs9AnyObject_MQ__Q_", referenced from: 
     __TFC6OFrame15FrameController16injectJavaScriptfS0_FCSo8NSStringT_ in FrameController.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

내가 프레임 워크와 아키텍처 문제에 대해 읽을 수 있지만 모두가 전체 프레임 워크 관련이 있었다 : 그 엑스 코드 오류를 도시에서 출력됩니다. 단일 방법을 사용하지 않습니다. 이것은 나를 당황하게합니다. 더욱 짜증나는 것은 NSBundle.pathForResource이 기초 프레임 워크의 클래스 메소드라는 것입니다. 결국에는 제거해야하는 빌드 된 객체를위한 캐시가 있습니까?

저주받은 느낌. Xcode로 무언가를하려고 할 때마다 이상한 문제가 발생합니다.

답변

0

광산 게시 직후에 this related question을 찾은 후 Xcode 6 Beta 5로 컴파일하는 것이 효과적이라는 것을 알았습니다. 파생 데이터 폴더의 내용도 제거했습니다. 이제 Xcode 6 Beta 6에서도 제대로 컴파일됩니다.