Ec4515104dae3962133fe5b2771fb3b2
iOS 自动打包 - fastlane (二)

1.env文件的使用

1) .env是什么

.env 是非常简单的配置文件,简单到什么程度呢?
它只支持一维K/V格式的配置项,而且 key 和 value 都只能是字符串。

2) 创建一个env文件

.env 这个文件的作用是作为环境变量的配置文件,在fastlane init进行初始化后并不会自动生成,如果需要可以自己创建。
创建步骤:

  • cd 到项目中的fastlane文件夹
  • 输入touch .env (可以命名成不同的名称以便fastlane操作时区分)
  • 按下enter键,fastlane文件夹下就会看到.env文件
    注 * 如果没有看到,因为.env文件默认是隐藏状态,终端输入
#显示.env
defaults write com.apple.finder AppleShowAllFiles -boolean true ; 

#隐藏.env
killall  Finder

3)编辑.env文件
直接上我写的demo吧

#蒲公英
PGYER_API_KEY = "33333333333344411155577744442222"
PGYER_USER_KEY = "09f932331d39ba120000000000000000"
PGYER_DESCRIPTION = "update by fastlane"

4)fastlane 调用env文件

default_platform(:ios)
platform :ios do

  desc "打测试包"
  lane :demo do
    #打包....
    #上传蒲公英
    uploadToPgyer()
  end

  desc "上传蒲公英"
  lane :uploadToPgyer do
    #蒲公英
    pgyer(api_key:ENV['PGYER_API_KEY'], 
        user_key:ENV['PGYER_USER_KEY'], 
        update_description:ENV['PGYER_DESCRIPTION'])
  end

end

  • ENV['PGYER_API_KEY'] 也可以写成 ENV["PGYER_API_KEY"] 。 但是ENV['PGYER_API_KEY'] 的外面没有双引号" "的。
  • .env只能配置一些简单的静态常量,并且左右都是字符串。

2.获取info.plist里面的数据

1)定义常量
```objc
info = Plist::parse_xml('../demo/info.plist')
versionNumber = "#{info['CFBundleShortVersionString']}.#{info['CFBundleVersion']}"
time = Time.new

top Created with Sketch.