上一篇的时候,已经介绍了如何将carthage转为动态库。这一篇,咱们是单纯的建一个动态库。仍是以face++为例html
查看上一篇: face++静态库转为动态库iphone
建立成功后以下图,并删除多出来的MGLiveDetect.hpost
并将MGFaceIDLiveDetect.framework下面的几个头文件拉出来ui
保证拉出来的文件路径是同样的,都是指向 MGFaceIDLiveDetect.framework --> Headers里面url
-all_load
-fembed-bitcode
说明:若是你使用了类别,那么你须要在Build Settings的Linking的Other Linker Flags里加上。为了不麻烦,直接改成 -all_loadspa
face++的静态库是采用Objective-C++的方式来实现,还须要再指定编译方式。3d
所以,咱们须要改一下以下配置code
第一步:新建一个脚本htm
第二步,填入脚本blog
相关的脚本
# Type a script or drag a script file from your workspace to insert its path. if [ "${ACTION}" = "build" ] then INSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}.framework DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework if [ -d "${INSTALL_DIR}" ] then rm -rf "${INSTALL_DIR}" fi mkdir -p "${INSTALL_DIR}" cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/" #ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers" lipo -create "${DEVICE_DIR}/${PROJECT_NAME}" "${SIMULATOR_DIR}/${PROJECT_NAME}" -output "${INSTALL_DIR}/${PROJECT_NAME}" open "${DEVICE_DIR}" open "${SRCROOT}/Products" fi
选择真机编译模式,按 command + shift + B 快捷键编译,就会直接生成动态库 MGLiveDetect.framework