iOS编译过程的原理和应用
前言一般可以将编程语言分为两种,编译语言和直译式语言。 像C++,Objective C都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在CPU上执行,所以执行效率较高。 像JavaScript,Python都是直译式语言。直译式语言不需要经过编译的
前言一般可以将编程语言分为两种,编译语言和直译式语言。 像C++,Objective C都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在CPU上执行,所以执行效率较高。 像JavaScript,Python都是直译式语言。直译式语言不需要经过编译的
LevelDB是Google公司重量级工程师Jeff Dean和Sanjay Ghemawat发起的开源项目。LevelDB是一个持久化存储的KV系统,和Redis这种内存型的KV系统不同,LevelDB不会像Redis一样狂吃内存,而是将大部分数据存储到磁盘上。目前能够支持bi
iOS崩溃是让iOS开发人员比较头痛的事情,app崩溃了,说明代码写的有问题,这时如何快速定位到崩溃的地方很重要。调试阶段是比较容易找到出问题的地方的,但是已经上线的app并分析崩溃报告就比较麻烦了。
最近项目组在做一些第三方功能的集成,不止一次的遇到第三方库冲突的问题,报错如下:
之前一直使用Octopress,折腾过好多次,出问题不少,而且生成文章速度越来越慢,需要自己添加各种插件,还弄过支持TOC一直没成功。 调研了一下,最终决定迁移到 Hexo,主要的原因是:
本文介绍的是自动clean本地项目,编译 打包 上传Bugly。原理就是利用python执行控制台命令,对iOS项目进行打包,需要安装 Xcode、Python。
HTTPS/SSL的基本原理安全套接字层 (Secure Socket Layer, SSL) 是用来实现互联网安全通信的最普遍的标准。Web 应用程序使用 HTTPS(基于 SSL 的 HTTP),HTTPS 使用数字证书来确保在服务器和客户端之间进行安全、加密的通信。在 SS
在iOS开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现 selector not recognized 的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入 -Ob
小伙伴们在升级 Xcode7 之后有些插件不能使用了。现提供如下解决办法:
LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器。LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。
CGImageSource是对图像数据读取任务的抽象,通过它可以获得图像对象、缩略图、图像的属性(包括Exif信息)。
aria2 是一款支持多种协议的轻量级命令行下载工具。有以下特性:
UIPageViewController是iOS中少见的动画视图控制器之一,通过它既可以创建类似UIScrollView与UIPageControl结合的滚屏视图,也可以创建类似图书效果的炫酷翻页视图。
多语言本地化的核心思想就是为每种语言单独定义一份资源,iOS就是通过xxx.lproj目录来定义每个语言的资源,这里的资源可以是图片,文本,Storyboard,Xib等。
对项目进行模块化管理,保证各个模块之前可以重用和替换,并且之后根据客户需求只加载用户需求的模块可以采用CocoaPods对各个模块进行管理,采用公有库和私有库共存的状态。然后在添加配置文件以及一些 Runtime的机制 进行管理。
说到“开源”代码很多人脑袋里面第一个想到的就是完全开源给全世界的人。但是这篇文章需要产生另一个分解,针对开源的对象进行分解。对于公开给所有的人的开源我们称之为公有库。而除了我们平常所说的开源外,还有一种形式是公司内部的开源,即对部分开源,通常情况下我们针对这个库有称之为私有库。
NSOperation表示了一个独立的计算单元。作为一个抽象类,它给了它的子类一个十分有用而且线程安全的方式来建立状态、优先级、依赖性和取消等的模型;不用我们考虑线程的生命周期、同步、加锁等问题。
初次使用关于使用我这里主要分为两个部分,一个部分是关于命令的层次来说的,一部分是关于Podfile的层次来说的。当然对于简单的使用用起来也非常简单。不过刚开始就来一个简单的吧。
Charles 是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。
Multipeer connectivity 是一个使附近设备通过WiFi网络、P2P WiFi以及蓝牙个人局域网进行通信的框架。互相链接的节点可以安全地传递信息、流或是其他文件资源,而不用通过网络服务。
在iOS系统,NSString可能是最常用的对象,很多用法跟其他语言不一样。
Core Text是和Core Graphics配合使用的,一般是在UIView的drawRect方法中的Graphics Context上进行绘制的。 且Core Text真正负责绘制的是文本部分,图片还是需要自己去手动绘制,所以你必须关注很多绘制的细节部分。
什么是Bitmap?Bitmap叫做位图,每一个像素点由1-32bit组成。每个像素点包括多个颜色组件和一个Alpha组件(例:RGBA)。 iOS中指出如下格式的图片 JPEG, GIF, PNG, TIF, ICO, GMP, XBM,和 CUR。其他格式的图片要给Quart
CoreAnimation 简介基本概念 CoreAnimation 可用在 Mac OS X和iOS平台 CoreAnimation 的动画执行过程都是在后台操作的,不会阻塞主线程。 CoreAnimation 是直接作用在CALayer 上的,并不是UIView。
在iPhone 6s和iPhone 6s Plus中Apple引入了3D Touch技术。3D Touch的触控技术,被苹果称为新一代多点触控技术。其实,就是此前在Apple Watch上采用的Force Touch,屏幕可感应不同的感压力度。
分辨率和像素经新xcode6模拟器验证(分辨率为pt,像素为真实pixel): iPhone5分辨率320x568,像素640x1136,@2x iPhone6分辨率375x667,像素750x1334,@2x iPhone6 Plus分辨率414x736,像素1242x220
wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。
正常都是使用的本地代理服务器的方式,原理很简单,但是缺点也很明显,需要自己写一个本地代理服务器或者使用第三方库httpSever。如果使用httpSever作为本地代理服务器,如果只缓存一个视频是没有问题的,如果缓存多个视频互相切换,本地代理服务器提供的数据很不稳定,crash概
在iOS的项目开发中经常遇到需要使用一些自定义的字体文件,之前我们为了使用这些自定义的字体,在应用的资源包中放入这些字体文件。 因为字体文件通常比较大,这样打包后的ipa文件的体积就可能会变得很大,对于只有个别的模块需要特殊的字体样式的应用来说很不划算,那么在iOS6.0以后苹果
Octopress默认只有分类没有标签,于是在网上找为octopress添加标签的方式并且整理记录下来。