Posts
一剑霜寒十四州
Cancel

AVFoundation简介 AVFoundation是苹果在iOS和OS X系统中用于处理基于时间的媒体数据的Objective-C框架. 供使用者来开发媒体类型的应用程序。 如果只是进行简单的视频录制,使用UIKit中的UIImagePickerController就可以了;如果需要播放视频,使用AVKit框架也足够了。但是如果需要进行视频文件的处理等更灵活等操作,就需要使用到A...

HTTP为什么不安全 HTTP协议传输的数据都是未经过加密处理的,也就是说客户端和服务端使用HTTP通信的中间环节都有可能会产生信息的泄漏。 如何让HTTP更安全 有人会说很简单,把数据加密一下不就行了。嗯,说起来很简单,但是具体怎么加密呢? 对称加密还是非对称加密? 我们现在有两种加密方式可以选择:对称加密和非对称加密。 对称加密是最快速、最简单的一种加密方式,加密(encry...

说到SSH,我们很多人都用过,比如我们通过git提交代码到Github的时候需要先添加本机的public key到Github网站,使用SSH远程连接VPS来对服务器进行操作。但是SSH究竟是什么,它是如何工作的呢? 定义 SSH全称Secure Shell,是一个提供数据通信安全、远程登录、远程指令执行等功能的安全网络协议,由芬兰赫尔辛基大学研究员Tatu Ylönen,于1995年提出...

最近发现在Storyboard中设置的颜色和用代码设置的颜色居然不一样,当时我就震惊了! 更让人震惊的是搞了这么多年iOS开发,居然现在才发现!惭愧啊。。。 网上查了一下才知道原来Xcode里的色彩选择器默认的Color Profile是Generic RGB,如下图所示: 把它改为Device RGB就可以解决这个问题了。

先来看下我们要实现的效果: 其实这个效果UIScrollView已经自带了,但是某些情况下由于某些原因我们可能不能或者不想使用UIScrollView,那么我们就得自己实现这个效果。 如果要单独用Pinch手势实现缩放或者用Pan手势实现拖拽,这个比较简单,直接贴代码: // 利用Pinch手势实现缩放 func didPinch(_ pinch: UIPinchGestureRe...

通过 App Store 下载安装 Xcode 的时候可能会遇到各种奇葩的事情。 这不,我刚才就摊上事了:用公司的渣网络辛辛苦苦下载两个多小时眼看开始安装了结果弹框提示我说空间不足无法继续安装。既然空间不足咱就清理一下呗,清理完了之后想要继续安装发现没有办法重新开始安装,App Store 里的按钮显示 发生错误,/Applications 文件加下的 Xcode.appdownload ...

服务端要给移动端发送推送消息就需要用到推送证书,但是服务端通常需要的证书 .pem 格式的,并不是我们从Apple的开发者中心下载到的 .cer 格式的文件,所以我们需要对其做一个转换。 申请推送证书的过程我就不赘述了,这里假设你已经申请好了开发环境和生产环境的推送证书并下载导入到 Mac 钥匙串当中。 下面我们开始转换,这里我以开发环境为例,生产环境同理: 从钥匙串中...

问题 最近有有朋友在Github上提出issue说 KSPhotoBrowser 在图片长度超出屏幕大小多时候没有办法通过拖拽返回。其实这个问题从我开始开发的时候就存在,感觉影响不是很大就一直拖着没解决。既然有人提出来了,那看来是必须得解决一下了。。。 第一张图就是正常的拖拽返回,第二张有问题。 解决 要解决这个问题我们不得不说下 KSPhotoBrowser 的布局结构,先...

Target 可能很多人都会有开发多个相似的App的需求,这些相似的App可能也就是名称、BundleID、证书配置不同,其他的功能都基本一样。对于这种情况的处理,一种比较笨的办法就是手动修改 Info.plist 文件中相应的内容,打包完了之后再次修改再打包。这种方法如果只是搞一次也不会麻烦很多,但是如果多搞几次,谁都会觉得烦,况且在修改的过程中还有可能会出错。那有没有什么更好的办法呢?...

前言(废话) 最近接到一个限制我司国内版的产品在国外的使用App的需求,其实也就是让这种“水货”的产品在国外无法连接我们的App。 为了达到这个目的,首先需要从产品中获取它的序列号来判断它是否属于国内版,然后根据手机的定位判断是否在国外,如果两个条件同时满足就断开连接。 为了判断手机的定位是否在国外有以下两种方法: 根据手机的GPS定位坐标反地理编码获取国家代码判断是否是CN。 ...