2013-05-23 3 views
0

У меня возникли трудности с добавлением facebookSDK.framework в мой проект xcode с помощью cmake? Вот что я сделал до сих пор. Но это не похоже на работуКак добавить facebookSDK в проект xcode с помощью cmake?

set (facebook_sdk_path ${CMAKE_HOME_DIRECTORY}/external/framework/facebook/ios) 
message("adding facebookSDK" ${facebook_sdk_path}) 
target_link_libraries(${Target} "${facebook_sdk_path}/facebookSDK.framework/facebookSDK") 

Я считаю, нам нужно установить рамки под «рамки поиска путей» на параметры проекта, но я точно не слишком уверен в том, как это сделать.

ответ

0

нашел свое решение: я использовал этот макрос я нашел из CMake and XCode: "cannot find interface declaration for 'NSObject'"

macro(AddExternalFramework fwname appname libpath) 
    find_library(FRAMEWORK_${fwname} 
     NAMES ${fwname} 
     PATHS ${libpath} 
     NO_DEFAULT_PATH) 
    if(${FRAMEWORK_${fwname}} STREQUAL FRAMEWORK_${fwname}-NOTFOUND) 
     MESSAGE(ERROR ": Framework ${fwname} not found: ${FRAMEWORK_${fwname}}") 
    else() 
     TARGET_LINK_LIBRARIES(${appname} ${FRAMEWORK_${fwname}}) 
     MESSAGE(STATUS "Framework ${fwname} found at ${FRAMEWORK_${fwname}}") 
    endif() 
endmacro(AddExternalFramework) 
0

Я столкнулся с той же проблемой, но ответ Франк не работает для меня. Как было упомянуто в сообщении, ссылающемся на TARGET_LINK_LIBRARIES, беспорядок заполняет переменную FRAMEWORK_SEARCH_PATHS. В моем случае он находит FacebookSDK.framework, но затем генерирует ошибки компоновщика для остальных включенных фреймворков (например, UIKit, Foundation и т. Д.).

Мое решение было просто копировать FacebookSDK.framework в папки фреймворков XCode. Имейте в виду, что вам нужно скопировать его на iPhoneOS и iPhoneSimulator, если вы создадите для устройства и симулятора. В настоящее время, XCode7 и SDK9.0, эти папки:

  • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks
  • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/System/Library/Frameworks

Добавление FacebookSDK.framework как обычно работает отлично, то:

SET (OUR_FRAMEWORKS "-framework Foundation -framework UIKit -framework FacebookSDK ...") 
Смежные вопросы