Fast将Fastlane与多个目标集成到一个iOS项目中🚀

现在,让我向您展示由3个不同目标组成的项目结构,以便我们可以通过快速通道进行相应的构建。

因此,Fastfile是一个定义所有“通道”的红宝石文件。 车道是您希望Fastlane运行的一组指令。 因此,我希望大家使用Atom IDE作为文本编辑器来完成与快速通道相关的操作,该操作快速且具有更智能的上下文感知自动完成功能,代码导航功能(如大纲视图),定义并查找所有引用,我们还可以悬停显示信息,诊断(错误和警告)和文档格式。

因此,现在在fastfile中创建通道之前,我们将为项目中定义的3个目标创建3个环境变量文件,这将帮助我们通过fastfile部署特定的目标app / ipa。 您可以使用Atom编辑器创建此空文件,并确保文件名应类似于此语法-“ .env。”

在环境变量中,我们将定义以下内容:

  1. SCHEME — —应用程序使用的确切方案或目标名称
  2. BUNDLE IDENTIFIER — —特定目标或方案的标识符
  3. PROVISION PROFLE NAME —提供配置文件的名称保存在本地Mac中,因此,在存档应用程序时,fastlane会尝试通过该名称查找配置文件。 名称将与Apple开发者帐户条款部分中显示的名称相同。 注意:-要查找存储在系统中的配置文件,路径应为:〜/ Library / MobileDevice / Provisioning Profiles。 默认情况下,〜/ Library文件夹在finder中是隐藏的,因此您必须取消隐藏它或使用Finder菜单中的Go-> Go to folder …输入路径,或使用Terminal并执行命令。
  4. APP NAME — —项目中使用的目标/方案的名称。

因此,现在我们将在.env.App1文件中添加以下内容

  SCHEME =“ App1” 
BUNDLE_IDENTIFIER =“ com.SandeepM.app1”
PROVISION_NAME_DEV =“ Develop_App1”
PROVISION_NAME_ADHOC =“ Adhoc_App1”
PROVISION_NAME_APPSTORE =“ Appstore_App1”
APP_NAME =“ App1”

请注意 ,您必须为其他env文件添加内容,即app2和app3还应在相应的.env文件中特别提及方案,捆绑标识符,权限。

现在,我们在Fastfile中添加名为“ createIPA”的通道,以执行自动化操作以生成特定目标的ipa。


#有关如何自定义构建的更多文档
#可以在这里找到:
#https://docs.fastlane.tools
fastlane_version“ 1.109.0”#此值有助于我们跟踪Fastfiles的成功指标
#我们自动生成。 随时删除此行
#一旦一切顺利进行!
default_platform:ios
放置“根据方案名称1创建Ipa。App1 2. App2 3. App3”
#Fastfile操作接受其他配置,但是
#别担心,fastlane会提示您要求
#您稍后可以在此处添加的信息ENV ['FASTLANE_XCODEBUILD_SETTINGS_RETRIES'] =“ 120”#这是为了处理由于CPU操作而导致的超时LANE:createIPA do
#构建您的iOS appclean_build_artifacts#删除本地dSYM文件
clear_derived_data。 #删除现有的派生数据

健身房(
方案:ENV ['SCHEME'],#{}“ iOSConsumerApp-TH”,
export_method:“即席”,“应用商店”,“即席”,
export_xcargs:“-allowProvisioningUpdates”,
include_bitcode:false,
export_options:{
uploadBitcode:否,
uploadSymbols:否,
compileBitcode:false,
供应配置文件:{
ENV ['BUNDLE_IDENTIFIER'] => ENV ['PROVISION_NAME_ADHOC'] #ENV ['PROVISION_NAME_APPSTORE']
},
“ signingStyle”:“手动”
})
结束

在快速文件中添加以下代码后,将其保存并根据要生成ipa的环境或目标运行以下命令:

  fastlane createIPA --env应用程序1 

以下命令将执行我们的fastfile中指定的泳道操作,并尝试查找名称为“ createIPA”的泳道并执行操作。 您可能想知道“ — env APP1”是什么? 好吧,这意味着我们要为哪个目标构建应用程序,因为我们有多个目标,因此我们可以指定我们要构建的应用程序,即App1或App2或App3。

注意:-目标名称区分大小写,因此请使用您用于为每个目标创建.env文件的确切名称。

让我们看看我们的命令是如何工作的:

因此,完成此操作后,我们将在项目目录中看到相应的ipa文件。

现在是本文的结尾,现在您了解了fastlane如何自动化存档和创建具有多个目标的IPA的过程。

在下一篇文章中-https://medium.com/@vizllx/build-test-deliver-a-complete-guideline-for-ios-ci-cd-5fa02bffa7ce

我将向您展示通过fastlane自动执行任务的下一级别:

  1. 自动递增版本号
  2. 将内部版本上传到Beta
  3. 将dysm符号文件上传到Crashlytics,以获取详细的崩溃报告
  4. 将Slack和HipChat与Fastlane集成在一起,在成功构建后自动执行消息。

直到快乐编码。

学习并分享您的知识,他们知道某个地方的人可能会因您的少量努力而受益。