.a静态库合成脚本

if [ "${ACTION}" = "build" ]

then

#要build的target名

target_Name=${PROJECT_NAME}

echo "target_Name=${target_Name}"

#build之后的文件夹路径

build_DIR=${SRCROOT}/build

echo "build_DIR=${build_DIR}"

#真机build生成的头文件的文件夹路径

DEVICE_DIR_INCLUDE=${build_DIR}/Release-iphoneos/include/${PROJECT_NAME}

echo "DEVICE_DIR_INCLUDE=${DEVICE_DIR_INCLUDE}"

#真机build生成的.a文件路径

DEVICE_DIR_A=${build_DIR}/Release-iphoneos/lib${PROJECT_NAME}.a

echo "DEVICE_DIR_A=${DEVICE_DIR_A}"

#模拟器build生成的.a文件路径

SIMULATOR_DIR_A=${build_DIR}/Release-iphonesimulator/lib${PROJECT_NAME}.a

echo "SIMULATOR_DIR_A=${SIMULATOR_DIR_A}"

#目标文件夹路径

INSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}

echo "INSTALL_DIR=${INSTALL_DIR}"

#目标头文件文件夹路径

INSTALL_DIR_Headers=${SRCROOT}/Products/${PROJECT_NAME}/Headers

echo "INSTALL_DIR_Headers=${INSTALL_DIR_Headers}"

#目标.a路径

INSTALL_DIR_A=${SRCROOT}/Products/${PROJECT_NAME}/lib${PROJECT_NAME}.a

echo "INSTALL_DIR_A=${INSTALL_DIR_A}"

#判断build文件夹是否存在,存在则删除

if [ -d "${build_DIR}" ]

then

rm -rf "${build_DIR}"

fi

#判断目标文件夹是否存在,存在则删除该文件夹

if [ -d "${INSTALL_DIR}" ]

then

rm -rf "${INSTALL_DIR}"

fi

#创建目标文件夹

mkdir -p "${INSTALL_DIR}"

#build之前clean一下

xcodebuild -target ${target_Name} clean

#模拟器build

xcodebuild -target ${target_Name} -configuration Release -sdk iphonesimulator

#真机build

xcodebuild -target ${target_Name} -configuration Release -sdk iphoneos

#复制头文件到目标文件夹

cp -R "${DEVICE_DIR_INCLUDE}" "${INSTALL_DIR_Headers}"

#合成模拟器和真机.a包

lipo -create "${DEVICE_DIR_A}" "${SIMULATOR_DIR_A}" -output "${INSTALL_DIR_A}"

#打开目标文件夹

open "${INSTALL_DIR}"

fi

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,914评论 18 139
  • 一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝...
    心有琳鑫阅读 12,545评论 0 15
  • 在实际开发中,有时候会遇到把代码提供给第三方,为了保证后期的可维护性,这时我们可以考虑打成.a静态包的形式。 一 ...
    纯情_小火鸡阅读 539评论 0 0
  • 一、a库封装 1.1 创建工程 1.2添加需要封装的代码文件 1.3 添加对外开放的头文件选中Targets-B...
    机器猫的百宝袋阅读 662评论 0 1
  • 前几天和闺蜜一起吃饭。 自从今年三月份有一次聚餐后,我们也时常联络但是都是因为或者或那的原因没有再碰面,想想也快有...
    身心舒展阅读 823评论 19 6