三方库管理文件:
1 | 导出 |
1 | 安装 |
Flutter的中文文档写的啥啊。。。让人有点摸不着头脑。。。
1.打开命令行工具
1 | //使用bash的改.bash_profile ,使用zsh的用.zshrc |
然后添加
1 | export PUB_HOSTED_URL=https://pub.flutter-io.cn |
这一步是添加国内镜像
保存以后source一下
1 | source .bash_profile |
2.找个地方新建一个文件夹
(我喜欢把所有环境相关的东西放在一个文件夹下,放不放当然随你们)
例如我在自己的用户下面新建一个叫环境的文件夹(中文命名不太专业emmm)
接着我们打开终端,cd到该目录下并cloneFlutter的项目
1 | git clone -b beta https://github.com/flutter/flutter.git |
Plugin的创建与开发,已经有各路大神写过,在这里不赘述了。
这里只讲讲在我天朝特色下,发布遇到的坑。
请求google授权,翻出去,登录了账号,授权了,但是终端依旧报错如下:
1 | It looks like accounts.google.com is having some trouble. |
原因都知道,天朝特色。都知道终端要翻墙,但查来查去,就是不说怎么终端翻墙,真是气死人。(我从晚上11点想发布了去睡觉一直搞到凌晨4点)
我就直说了吧。
一般都是小飞机,然后开全局模式,然后发现终端还是不行。
下面我说如何解决
背景: 不想每次测试都喊我打包,很累的,所以开始寻找,有你的世界在哪里
多话不说,墙,换成国内镜像源
1 | $ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ |
1 | sudo gem install fastlane -NV |
耐心等待,等装完
gitee似乎不让下载了。可以考虑放到别的带https的地方,比如腾讯云的对象存储桶,github等等,反正有https就行,方法不变。
不要再问android怎么搞了。。。直接apk往仓库一丢,网页给个链接,点一下不就完事了,比iOS省事多了
我写博客一般都会写背景,因为我觉得光写某个技术点没有意义,技术最终都是为业务服务,因此我喜欢交代自己的使用场景,基于什么原因,我做过哪些常识,为什么最终这么做,这么做能解决我的什么问题….
我们是一个小业务部,而且是传统行业转型互联网,业务部内还处于”史前洪荒”的状况,各种现在流行的东西都没有使用,移动端更是如此,开发迭代出的app都是靠微信/内部邮件转发来转发去,iOS更难受,由于ipa包不能像Android一样,随下随装,”必须”依赖电脑用iTools或类似的工具去安装ipa包,很是繁琐.
说到这里肯定就有人提到:”为啥不用蒲公英(fir)等内测分发平台?”
说实话我第一反应也是盯上了这些,但是要实名信息注册啊QAQ,企业要传营业执照,个人要传身份证信息,作为一个较为保守且不想这么兴师动众的人,我选择了放弃使用这些平台.那么没办法了,只能自己写了.那么接下来,我会告诉你,他们是怎么把ipa包,转成一个二维码让你能够下载的(都是猜的).当然,有企业账号自己做企业分发,也可以用我这个方式
声明,我不是干安卓开发或者后台开发的,我以下安装的这些版本的java会不会对后台或者安卓项目产生影响我一概不知,我只是为了安装Jenkins而加入一个java8而已,不习惯的同学可以自行去Orcale的官网下载java8
使用brew安装Jenkins的时候,如果你没有安装java8肯定会报错要求你安装java1.8版本(我试过装java11不行),所以不要挣扎了,装java8吧
这时候你肯定想用brew安装java,你会发现只有java6和java11,java8的安装包被删了
你肯定搜到过下面两个命令:
1 | brew tap caskroom/versions |
放弃吧.不行的
这里我推荐另外一个安装工具:SDKMAN
上次分享我们讲到我们使用npm或者yarn进行管理
我们建议使用yarn进行管理,原因上节课也说过了,有下面几点
1 | 1.Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,我们写的RN是Facebook开源的,我们当然要用匹配的东西 |
1 | #xxxx代表库名 |
附赠一个yarn的中文社区文档
三方库名称 | 描述 | |
---|---|---|
react-navigation | 是RN上较为优秀的路由管理库,几乎可以说是项目必备的路由管理框架 | |
moment | 一个前端应该非常熟悉的时间库,用于前端的时间解析之类的 | |
ESLint | 一个前端应该非常熟悉格式规范库,用于规范代码编写 | |
mobx | 一个状态管理库,用于应用内部状态的统一管理 |
我们使用的是3.x版本,需要做如下操作
1 | yarn add react-navigation |
如图,我们发现有很多warn,报的是一些依赖没满足,一般我们说程序员不看warn,肯定就直接运行了.
但是作为过来人,告诉你肯定会报错,缺少这个warn当中的一个库react-native-gesture-handler所以也别走弯路,把这些库都给加上
1 | #这是一个手势库 |
全都装完以后,link一下项目
1 | react-native link |
这里注意了,在0.59中已经提到,不建议这样做,后续会移除这个命令,必须带上包名link才行
突然很想学swift…不怕死的我在完全没用过的情况下决定通过重构公司的古老项目来完成这段学习之旅….
model转json或者json转model是很常见的需求….所以这就是为什么我要用ObjectMapper了…(其实是我把# SwiftyJSON
的star数错了..我可能会趁用的还不多改成SwiftyJSON,毕竟ObjectMapper实在查不到什么资料不是吗…)
1 | import UIKit |
如图,基本已经写得很清楚了emm
有些时候,有的值是int或者bool,你会发现死活转换不出来…这时候就要自己写转换规则了
1 |
|
就这样,就能转换了.