【问题标题】:Jenkins iOS build for both simulator and deviceJenkins iOS 为模拟器和设备构建
【发布时间】:2019-01-10 17:11:27
【问题描述】:

首先让我说我知道如何手动创建胖库,如本文所述:How to build a library for both iPhone simulator and device?

我的问题是,有人知道如何配置 Jenkins 来完成同样的工作吗?

一点背景:我正在创建一个库,因此每次发布时,我都必须完成模拟器和设备的所有构建过程,然后进入它们各自的文件夹以获取生成的框架,然后使用 lipo 工具将它们组合在一起。

我能够通过脚本自动化集中处理,所以我想知道我是否可以自动化 Jenkins 以输出两种架构类型的框架并调用然后调用这个自定义脚本。

谢谢

【问题讨论】:

    标签: ios jenkins build


    【解决方案1】:

    您可以一个一个地构建它们。跟随,通过 lipo 组合它们。

    CURRENTPATH=`pwd`
    
    xcodebuild -project ${PROJECT_NAME}.xcodeproj -configuration 
      ${CONFIGURATION} - 
      sdk iphoneos clean build ARCHS='armv7 armv7s' 
      IPHONEOS_DEPLOYMENT_TARGET='5.0' 
      TARGET_BUILD_DIR='./build-arm' BUILT_PRODUCTS_DIR='./build-arm'
    
     xcodebuild -project ${PROJECT_NAME}.xcodeproj -configuration ${CONFIGURATION} 
      -sdk iphoneos clean build ARCHS='arm64' IPHONEOS_DEPLOYMENT_TARGET='7.0' 
       TARGET_BUILD_DIR='./build-arm64' BUILT_PRODUCTS_DIR='./build-arm64'
    
    xcodebuild -project ${PROJECT_NAME}.xcodeproj -configuration ${CONFIGURATION} - 
      sdk iphonesimulator clean build ARCHS='i386' IPHONEOS_DEPLOYMENT_TARGET='5.0' 
      TARGET_BUILD_DIR='./build-i386' BUILT_PRODUCTS_DIR='./build-i386'
    
    xcodebuild -project ${PROJECT_NAME}.xcodeproj -configuration ${CONFIGURATION} - 
      sdk iphonesimulator clean build ARCHS='x86_64' VALID_ARCHS='x86_64' 
      IPHONEOS_DEPLOYMENT_TARGET='7.0' TARGET_BUILD_DIR='./build-x86_64' 
      BUILT_PRODUCTS_DIR='./build-x86_64'
    
    cp -r "${CURRENTPATH}/build-arm64/include" "${CURRENTPATH}/build-universal"
    
    lipo -create ./build-arm/lib${PROJECT_NAME}.a ./build- 
      arm64/lib${PROJECT_NAME}.a ./build-i386/lib${PROJECT_NAME}.a ./build- 
       x86_64/lib${PROJECT_NAME}.a -output ./build-universal/lib${PROJECT_NAME}.a
    

    希望对您有所帮助。

    【讨论】:

    • 被认为是公认的解决方案,因为它是我最终要遵循的路径
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-01
    • 2013-01-08
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2020-05-03
    相关资源
    最近更新 更多