使用Fastlane打包ipa

使用Fastlane打包ipa

最近公司要使用Fastlane+Jenkins去部署下自动化打包,每天打包一个最新的ipa,然后自动上传到公司的测试网站上,这样每天测试就可以拿到最新的安装包

第一步:安装xcode命令行工具

打开终端输入 xcode-select --install ,如果没有安装,会弹出对话框,点击安装。如果提示xcode-select: error: command line tools are already installed, use "Software Update" to install updates表示已经安装

第二步:安装Fastlane

sudo gem install fastlane -NV或是brew cask install fastlane我这里使用gem安装的

安装完了执行fastlane --version,确认下是否安装完成和当前使用的版本号。


fastlane --version
第三步:初始化Fastlane

1.cd 到你的项目目录下
输入fastlane init

fastlane init

接下来输入4会 出现 bundle update
我这边会一直卡在这里 看了别的博客 是要修改ruby环境

然后打开你的项目目录里 会看到Gemfile 跟fastlane两个文件
如果你卡在了bundle update 这里
打开Gemfile文件编辑保存

source "https://rubygems.org"
gem "fastlane"
gem "cocoapods"

删掉fastlane 重新fastlane init
同样选择4
然后一直回车就行


重新 fastlane init

2.接下来配置fastlane 文件夹里的Fastfile跟Appfile
Appfile

 app_identifier("你的项目的bundle identifier") 
 apple_id("") # Your Apple email address
 team_id("") # Developer Portal Team ID 使用证书的TeamID 如果不知道 
#先使用Xocde打包一次 在plist文件里可以看到  也可以在钥匙串里的证书里找到

Fastfile


default_platform(:iOS)

platform :iOS do
  workspace = "atSoul.xcworkspace"//如果没有使用cocoapods这行可以删掉
  project = "项目名称.xcodeproj"
  scheme = "项目根目录"

  version = get_version_number(xcodeproj: project)
  build = get_build_number(xcodeproj: project)
  outputurlroot = "/Users/Desktop/jenkis/MyDemo/iOS/"//打包出来的ipa所在的位置    
//如果不清楚位置 直接把文件夹拖到终端里 就看到了

  desc "Build FitDisplay1.0 pro"
  lane :方法名 do //方法名  
    outputurl = outputurlroot + "v" + version + "_" + build
    sh("rm","-rf",outputurl)
    sh("mkdir", outputurl)

    build_app(
      workspace: workspace,//如果没有使用cocoapods这行可以删掉
      scheme: scheme,
      silent: true,
      clean: true,
      configuration: "Release",
      output_directory: outputurl,
      output_name: "MyDemo.ipa",
      export_method: "ad-hoc",//打包的类型
      export_xcargs: "-allowProvisioningDeviceRegistration",
    )
    # build_app(
    #   workspace: workspace,
    #   scheme: scheme,
    #   silent: true,
    #   clean: true,
    #   configuration: "Release")
    # upload_to_testflight
  end

end

3.打包 终端输入 fastlane 方法名 然后就会自动去打包了


打包成功
打包完成

你可能感兴趣的:(使用Fastlane打包ipa)