Python结合cocoapod自动发布版本实践 发表于 2019-10-18 | 更新于 2022-08-01
| 阅读量:
一、问题 ios开发人员可能对cocoapod比较熟悉,在维护个人的cocoapod版本的时候,会遇到一个问题,那么就是本地代码库修改了文件,一般需要做如下三步操作
代码功能开发完毕,提交代码到git服务器
修改.podspec文件中的版本号
给对应的提交打上tag,以便pod发布时需要
使用pod trunk push 命令,发布到cocoapod
步骤比较多,修改版本和打tag,有时候容易遗漏,如果发布失败的话,还需要重新再修改版本,打tag。很浪费时间,基于此,结合我最近研究的python,写了一个脚本。来实现一键提交代码、发布pod库的功能
二、脚本 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 import osf = open ("CYKit.podspec" , "r+" ) print ("文件名为: " , f.name) shouldModifire = '' content = '' for line in f.readlines(): content = content + line line = line.strip() if 's.version = "0' in line: shouldModifire = line print ('shouldModifire%s' %shouldModifire)items = shouldModifire.split('=' ) print (items)versions = items[1 ].split('.' ) versions_last_length = len (versions[2 ]) versions_last = int (versions[2 ][:versions_last_length-1 ]) versions_last_int = (versions_last) + 1 newVersion = str (versions[0 ])+'.' + str (versions[1 ]) + '.' + str (versions_last_int) + '"' shouldReplaceItem = items[0 ] + '=' + newVersion replaceed = content.replace(shouldModifire,shouldReplaceItem) print ('修改版本号:' + shouldModifire + '=>' + shouldReplaceItem)f.seek(0 ) f.truncate() f.write(replaceed) f.flush() f.close() os.system('git add .' ) os.system('git commit -a -m "【脚本】修改相应版本号"' ) os.system('git push origin master' ) os.system('git tag -a ' + newVersion + ' -m ' + 'tag版本号' ) os.system('git push --tags' ) os.system('pod trunk push --allow-warnings' )
三、遇到的问题 总体来说开发还算顺利,唯一卡壳的地方就是,读取本地文件,修改里面的版本号,这里使用了暴力的写文件方式。
好了,又可以开心的撸代码了,see u