Sublime Text
Sublime Text 是一套很好跨平台的文字編輯器,如不雅想要编写很长的 Ruby 代码在 irb 不是很便利,所以选择了它。( Sublime Text 维诽谤科 )
浏览源码
所以如不雅你想做一个 fastlane 的 action,其实很简单,琅绫擎多半都是往command 数组中插入敕令,你只要留意服从年夜 fastlane 对你们的请求格局进行提交你的 action 代码审核久煨。
经由过程一段时光的实践懂得,大年夜致对 Ruby 有初步的熟悉,可以测验测验浏览 fastlane, cocoapod 源率攀来对它们进行懂得了 ( fastlane源码,CocoaPods源码 )。
经由过程源码的浏览对他们大年夜致总结为:经由过程 Ruby 来调用终端敕令。
源码中可以看到琅绫擎供给了我们日常平凡在 Shell 中主动输入的一些敕令。
别的我们在应用 fastlane 进行打包的时刻,能清跋扈的看到其准许出所应用的 xcodebuild 的敕令。
其拭魅这些也可以经由过程 Shell 脚本来实现,那为什么 fastlane,Cocoapods 是用 Ruby 来实现的,笔者猜想可能是因为 fastlane,Cocoapods 本身就是基于 Ruby 开辟中的对象 rake 和 bundle 思惟而开辟出来的吧。
持续实践
法度榜样员就是要折腾本身,既然大年夜致道理是经由过程 Ruby 履行 Shell 敕令,那他们能写很多对象来赞助法度榜样员开辟,我本身能写一个吗? 不求写出来的高大年夜上,但肄业到的器械能实践应用,写出来的器械能便利本身。
于是就有了这个项目 pod_updater,这个项目意在赞助本身摆脱每次提交本身的私有 pod 库时,老是要在终端输入一堆 git 敕令然后在 push 到 podspec 仓库等一系繁琐的操作。
这里尤其是fastlane,读 fastlane 的很多的对象集 ( actions ) 的源码你会发明琅绫擎根本是供给了各类 shell 敕令的合集。如 action : pod_lib_lint 的源码中可看到:
开端实践
起首感到 irb 不敷用了,不克不及对代码进行调试,而 Sublime Text 只是个编辑器,于是又找到了 RubyMine 。
RubyMine 是一个用于 Ruby 开辟的 IDE,可见材料。
1.有了 IDE 还不敷,有时我们须要应用些成熟的三方库,所以我们须要懂得这些 Gem,bundle,Gemfile.
- Gem:Ruby 應用程式或程式庫。可以懂得为Framework。
- bundle: 是治理、解決 gem 之間相依性的对象,它會根據 Gemfile 裡頭的設定自動下載和安裝 gem ,并且幫你解決相依問題。可以懂得他为iOS开辟中的Cocoapod。
- Gemfile:懂得为podfile即可,用于描手段度榜样的相干库安装与依附关系。
2.Ruby 履行shell 敕令
- command << "pod lib lint"if params[:verbose]
- command << "--verbose"endif params[:sources]
- sources = params[:sources].join(",")
- command << "--sources='#{sources}'"endif params[:allow_warnings]
- command << "--allow-warnings"end
Ruby履行 shell 敕令方法有很多种,可见材料 ,而我选择是的 IO.popen 办法。
这是pod_updater 终端应用.gif
总结
对于一门新说话,下手实践才是真事理。
对于本身,进修说话最大年夜的动力莫过于他能赞助本身更好的生活和工作。
【编辑推荐】
- 你可能没留意到的iOS原生图片标记小缺点
- 谷歌高管:安卓体系如今和iOS一样安然 甚至更好
- iOS下若何一键调试Push
- iOS开辟中常见bug!(内附解答办法)
- 平易近间高手帮苹不雅搞设计:若何让iOS 11的通知栏更好用?
推荐阅读
致困惑者:SAT 测验中有一个写作部分,智能家眷办事承诺会晋升拉里的写作技能,至少是将被测试的那些技能。这个应用法度榜样让他写一些短文,并主动为之评分。结不雅发明,拉里的短文异常脆弱的环节是每段的主旨句,>>>详细阅读
本文标题:iOS程序员的Ruby初体验
地址:http://www.17bianji.com/lsqh/40833.html
1/2 1