iOS 自动生成framework并自动进行模拟器和真机framework合并
iOS 自动生成framework并自动进行模拟器和真机framework合并
以iOS 加入lua framework为例
lua framework的具体引入 点击链接查看
iOS在生成framework时需要在真机下编译一次并在模拟器下编译一次
编译后还需要合并两个framework 手动进行如果一直在调试会很麻烦
现在给出自动化解决方案:加入编译脚本
在工程目录下建立Tools目录并加入shell脚本
shell脚本具体代码在下方
设置成release模式并分别在虚拟机和真机下编译一下编译好后
会自动打开合并了真机和模拟器所生成的framework的合并后的framework
outputFramework目录下就是合并了模拟器和真机的framework
注意:如果只在debug模式下面编译可能会有错误提示,但是不会影响framework的生成如果感觉错误提示很烦,那就切换到
release模式 分别在真机和模拟器下编译一次错误提示就没有了。
#!/bin/sh
echo 'xxxxxxxxxxxxxxx'
echo "SYMROOT = $SYMROOT"
echo "SYMROOT = ${BUILD_DIR}/${CONFIGURATION}"
echo "SYMROOT = ${BUILD_DIR}/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}"
bundleID=${PRODUCT_BUNDLE_IDENTIFIER}
CURRENTCONFIG_DEVICE_DIR=${BUILD_DIR}/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}
echo 'Welcom to Bash'
JfBuildDir=${BUILD_DIR}
JfExecutablePath=${EXECUTABLE_PATH}
JfExecutableName=${EXECUTABLE_NAME}
JfExecutableFolderPath=${EXECUTABLE_FOLDER_PATH}
echo "JfBuildDir = $JfBuildDir"
echo "JfExecutablePath = $JfExecutablePath"
echo "JfExecutableName = $JfExecutableName"
echo "90-> ${CURRENTCONFIG_DEVICE_DIR}"
echo "error:message"
echo "warning:message"
cd ${JfBuildDir}
framework="IJKMediaFramework"
[ -f "$framework" ] && rm "$framework"
dire="outputFramework/"
[ -d "$dire" ] && rm -rf "$dire"
mkdir "$dire"
if [ -d "Release-iphoneos" ] && [ -d "Release-iphonesimulator" ]; then
echo "composition framework"
lipo -create Release-iphoneos/${JfExecutablePath} Release-iphonesimulator/${JfExecutablePath} -output ${JfExecutableName}
cp -rf Release-iphoneos/* ${dire}
cp -f ${JfExecutableName} ${dire}/${JfExecutableFolderPath}
rm -f ${JfExecutableName}
open ${dire}
fi