2018-07-06|2018-07-06 ios打包framework shell命令脚本 ar命令查看符号表

【2018-07-06|2018-07-06 ios打包framework shell命令脚本 ar命令查看符号表】来源 https://blog.csdn.net/wave_1102/article/details/47055909
FRAMEWORK_NAME="${PROJECT_NAME}" FRAMEWORK_NAME="${PROJECT_NAME}"
SIMULATOR_LIBRARY_PATH="{BUILD_DIR}/{CONFIGURATION}-iphonesimulator/${FRAMEWORK_NAME}.framework"
DEVICE_LIBRARY_PATH="{BUILD_DIR}/{CONFIGURATION}-iphoneos/${FRAMEWORK_NAME}.framework"
UNIVERSAL_LIBRARY_DIR="{BUILD_DIR}/{CONFIGURATION}-iphoneuniversal"
FRAMEWORK="{UNIVERSAL_LIBRARY_DIR}/{FRAMEWORK_NAME}.framework"
xcodebuild -project {PROJECT_NAME}.xcodeproj -sdk iphonesimulator -arch i386 -arch x86_64 -target{FRAMEWORK_NAME} -configuration {CONFIGURATION} clean build CONFIGURATION_BUILD_DIR={BUILD_DIR}/${CONFIGURATION}-iphonesimulator | echo
xcodebuild -project {PROJECT_NAME}.xcodeproj -sdk iphoneos -arch arm64 -arch armv7 -arch armv7s -target{FRAMEWORK_NAME} -configuration {CONFIGURATION} clean build CONFIGURATION_BUILD_DIR={BUILD_DIR}/${CONFIGURATION}-iphoneos | echo
rm -rf "${UNIVERSAL_LIBRARY_DIR}"
mkdir "${UNIVERSAL_LIBRARY_DIR}"
mkdir "${FRAMEWORK}"
cp -r "{DEVICE_LIBRARY_PATH}/." "{FRAMEWORK}"
lipo "{SIMULATOR_LIBRARY_PATH}/{FRAMEWORK_NAME}" "{DEVICE_LIBRARY_PATH}/{FRAMEWORK_NAME}" -create -output "{FRAMEWORK}/{FRAMEWORK_NAME}" | echo
open "${FRAMEWORK}"
lipo -info
lipo ASIAIDCardReader -thin armv7-output ASIAIDCardReader.armv7
ar -t (也可以使用 ar -x 先cd到指定目录 将所有.o文件分离到指定的目录文件夹。)
ar -d -sv ASIAIDCardReader.armv7s AsyncSocket.o,即删除ASIAIDCardReader.armv7s下的 AsyncSocket.o二进制文件(你只需要替换成你自己的库文件名称和.o文件即可),同样对分离出来的.arm64、.armv7s进行同样的操作。
文件修改好了, 接下来我们需要把修改好的文件,全部再组合成我们原来的framework下的fat文件。使用命令
lipo-create -output ASIAIDCardReaderASIAIDCardReader.armv7sASIAIDCardReader.arm64 ASIAIDCardReader.armv7(此处需要把所有分离出来的文件都加上)

    推荐阅读