美文网首页
iOS_SDK开发之.a包打包

iOS_SDK开发之.a包打包

作者: 灬小五灬 | 来源:发表于2020-05-22 17:06 被阅读0次

前言:在SDK开发Framework打包时,已经创建好了WorkSpace工作区,现在在工作区创建.a包的开发工程。
代码传送门

1.创建生成.a工程

  • 1.1 新建一个Project

    image

    选择Static Library,选择第一步创建的WorkSpace(和SDK开发一中的图1的选择一样),这样就创建好了. a工程

    image

    成功之后的示例

    image
  • 1.2 添加SDK文件

    添加新文件,将需要暴露的文件进行设置

    选择工程-->>选择TARGETS下的SDK工程-->>Build Phases-->>Copy Files

    image
  • 1.3 新建Aggregate

    创建Aggregate
  • 1.4 添加脚本到 Run Script 自动合成 .a

    选中创建的Aggregate,-->> Build Phases-->> 点击左上角的加号-->> 选择New Run Script Phases-->> 生成Run Script

    image

    把以下脚本代码复制到 Run Script

    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
    
    
    SDK脚本嵌入
  • 1.5 编译获取.a

    command+B直接编译,产生.a。

    生成framework包

2.将产生的SDK和SDK的集成Demo进行关联

  • 将编译产生的.b包所在目录,导入到Demo

    image
  • 使用SDK,运行Demo

    image
  • 运行结果如下

    运行结果首页 点击按钮跳转到.a内的页面

最后的最后,把这个工程上传到Git就可以愉快的开发了。。。以上是我个人的理解,如有错误,请各位大牛批评指正,文中.a的打包方法参考网上资料
参考链接

相关文章

  • iOS_SDK开发之Framework打包

    1.工作区(WorkSpace)结构 1.1 创建工作区 新建一个目录 LWTestSDK 创建WorkSpace...

  • iOS_SDK开发之Bundle打包

    我们的项目中难免会用到图片资源和xib,storyboatd资源,我们可以将这些资源全部归类到bundle文件中,...

  • iOS_SDK开发之.a包打包

    前言:在SDK开发Framework打包时,已经创建好了WorkSpace工作区,现在在工作区创建.a包的开发工程...

  • maven

    指定配置文件打包:开发: mvn package -Pdev mvn package :打包jar包mvn ins...

  • 二. 打包测试

    一. 打包测试简介 何谓打包测试所谓打包测试, 就是将正在开发的App, 打包为.ipa压缩包, 指定的设备安装这...

  • 突然低版本的xcode真机调试报错,模拟器正常的问题

    由于xcode10打包,iOS9-iOS9.2容易闪退,所以我采用xcode10开发,xcode9.4.1打包,昨...

  • 企业包发布

    【iOS 开发】企业开发者账号打包发布 App 到服务器上的流程�iOS企业版打包 发布在线安装包 plist 一...

  • AndroidStudio jni开发入门及打包so库和jar包

    AndroidStudio jni开发入门及打包so库和jar包 配置ndk开发环境 下载NDK,LLDB,CMa...

  • QQ登录

    一.集成SDK 1.集成官方Framework 首先下载官网SDK iOS_SDK下载,目前来说最新的包是V3.1...

  • 混合APP开发MUI框架书目录

    MUI框架 HTML5 APP开发之创建APP项目 HTML5 APP开发之软件打包 HTML5 APP开发之全量...

网友评论

      本文标题:iOS_SDK开发之.a包打包

      本文链接:https://www.haomeiwen.com/subject/auqcahtx.html