React Native中的自定义Cell其实就是自定义View,只是这里的View作用类似于iOS中的Cell罢了,这里需要注意传值和判断问题即可,来看

使用就很简单了,引入外部组件,传入参数就可以了

来看看最终的效果

iOS11正式版来了,昨天我也把app适配了一下,其实也不是很麻烦,来看看我做的一些操作

1、UITableView、UICollectionView的变化

tableView在iOS11默认使用Self-Sizing,tableView的estimatedRowHeight、estimatedSectionHeaderHeight、 estimatedSectionFooterHeight三个高度估算属性由默认的0变成了UITableViewAutomaticDimension,所以当你pop回来的时候发现tableView自己动了,钥匙胚关掉他们就行了,collectionView也是一样的

2、iPhoneX来袭

由于iPhoneX出来了,屏幕太大,没有HOME键,出现了safeArea的概念,就是安全使用的区域嘛,所以如果你使用了Masonry,那么你需要适配safeArea

另外你会发现iPhoneX上启动之后tabbar上移了,其实是启动图太小啦,赶紧勾选iOS 8.0 and later Portrait ,然后来张来张3x(1125 * 2436)的启动图放上就OK了。
当然还有其他很多变化呢,比如状态栏加导航栏不再是64了等等,问题多多呀,慢慢研究。

创建IJKFFOptions,配置参数

初始化player的时候将option加入

现在的项目几乎都用的AFN,直接使用AFN的网络环境判断

当然你也可以选择在适当的时候停止监控

手机会自动锁屏,有些界面需要设置常亮,但是要记得在适当的时候关闭常亮

但是有些控件的存在是不会锁屏的,比如AVPlayer,播放的时候是不会锁屏的,但是暂停或者停止播放之后系统会自动关闭常亮,正好与我们的设计冲突,所以我这里做了一个监听,如果屏幕锁屏被关,立马把它打开,最后要记得移除监听并且关闭锁屏。

一提到导航,都会想到用各类地图SDK导航,而我这里使用的是URL跳转多类地图导航,至于你说有什么好处啊,这个嘛。。。自己想吧

在plist文件配置白名单了
baidumap iosamap comgooglemaps

以上代码,基本上已经够用了,唯一注意就是坐标经纬度的转换,贴下转换代码。

百度官方方法,将WGS84和GCJ02转换为百度BD09坐标,如未对坐标参数进行设置,默认使用BD09坐标系。

之前一直使用很老版本的React Native项目,今天创建了一个新版本的项目,然后就没有然后了,运行不了,网上资料也少,后来在github的issue里面发现很多人都遇到了这个问题,查找半天发现可能是“网络”问题,就用了笨方法解决了,具体步骤如下:

下载下面的几个压缩文件:

https://github.com/google/double-conversion/archive/v1.1.5.tar.gz
https://github.com/react-native-community/boost-for-react-native/releases/download/v1.63.0-0/boost_1_63_0.tar.gz

复制到 ~/.rncache/ 下覆盖掉原来的

然后再解压到 node_modules/react-native/third-party/ 下,重新编译应该就没有问题了。
我的package.json文件

周末闲来无事,正好最近在玩直播,就想拿自己的闲置的树莓派做个直播服务器,做下来其实还是很简单的,开搞。
首先我给树莓派装了一个全新的系统,选的是kali,其实跟树莓派官方的系统用起来差不了太多,都是Debain系的,先更新软件源

然后安装依赖软件

下载安装nginx和rtmp模块,编译安装

我这边在make的时候遇到了 [-Werror=unused-but-set-variable] 这样的错误,解决办法是直接修改nginx安装包下/objs/Makefile文件中的-Werror,去掉 -Werror

这样就OK了,顺利编译安装通过,接下来配置 nginx

添加下面的配置

启动nginx服务器

启动不报错,访问 http://ip 看到了nginx 的欢迎界面,安装成功!下面我们来推一次流,我这里使用了两种方法,第一种直接使用的 ffmpeg 来推的

另一种方法使用的是使用将来会用到的LFLiveKit,自己把库克隆下来,修改demo里LFLivePreview.m中的链接

使用VLC直接可以看到直播,成了!

我们App全局是支持侧滑返回的,但是有些页面有些收拾需求有冲突,所以需要禁止侧滑,只需要添加下面的代码就行了

我们App又新添加了视频分享,选择的是七牛云存储,上传之后分享链接,但是视频比较大,所以需要添加取消选项,七牛云的取消上传也是不容易找到,试了一会才搞定,看代码

由于我服务器PHP版本过低,只能用老版的SDK,我这里只是随便写个用用,不过都很简单,看看文档就行了