先上源码
场景
开发过程中经常需要发布新版本到第三方分发平台,然而很多时候发布新版本后都忘记及时通知相关测试人员新版本已经发布可以进行测试了。(其实是不想吼一嗓子) 于是琢磨是不是有什么方案可以在上传ipa包后可以自动通知相关人员。于是又了下面的一篇水文。
注 sendmail 脚本有缺陷,文本乱码,发送到网易邮箱会被认为是垃圾邮件。后期有时间更新,
工具
fastlane
首先需要一台安装过fastlane 的机器 ,什么?你没装?没事,打开终端粘贴如下代码
1
| sudo gem install -n /usr/local/bin fastlane
|
等待代码运行完毕后键入fastlane --version
查看fastlane的版本如下图
安装出现问题?别慌!谷歌了解下?
ruby基础知识和脚本
不懂ruby?没关系。
look this Ruby 教程 、ruby官网。
个人使用的脚本雏形
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #!/usr/bin/ruby -w
require 'net/smtp' SMTP_SERVER = 'smtp.yeah.net'
def send_emails(sender_address,password, recipients, subject, message_body)
recipients.each do |recipient_address| message_header ='' message_header << "From: <#{sender_address}>\r\n" message_header << "To: <#{recipient_address}>\r\n" message_header << "Subject: #{subject}\r\n" message_header << "Date: " + Time.now.to_s + "\r\n" message_header << "MIME-Version: 1.0" + "\r\n" message_header << "Content-type: text/html;charset=utf-8" + "\r\n" message = message_header + "\r\n" + message_body.encode('utf-8') + "\r\n" Net::SMTP.start(SMTP_SERVER,25,"localhost" , sender_address,password ,:plain) do |smtp| begin smtp.send_message message, sender_address, recipient_address rescue raise FileSaveError.new($!) end end end end send_emails("账号","独立密码",["账号"],"用电宝的上线通知","新版本测试包已上传注意查收,新版本测试包已上传注意查收,新版本测试包已上传注意查收新版本测试包已上传注意查收")
|
邮箱配置stmp
emmm 这个不知道怎么操作的请百度吧
新建插件
cd到新文件夹后在终端运行如下命令fastlane new_plugin [plugin_name]
,得到插件工程。
测试并发布
1 2
| bundle install rake install
|
测试通过生成新的安装包后再执行发布操作。
资料