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(此处需要把所有分离出来的文件都加上)

你可能感兴趣的:(2018-07-06 ios打包framework shell命令脚本 ar命令查看符号表)