2014-10-27 3 views
0

Я пытаюсь вызвать метод CFSwapInt32HostToBig (< #arg: UInt32 #>) в swift-файле. Я добавил CoreFoundation Framework в проект, и у меня есть «import CoreFoundation» в верхней части моего быстрого файла. Когда я начинаю вводить имя метода, XCode предлагает метод, указывающий мне, что Xcode распознает методы из этой структуры. У меня нет ошибок в Xcode, подразумевая, что весь мой синтаксис верен, но когда я создаю, я получаю следующую ошибку.Ошибка основной основы Framework в Swift

 
> Ld DerivedData/AudioToy/Build/Products/Debug-iphonesimulator/AudioToy.app/AudioToy normal x86_64 
    cd /Users/michaliberman/Documents/Projects/Swift/AudioToy 
    export IPHONEOS_DEPLOYMENT_TARGET=8.0 
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.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 x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk -L/Users/michaliberman/Documents/Projects/Swift/AudioToy/DerivedData/AudioToy/Build/Products/Debug-iphonesimulator -F/Users/michaliberman/Documents/Projects/Swift/AudioToy/DerivedData/AudioToy/Build/Products/Debug-iphonesimulator -filelist /Users/michaliberman/Documents/Projects/Swift/AudioToy/DerivedData/AudioToy/Build/Intermediates/AudioToy.build/Debug-iphonesimulator/AudioToy.build/Objects-normal/x86_64/AudioToy.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -Xlinker -add_ast_path -Xlinker /Users/michaliberman/Documents/Projects/Swift/AudioToy/DerivedData/AudioToy/Build/Intermediates/AudioToy.build/Debug-iphonesimulator/AudioToy.build/Objects-normal/x86_64/AudioToy.swiftmodule -mios-simulator-version-min=8.0 -framework CoreFoundation -framework AVFoundation -framework AudioToolbox -Xlinker -dependency_info -Xlinker /Users/michaliberman/Documents/Projects/Swift/AudioToy/DerivedData/AudioToy/Build/Intermediates/AudioToy.build/Debug-iphonesimulator/AudioToy.build/Objects-normal/x86_64/AudioToy_dependency_info.dat -o /Users/michaliberman/Documents/Projects/Swift/AudioToy/DerivedData/AudioToy/Build/Products/Debug-iphonesimulator/AudioToy.app/AudioToy 

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

Я удалил и повторно импортировал фреймворк, но до сих пор получаю сообщение об ошибке. Когда я нажимаю опцию имени метода, он показывает мне заголовочный файл, в котором объявлен метод, и если я нажму на этот файл заголовка, я вижу, что он находится в рамках. Я не уверен, что делать, когда проблема оказывается в рамках.

ответ

0

Используйте bigEndian и littleEndian методы

let valueLE16 = 16 
let valueBE16 = valueLE16.bigEndian 

println("valueLE16: \(valueLE16)") // valueLE16: 16 
println("valueBE16: \(valueBE16)") // valueBE16: 1152921504606846976 

let valueLE16: Int16 = 16 //UnsafePointer<UInt16>(value.bytes)[0] 
let valueBE16: Int16 = valueLE16.bigEndian 

println("valueLE16: \(valueLE16)") // valueLE16: 16 
println("valueBE16: \(valueBE16)") // valueBE16: 4096 

 Смежные вопросы

  • Нет связанных вопросов^_^