首先先简单介绍一下gif的几个算是术语吧: frame(帧):一个gif可以简单认为是多张image组成的动画,一帧就是其中一张图片image. frameCount(帧数): 就是一个gif有多少帧 loopCount(播放次数):有些gif播放到一定次数就停止了,如果为0就代表gif一直循环播放. delayTime(延迟时间):每一帧播放的时间,也就是说这帧显示到delayTime就转到下一帧. 所以gif播放主要就是把每一帧image解析出来,然后每一帧显示它对应的delaytime,然…
iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,1024,2048位 支持的RSA 填充方式有三种:NOPadding,PKCS1,OAEP 三种方式 ,填充方式影响最大分组加密数据块的大小 签名使用的填充方式PKCS1, 支持的签名算法有 sha1,sha256,sha224,sha384,sha512 Nopadding填充最大数据块为 下面接口…
iOS中的各种传感器: 随着科技的发展,机器感知人的行为!Goole的无人驾驶汽车到李彦宏的无人驾汽车,都带入了各种计算及传感. 为了研究自然现象和制造劳动工具,人类必须了解外界的各类信息.了解外界信息的最初通道是大自然赋予人体的生物体感官,如五官.皮肤等.随着人类实践的发展,仅靠感官获取外界信息是远远不够了,人们必须利用已掌握的知识和技术制造一些器件或装置,以补充或替代人体感官的功能,于是出现了传感器.能够把特定的被测量信息(如物理量.化学量.生物量等)按一定规律转换成某种可用信号的器件或装置…
开发中我们会使用到第三方的SDK,有的时候也会将整个系统的公用的功能的抽象出来成为FrameWork,我们只需要暴露对外的接口,使用者只需要调用接口,对于内部实现的过程不需要维护,可以以库的形式进行封装,只暴露出头文件.库(FrameWork)是编译好的二进制文件,编译的时候只需要 Link 一下,提高浪费编译时间,库分为静态库和动态库. 基础知识 静态库即静态链接库(Windows 下的 .lib,Linux 和 Mac 下的 .a).之所以叫做静态,是因为静态库在编译的时候会被直接拷贝一份,…
使用imageIO获取和修改图片的exif信息 一幅图片除了包含我们能看见的像素信息,背后还包含了拍摄时间,光圈大小,曝光等信息.UIImage类将这些细节信息都隐藏了起来,只提供我们关心的图片尺寸,图片方向等.我们可以通过imageIO框架获取到图片背后的所有信息,下面就让我们一起看看. 一.获取图片信息 imageIO框架是iOS中偏底层一点儿的框架,它内部提供的接口都是C风格的,关键数据也都是使用CoreFoundation进行存储.庆幸的是CoreFoundation中有很多数据类型都可…
Core Telephony Framework(核心通讯框架) 概述: 这个库的前缀为CT(Core Telephony),主要用来获得用户通讯相关信息,我们可以使用这些信息来定义外部接口以便自己使用.当然我们也可以仅仅是用此信息来获得当前正在通话的信息. CT的对象可以获得通讯信息,例如可以利用此进行网络电话(VoIP — Voice over Internet Protocol).而又如CTCall可以帮助我们获得很多当前通话的信息,包括一个唯一码和一个状态值——呼叫(dialing).呼…
Unity打IOS时会先生成一个Xcode工程,如果你需要增加一些第三方的framework那么需要手动一条一条的添加,这太烦了..而且可能你还需要修改Plist文件,甚至还可能要修改unity自动生成的oc代码,每次打包都要修改的话,那太累了..这篇文章就是全自动打包的第一步..建议使用XUPorter,我在它的基础上拓展了两个类,一个用来修改plist,一个用来修改unity生成出来的OC代码.文章的最后我会给出代码.. 那么我用一个比较变态的SDK举个例子ShareSDK,它就需要自动添加…
iOS开发中播放音乐可以使用MPMusicPlayerController类来实现,播放视频可以使用MPMoviePlayerController和MPMoviePlayerViewController类来实现,同时MPMediaPickerController 类可以用于从系统媒体库中选择媒体播放.这几个类都包含与MediaPlayer.framework框架中. 这里主要介绍MediaPlayer.framework 指定根视图: RootTableViewController *rootT…
一.开发SDK时的支持情况: OC语言制作动态库时,支持iOS8+:OC语言制作静态库,支持iOS7+. Swift语言制作动态库时,支持iOS8+;Swift不支持静态库. 对于SDK来说,支持情况非常重要.像我就是一开始就被坑了,我使用Swift开发动态库的方式提供SDK,所以只能支持到iOS8+.但这意味着所有使用我的SDK的客户的APP都必须到iOS8+,这就坑爹了. 所以假如需要支持iOS7的话,只有使用OC语言开发.a静态库的一条路. 二.第三方库的使用: 原本SDK已经作为别人AP…
找到服务器svn的安装目录,或者直接查找httpd.conf,找到端口号,复制到ios系统的svn端口号,就ok了,如图 这是其他人的解决方法 Subversion有两种不同的配置方式,一种基于它自带的轻量级服务器svnserve,一种基于非常流行的Web服务器Apache. 根据不同的配置方式,Subversion使用不同的端口对外提供服务. 基于svnserve的,默认端口为3690, 基于Apache的,默认端口为Apache的默认端口80. 有时候,我们会因为防火墙或其它原因,需要修改这…