IOS开发知识归纳
文章平均质量分 81
Larry_qidian
奇点创始人,曾任未来国际金融部,负责银行信用社远程集中授权系统和监控报警系统的开发和维护,拥有多年大型企业的开发经验,追求产品的极致体验。
展开
-
高逼格"程序员"产品-奇点v1.10新版本上线
官网下载地址AppStore下载地址功能更新一览 一直想为编程开发、设计、运营推广、关注科技、关注热点,关注技术的开发者提供一个阅读、交流、分享的社区平台,今天我们版本的第二次更新功能更全面,界面体验的优化更流畅,可以在这里写篇博客来嘚瑟一下了!奇点客户端带来的主要功能点:看到好的文章、感兴趣的文章想收藏,复制文章链接即可一键收藏文章到自己的收藏夹,收藏夹支持创建分类、修改、删除等多个功能。原创 2016-08-22 14:02:37 · 813 阅读 · 0 评论 -
基于AFNetWorking3.0的图片缓存分析
文/Yasin的简书(简书作者)原文链接:http://www.jianshu.com/p/b1045c3fc8d0著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。图片在APP中占有重要的角色,对图片做好缓存是重要的一项工作。[TOC]理论不喜欢理论的可以直接跳到下面的Demo实践部分缓存介绍缓存按照保存位置可以分为两类:内存缓存、硬盘缓存(FMD原创 2016-03-11 15:16:39 · 1290 阅读 · 0 评论 -
音乐播放器 - iOS开发
锁屏下歌词轮播前言通过这文章你会学到:如何使用AVAudioPlayer播放本地音乐app进入后台时,仍能播放音乐,并且能在控制台控制播放暂停提供锁屏下的信息,例如图片将文字和图片合成为新的图片,实现类似 网易云 锁屏下轮播歌词的原理。播放音乐使用AVFoundation在文件任意地方写下下面代码,然后执行playBackgroundMu翻译 2016-02-25 22:22:24 · 1139 阅读 · 0 评论 -
iOS中常用的持久化存储方式有好几种
前言iOS中常用的持久化存储方式有好几种:偏好设置(NSUserDefaults)plist文件存储归档SQLite3Core Data这里不细讲数据库,只针对性地讲讲文件存储、归档/解档、偏好设置等。在此之前,我们需要先讲讲沙盒(Sandbox)才能继续讲解。沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其原创 2016-03-21 12:02:42 · 1138 阅读 · 0 评论 -
Github源码推荐:(01.04):iOS开发蓝牙,启动动画,自定义Tabbar
"iOS开发蓝牙框架,以及酷炫的启动动画,还有低耦合的自定义的TabBar"NO.1 国内最全面的iOS蓝牙开发框架━━∝∞ ∝∞┅┉┉下载暂无效果图具体用法如下中心模式 central modelapp作为中心,连接其他BLE4.0外设//导入.h文件和系统蓝牙库的头文件#import "BabyBluetooth.h"//定义翻译 2016-04-01 13:58:20 · 937 阅读 · 0 评论 -
iOS-点击推送消息跳转处理
当用户通过点击通知消息进入应用时 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptionslaunchOptions中会有推送消息的userInfo信息,此时我们可以通过NSDictionary* remoteNotificat原创 2016-02-23 22:57:46 · 746 阅读 · 0 评论 -
如何删除xcode项目中不再使用的图片资源
由于随着项目不但的版本迭代开发,资源也不断的替换,如果没有养成一个好的使用习惯,时间久了,自然就产生了好多的无用的图片资源,下面就两种方法帮你定位到无用的图片1. 利用工具 下载地址 http://jeffhodnett.github.io/Unused/ 运行效果如下 2. 通过终端 执行 shell 命令a. 第一步建立.sh 文件 如 unu原创 2016-03-07 16:53:14 · 560 阅读 · 0 评论 -
在写一个iOS应用之前必须做的7件事(附相关资源)
这两年,我一直在编写并发布有质量的iOS 应用。我发现大多数的开发人员有直接跳进编码应用程序的核心逻辑的倾向,因为这是乐趣所在。遵循流程开发是很无聊的。我了解到最有效的方式是,如果你提前花些时间正确设置项目,你将会为将来节省大量的时间。如果你是一位独立开发者,你可能意识不到下面提到的这些步骤的重要性。大多数优秀的应用程序都由团队开发,如果遵循以下步骤,肯定能帮你减少挫败感并提升翻译 2016-03-17 22:29:27 · 341 阅读 · 0 评论 -
一文让你彻底了解iOS字体相关知识
一、iOS原生字体展示在label中选择字体的font,并把font由system改成custom后,就能在family中看到72种特殊字体。这些里面就有很炫的字体,但是全部是只针对英文数字,对中文无效。写了一个程序把所有的原生样式遍历出来展示可以达到如下效果。可以清楚地看到每个字体对应的样式,不用再一个个试了。 如果你不是在董铂然博客园看到本文,请点击查看原文。原创 2016-02-18 21:04:16 · 382 阅读 · 0 评论 -
IOS各种调试技巧豪华套餐
目录 前言逼优鸡知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints)打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects)进击的码农 Console(lldb 命令) Profile(instrume翻译 2016-03-03 17:38:24 · 564 阅读 · 0 评论 -
iOS开发中如何合理地制造BUG
1447918217868000.png什么是BUG,简单点说就是,程序没有按照我们预想的方式运行。我比较喜欢把BUG分成两类:Crash掉的没有Crash掉的可能在平时的编程实践中,往往简单的把BUG与Crash基本等价了。而且我们很多精力也都放在解决Crash的Bug上面。而对于没有Crash掉的BUG,似乎没有过多的关注。但是,实际情况上那些让人痛彻心扉的“天坑”翻译 2016-03-03 14:31:42 · 319 阅读 · 0 评论 -
(类似购物车)单选全选tableViewCell
最近写了一个类似购物车那种单选全选的功能!详细代码请到我的GitHub下载来看看:注意:代码下载下来可能会报如下图的错误,这是由于pod安装慢的问题 解决方法:打开终端 cd 项目路径 回车 输入pod install --verbose --no-repo-update 回车, 就没有错误了!有错误或者有更好的思路,请加我QQ479309088 互相交流!谢谢!喜欢的关注一下小弟的简翻译 2016-01-13 21:09:58 · 1466 阅读 · 0 评论 -
一个完美封装AFNetworking的网络请求Demo
WSApiInvoker一个完美封装AFNetworking的网络请求Demo简介AFWSApiInvoker主要负责调用AFN做网络请求以及返回错误信息和请求结果ApiInvoker所有api请求类的父类,用于填充请求相关信息以及统一接口ApiRequest网络请求实例包含请求的所有信息ApiResponse服务器回应实例WSApi单例。继成Api翻译 2016-01-13 21:09:11 · 2831 阅读 · 0 评论 -
iOS缓存框架-PINCache解读
在项目中总是需要缓存一些网络请求数据以减轻服务器压力,业内也有许多优秀的开源的解决方案。通常的缓存方案都是由内存缓存和磁盘缓存组成的,内存缓存速度快容量小,磁盘缓存容量大速度慢可持久化。常见的内存缓存有NSCache、TMMemoryCache、PINMemoryCache、YYMemoryCache。常见的磁盘缓存有TMDiskCache、PINDiskCache、SDWebImage。这次解读翻译 2016-01-13 21:08:13 · 1736 阅读 · 0 评论 -
在团队开发中使用 CocoaPods 的小技巧
在我工作的一个团队中,我们有很多关于安装 CocoaPods 的问题。团队成员拥有不同的 cocoapods gem 的安装版本,并且当有人运行 pod install 时,会将事情搞得一团糟。我们最终不得不委托一人安装 CocoaPods,并且把工程推到 GitHub 上以供我们使用。这显然是不够灵活的,并且对于我们团队或者是委托人来说都不是一个很满意的解决方式。我跟 @Ne原创 2016-01-09 19:37:21 · 518 阅读 · 0 评论 -
[iOS]技术学习路线图(长期更新)[好久不见,
iOS系统的更新路程[iOS]系统更新: iOS6[iOS]系统更新: iOS7[iOS]系统更新: iOS8[iOS]系统更新: iOS9iOS-SDK更新路程[iOS]API更新: iOS6[iOS]API更新: iOS7[iOS]API更新: iOS8[iOS]API更新: iOS9iOS开发常用工具简介[iOS]Time Profiler工具[iOS翻译 2016-01-09 19:24:53 · 1150 阅读 · 0 评论 -
[iOS]iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览
3DTouchUITouch类里API的变化iOS9中添加的属性altitudeAngle当笔平行于平面时,该值为0当笔垂直于平面时,该值为Pi / 2estimatedProperties当前触摸对象估计的触摸特性返回值是UITouchPropertyiesupdatedPro翻译 2016-01-09 19:22:45 · 346 阅读 · 0 评论 -
从UIImage的矩阵变换看矩阵运算的原理
1.矩阵的基本知识:struct CGAffineTransform{ CGFloat a, b, c, d; CGFloat tx, ty;};CGAffineTransform CGAffineTransformMake (CGFloat a,CGFloat b,CGFloat c,CGFloat d,CGFloat tx,CGFloat ty);原创 2016-04-05 11:39:05 · 478 阅读 · 0 评论 -
Storyboard的爱与恨
本文为投稿文章,作者:潘晟尽管现在已经是Apple将Storyboard整合进Xcode中的第四个年头,大家对于Storyboard的评价仍然褒贬不一。有早期就选择转向Storyboard用于UI开发的国内业界领头人物,也有创建项目就立马删除Storyboard的大牛。我经历过纯代码布局,同时也在多个多人合作项目中使用Storyboard开发界面。在初期绕过各种坑后,Storybo翻译 2016-02-27 18:32:01 · 359 阅读 · 0 评论 -
WebKit库之——WKWebView篇
webkit使用WKWebView来代替IOS的UIWebView和OSX的WebView,并且使用Nitro JavaScript引擎,这意味着所有第三方浏览器运行JavaScript将会跟safari一样快。第一、WKWebView增加的属性和方法类比UIWebView,跟UIWebView的API对比,增加的属性:1、estimatedProgress 加载进度条,在IOS8转载 2015-11-25 20:18:00 · 854 阅读 · 0 评论 -
IOS开发 PageViewController和UIPageControl
以前经常把这两个东西当成一回事, PageViewController像电子书那样,一页之中可以放几个childViewcontroller, 然后左右翻,当前frame显示几个viewcontroller。 UIPageControl配合scrollView是用于左右滑动翻页的,当前frame只显示一个viewcontroller。Page View Controllers你使转载 2015-12-11 10:52:03 · 3470 阅读 · 0 评论 -
在iOS开发中使用自定义字体
在iOS的项目开发中经常遇到需要使用一些自定义的字体文件,比如仿宋_GB2312、方正小标宋_GBK等。之前我们为了使用这些自定义的字体,在应用的资源包中放入这些字体文件。因为字体文件通常比较大,有的一个字库就达到10M以上(拿方正小标宋_GBK这个字库来说就有13M之多),这样打包后的ipa文件的体积就可能会变得很大,对于只有个别的模块需要特殊的字体样式的应用来说很不划算,那么在iOS6.0以后转载 2015-11-19 20:57:01 · 2944 阅读 · 1 评论 -
iOS开发中尽量不要在viewWillDisappear:方法中移除通知
在了解控制器的生命周期之后,我们都知道viewWillAppear:方法是在控制器的view将要显示的时候调用的,而viewWillDisappear:方法是在控制器的view将要隐藏的时候调用。很多时候我们根据自身需要将相关代码逻辑添加到这两个方法中,我们看下如下代码片段:监听键盘的通知代码这段代码是在控制器的viewDidLoad:方法中注册了一个键盘弹出的转载 2015-12-18 14:09:17 · 3287 阅读 · 0 评论 -
Xcode 6制作动态及静态Framework
有没有写SDK或者要将一些常用的工具类做成Framework的经历? 你或许自己写脚本完成了这项工作,相信也有很多的人使用 iOS-Universal-Framework ,随着Xcode 6的发布,相信小伙伴们已经都知道了,Xcode 6支持做Framework了. 同时iOS-Universal-Framework开发者也宣布不在继续维持此项目的开发,建议开发者使用Xcode 6制作,目前网上翻译 2015-11-10 15:27:11 · 268 阅读 · 0 评论 -
object-c编程tips-jastor自动解析
过去写iphone程序一直都没有用过自动解析,都是手动按着字典一层一层的解析,这样费时费力,还容易出错。后来公司来了新朋友带来了自动解析的jastor库,着实不错。简单介绍一下jastorjastor是一个基于oc运行时的库,它可以将字典对象转换成NSObject对象。它支持NSString, NSNumber,NSArray, NSDictionary以及它们的嵌套类型。转载 2015-11-02 15:14:49 · 375 阅读 · 0 评论 -
如何给App快速搭建虚拟服务器
我想开发一个APP,没有后台怎么办?刚创业,只有一个前端,没有后台或者后台人员任务较多时,怎么办?首先,我会这么想:如何快速的将App开发出来,当后台到位后,对接接口时,如何以最小的成本,修改前端的代码?常见的做法是:在App中使用测试代码, 测试数据等等。这样的缺点是,需要修改大量代码,同时测试的路径不全,当后台接口转载 2015-11-14 23:08:39 · 571 阅读 · 0 评论 -
iOS开发网络数据之AFNetworking使用
http网络库是集XML解析,Json解析,网络图片下载,plist解析,数据流请求操作,上传,下载,缓存等网络众多功能于一身的强大的类库。最新版本支持session,xctool单元测试。网络获取数据一直是手机软件的重中之重,如果处理的不好,会造成很差的用户体验。随着ASIHTTPRequest的停止更新,更换网络库是必然的事情,AFNetworking就是很好的替代品。而且都是轻量级,不要担心转载 2015-10-12 15:10:13 · 12664 阅读 · 0 评论 -
猿题库 iOS 客户端架构设计
这篇文章详细介绍了猿题库客户端架构的设计和思考,当然,也有大量的代码示例。 引入了一个名为 Data Controller 的层级为 View Controller 瘦身,并且借鉴了 MVVM 的思想来将界面与底层解耦。这套架构帮助猿题库彻底解耦了UI和逻辑层的开发工作,并且使 View Controller 的代码极为精简,由于 Data Controller 与界面无关,它甚至使单元测转载 2016-01-05 21:25:32 · 1108 阅读 · 0 评论 -
iOS开发调试技巧总结
对于软件开发而言,调试是必须学会的技能,重要性不言而喻。对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中。不同语言、不同IDE、不同平台的调试,有同性也有个性。今天我们就来学习一下iOS开发中的调试技巧,语言暂用为OC,IDE当然是强大的Xcode。首先说明下,Xcode已经为我们调试项目提供了极大的方便。【1.普通转载 2016-03-22 14:41:41 · 417 阅读 · 0 评论 -
iOS如何查看崩溃信息
图片在APP中占有重要的角色,对图片做好缓存是重要的一项工作。[TOC]理论不喜欢理论的可以直接跳到下面的Demo实践部分缓存介绍缓存按照保存位置可以分为两类:内存缓存、硬盘缓存(FMDB、CoreData...)。我们常说的数据缓存包含内存缓存、硬盘缓存和网络请求URL缓存。其中网络请求URL缓存也包含内存缓存和硬盘缓存。图片缓存思路图片缓存流程图.png转载 2016-03-23 11:30:35 · 1235 阅读 · 0 评论 -
oc 和swift 混编之--准备工作
之前的一段时间在学习swift,觉得可以出师了,哈哈哈,遂打算把oc 和swift混编起来,混起来才发现远远比想象的要复杂。当然在这个过程中,自己也学到了不少知识,享受到了不少乐趣,简记下来,也算是对自己的一个总结,如果能帮到别人那是更好不过的啦!好啦,开始吧!因为当前正在做的项目是用oc 写的,也不打算用swift重新写一遍,所以直接在当前项目里加入swift代码,这当然是允许的,不原创 2016-03-28 14:06:35 · 644 阅读 · 1 评论 -
即时通讯常用第三方库
在这里总结一下自己平时开发即时通讯类App常用的控件,以供大家参考。本文出自我的大学同学之手,发布到此,希望对大家有用!新浪微博@安靜只是1種表達微信公众号lishichaosaid1、聊天列表SWTableViewCell: https://github.com/CEWendel/SWTableViewCell.git正常情况下原创 2016-03-15 14:14:39 · 2134 阅读 · 0 评论 -
Cocoa 新的依赖管理工具:Carthage
说到 iOS 的依赖管理工具,大家一定首先想到的是 CocoaPods ,不错,CocoaPods 确实是一个很好依赖管理工具,已然成为了 Cocoa 依赖管理的标准,丰富的支持库、文档等等,CocoaPods 相关的文章有很多,这里就不一一赘述了。今天要介绍的是一款新的依赖管理工具,名曰 “Carthage”,名字有点难理解,简单方便,完全独立,不修改 XCode 项目文件或配置。简介原创 2016-03-25 11:18:14 · 498 阅读 · 0 评论 -
一步一步实现iOS微信自动抢红包(非越狱)
微信红包前言:最近笔者在研究iOS逆向工程,顺便拿微信来练手,在非越狱手机上实现了微信自动抢红包的功能。题外话:此教程是一篇严肃的学术探讨类文章,仅仅用于学习研究,也请读者不要用于商业或其他非法途径上,笔者一概不负责哟~~好了,接下来可以进入正题了!此教程所需要的工具/文件yololibclass-dumpdumpdecryptediOSOpenDeviTo翻译 2016-03-24 16:04:15 · 8147 阅读 · 6 评论 -
iOS开发编码建议与编程经验(持续更新中)
在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码。那么,有一个良好的编码习惯将会非常重要。下面将会罗列使用Objective-C来开发iOS的编码建议。【1】任意函数长度不得超过50行。(其实很容易就超过50行,这就要考虑代码抽取了。)【2】任意行代码不能超过80字符。(其实也很容易超过80字符,可以考虑多行显示,比如有多个参数时,可以每个参数放一行。)可以在Xcode中设置原创 2016-03-24 16:01:57 · 456 阅读 · 0 评论 -
分享你最喜欢的技巧和提示(Xcode,Objective-C,Swift,C...等等)
笔者分享总结如下(本篇会不定期进行更新) :Objective-C1.让Xcode的控制台支持LLDB类型的打印这有什么用?怎么说尼,笔者认为这个还是比较有用滴,为什么有用尼?因为在Xcode断点调试的时候, 在控制台输入 po self.view.frame 或者 po id 类型的时候就死翘翘了。不信? 看如下图 :进入正题打翻译 2016-01-09 19:17:45 · 616 阅读 · 0 评论 -
Xcode插件: MMNavigatorFont
Xcode的文件管理窗口的字体不等宽的问题也就是这个东西字体不等宽很难受有木有? 以前尝试过用TinkerTool 但是问题多多趁着这周有时间 所以花了点时间做了个插件MMNavigatorFont来解决这个问题插件效果大概是这个样子如何开发插件 这里就不介绍了 喵神的入门文章已经很好了下面介绍一下开发过程中遇到的几个问题以及解决办法翻译 2016-01-09 19:16:24 · 532 阅读 · 0 评论 -
iOS/OS X内存管理:借助工具解决内存问题
这篇我们主要关注在实际开发中会遇到哪些内存管理问题,以及如何使用工具来调试和解决。在往下看之前请下载实例MemoryProblems,我们将以这个工程展开如何检查和解决内存问题。悬挂指针问题悬挂指针(Dangling Pointer)就是当指针指向的对象已经释放或回收后,但没有对指针做任何修改(一般来说,将它指向空指针),而是仍然指向原来已经回收的地址。如果指针翻译 2015-12-24 16:59:16 · 438 阅读 · 0 评论 -
iOS数据库离线缓存思路和网络层封装
一直想总结一下关于iOS的离线数据缓存的方面的问题,然后最近也简单的对AFN进行了再次封装,所有想把这两个结合起来写一下。数据展示型的页面做离线缓存可以有更好的用户体验,用户在离线环境下仍然可以获取一些数据,这里的数据缓存首选肯定是SQLite,轻量级,对数据的存储读取相对于其他几种方式有优势,这里对AFN的封装没有涉及太多业务逻辑层面的需求,主要还是对一些方法再次封装方便使用,解除项目对第三方的翻译 2015-11-24 20:51:44 · 578 阅读 · 0 评论 -
向产品宣战——开发者眼中的Android UI Design
向产品宣战——开发者眼中的Android UI Design准备了半个月,思考产品设计、交互设计,见证了公司的产品、UE和开发的撕逼,将自己的思考、感悟,整理成下文,谨代表广大程序猿,向设计狮、产品X开战。希望广大程序猿能够坚持贯彻Google的Material Design,切实认真负责的执行Android的设计思想,将MD设计带到产品中去,不做中国特色的App,将Android的开发风翻译 2015-12-11 10:59:10 · 891 阅读 · 0 评论