我们如何添加facebookSDK到使用cmake一个xcode项目?(How do we add

2019-10-28 20:20发布

我有一些困难,加上facebookSDK.framework到使用cmake我的Xcode项目? 这是我现在已经做了高达。 但它似乎不工作

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")

我认为,我们需要设置下的项目设置“框架搜索路径”的框架,但我不是如何做到这一点正是太肯定。

Answer 1:

发现我的解决方案:我用这个宏,我从发现CMake和XCode中:“找不到‘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)


Answer 2:

我遇到同样的问题,但坦率的回答并没有为我工作。 由于它是在引用的文章中提到,要求TARGET_LINK_LIBRARIES搅乱FRAMEWORK_SEARCH_PATHS变量。 在我的情况下,它发现FacebookSDK.framework但随后生成包含在框架的其余部分连接错误(例如UIKit中,基金等)。

我的解决办法简单地复制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 ...")


文章来源: How do we add facebookSDK into a xcode project using cmake?