
iOS
吹泡泡的星星koky
好的产品,第一版上线就应该很惊艳&开发有灵魂的产品
展开
-
iOS----BAT网易笔试&面试题&参考答案
阿里B2B - 一面 1,load方法执行顺序,分类和主类的load方法顺序,两个分类的load方法顺序,跟main函数的顺序 2,sqllite的跟orcale这些大型的数据库的机制有什么不同的? 3,sqllite用FMDB,FMDB是怎么实现防止多线程操作数据库的?(回答用了队列),用队列会不会用性能问题,比较慢?怎么做? 4,如果多个线程同时操作同张表,会造成什么问题? 5,同时上传9张图...原创 2018-05-15 14:54:42 · 6686 阅读 · 0 评论 -
iOS开发—— 音频(一):音频基础
音频播放来源: 码农人生博客音频基础 音频文件的生成过程是将声音信息采样、量化和编码产生的数字信号的过程 对声音进行采样、量化过程被称为脉冲编码调制(Pulse Code Modulation),简称PCM。PCM数据是最原始的音频数据完全无损音频格式,码率,编码等硬知识音频播放流程:1.读取MP3文件2.解析采样率、码率、时长等信息,分离MP3中的音频帧3.对分离出来的音频帧解码转载 2017-09-05 13:55:01 · 618 阅读 · 0 评论 -
【笔记】iOS开发用到的一些终端的命令
1.终端编译,查看存储的内存区域---拖入工程文件路径,回车输入clang -rewrite-objc 文件名 例: koky:~ rimicd/Users/rimi/Desktop/徐静/oc/Property/Propertykoky:Propertyrimi cd /Users/rimi/Desktop/徐静/oc/Property/Property koky:Property ri原创 2016-07-20 16:16:49 · 2120 阅读 · 0 评论 -
iOS调研——iOS10 作为开发者该知道什么?
在今年6月14号苹果WWDC开发者大会上,苹果带来了新的iOS系统——iOS 10。苹果为iOS 10带来了十大项更新。苹果高级副总裁Craig Federighi称此次对iOS的更新是“苹果史上最大的iOS更新”。新的屏幕通知查看方式:苹果为iOS 10带来了全新的通知查看功能,即抬起iPhone的屏幕,用户就能看到目前的通知和更新情况。苹果将Siri开放给第转载 2016-07-03 00:49:01 · 3659 阅读 · 0 评论 -
iOS开发——单元测试
单元测试闻名不如见面!在某技术交流群里问了下iOS开发的人,貌似写单元测试的程序猿不多,查了些资料写了demo,发现单元测试还是挺有用的,第一次用就确实测试出了运行成功语法没错,但是存在问题的方法!初次见面还是印象不错,那还是从概念开始深入认识吧一.概念 单元测试又称模块测试,属于白盒测试,是最小单位的测试。模块分为程序模块和功能模块。功能模块指实现了一个完整功能的模块(单元),一个完整的程序单原创 2016-07-01 17:09:23 · 3938 阅读 · 0 评论 -
调研——日志记录库之对比友盟和bugly
调研日志记录库总结: 对比点 友盟 腾讯bugly 基础功能集成简单 √ 统计实时性 √ 方便导出 √ 邮件 每日崩溃简报 错误备注 √ 更全设备信息 √ 强大筛选功能 √ 加密日志 √ 自定义标签 √ 自定义事件统计 √ 设置收集策略 √原创 2016-07-07 18:07:14 · 4645 阅读 · 0 评论 -
iOS调试——打印即将出现的控制器
想要知道并打印出来当前显示的页面对应的是哪一个控制器,可以根据情况使用继承或者分类,这里写下分类的代码原创 2016-10-26 13:36:18 · 516 阅读 · 0 评论 -
iOS调试——警告解决办法sending 'viewcontroller *' to parameter of incompatible type 'id UMSocialUIDelegate
warning: delegate:vcWhen working with a static Class, you can manually get ride of the warning: delegate:(id<UMSocialUIDelegate>)vc原创 2016-12-05 09:58:18 · 2071 阅读 · 0 评论 -
iOS调试——点击手势响应冲突处理办法
控件过滤:有些控件需要响应手势有些不需要原创 2017-03-01 09:40:18 · 1607 阅读 · 0 评论 -
iOS调试——cocoa pods 添加ReactiveCocoa报错swift版本处理办法
不用设置swift版本 ,可以只修改这里原创 2017-03-01 10:59:47 · 1012 阅读 · 0 评论 -
iOS调试——多个Xcode导致CocoaPods导入三方库报错处理办法
在终端命令行输入如下指令,选择要用的xcode,举例sudo xcode-select -switch /Applications/Xcode-beta.app输入密码即可再重新pod install原创 2017-06-26 21:43:00 · 375 阅读 · 0 评论 -
iOS调试——部分日期字符串转换成NSDate对象为nil处理办法
如果DateFormatter的时区设置为我国实行了夏令时的城市,19860504、19870412、19880410、19890416、19900415、19910414 这些日期转换成NSDate对象为nil这个case的代码修改方式为:给dateFormatter显示设置时区偏移量[dateFormatter setTimeZone:[NSTimeZone timeZoneF转载 2017-06-14 09:54:05 · 1137 阅读 · 0 评论 -
iOS开发——OC和JS混编
webView设置请求header: 应用:没有登录 Header字典里不加authorization 项目需要设置Header,NSURLRequest 请求没有直接设置header 的方法,需要通过NSMutableURLRequest 来实现 例:header存放:方法,URL,contentType,当前时间,secret,keyId,deviceToken等,数据经过对字符串进原创 2017-07-25 16:42:39 · 329 阅读 · 0 评论 -
iOS开发——数据存储法则
Stack Overflow上的一种数据存储法则:若数据完全匹配内存且相对非结构化,则使用plist若数据完全匹配内存且具有树状结构,则使用XML若数据与内存不匹配且具有图形结构,同时应用不需要额外的查询能力,则使用Core Data如果数据与内存不匹配且具有复杂结构,或应用需要关系数据库提供的强查询能力,则使用sqlite如果数据必须保密(例如密码),则使用keychain。下面列了一原创 2017-07-25 16:53:18 · 367 阅读 · 0 评论 -
iOS优化——保持界面流畅的技巧
转载出处:http://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/ ibireme | 2015-11-12 | iOS, 技术这篇文章会非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。Index演示项目屏幕显示图像的原理卡顿产生的...转载 2017-07-26 09:59:47 · 1098 阅读 · 0 评论 -
iOS开发——音频播放 (二):AudioSession
[摘自:码农人生博客](http://msching.github.io/blog/2014/07/08/audio-in-ios-2/)本篇为《iOS音频播放》系列的第二篇。在实施前一篇中所述的7个步骤之前还必须面对一个麻烦的问题,AudioSession。本篇主要介绍关于AudioSession使用、期间需要注意的地方以及可能面临的坑。Aud转载 2017-09-06 13:33:25 · 570 阅读 · 0 评论 -
iOS开发——音频播放 (五):AudioQueue
在第三篇和第四篇中介绍了如何用AudioStreamFile和AudioFile解析音频数据格式、分离音频帧。下一步终于可以使用分离出来的音频帧进行播放了,本篇中将来讲一讲如何使用AudioQueue播放音频数据。转载 2017-09-25 20:20:06 · 764 阅读 · 0 评论 -
通过小程序开发,对iOS开发有什么启示
1.精简项目因为小程序有项目大小限制,超过限制无法预览,无法上传。限制2048KB,就是2M。所以开发过程中要常常保证图片是压缩过的,大图用base64编码或放在服务区,少放图片在本地,本地的图要压缩要保证不失真下尽量小。代码也是不用的和可以精简的尽量少。2.安全考虑小程序必须要把请求URL和打开的网页链接加入到合法域名才可以正常使用和显示。做软件开发时,对外链的跳转等同样可以做安全限制上的考虑。...原创 2018-04-19 16:55:02 · 520 阅读 · 0 评论 -
教印度小伙伴怎么开发微信登录微信分享记录
需要:注册微信开放平台,创建应用并提交,审核通过后,打开微信开放平台,点击管理应用,在审核通过后的应用信息页面,申请微信登录注意点:1.创建应用的时候,iOS需要bundle id ,安卓需要package name, 建议开发人员提供给创建应用人员,需要保证创建的应用的bundleID和项目里保持一致,不然调用微信登录授权会不成功2.审核通过后可以拿到appid 和secret,记录下来给开发人...原创 2018-03-30 11:41:25 · 1463 阅读 · 0 评论 -
iOS优化----优化tableview
实现和优化TableView优化tableview: 1.复用单元格; 2.使用不透明的试图,单元格中尽量少使用动画; 3.图片使用异步加载同时设置图片加载的并发数; 4.滑动时不加载图片,滑动结束开始加载; 5.文字图片可以直接drawInRect绘制; 6.非必要条件下,减少刷新的cell; 7.如果cell是动态行高,可直接计算高度后缓存解决tableviewcell加载数据过多导致tabl...原创 2018-03-13 15:53:37 · 236 阅读 · 0 评论 -
iOS11的特性
作者:Hflydragon链接:https://www.jianshu.com/p/e15150107018來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。1.UIKit Bars的改版1.在浏览功能上的大标题视图(向上滑动后标题会回到原来的UI效果)、横屏状态下tab上的文字和icon会变为左右排列。横屏.png当然,如果图标和文字觉得太小了,可以长按item进行放...转载 2018-03-09 13:34:12 · 356 阅读 · 0 评论 -
iOS-自学用到的资源
盘点iOS开发者必看的105个全球最佳博客Cocoa Is My Girlfriend另外一些比较好的基础技能博文:唐巧基础技能码农人生 关于音频写的很细致调试技巧+越狱图片缓存库的制作 设计模式分分钟制作bug上报工具用swift来写swift 关于 Swift 的资源 :Great Swift resources localization的问题和工具...原创 2018-03-07 21:40:51 · 238 阅读 · 0 评论 -
【笔记】iOS应用逆向工程
逆向交流论坛 目标:拿到任意一个APP后能够大致推断出他的项目规模和使用的技术,比如他的MVC模型如何建立,引用了哪些framework和经典的开源代码。 逆向的作用:1.原创 2018-03-07 11:49:47 · 384 阅读 · 0 评论 -
iOS 第三方库、插件、知名博客总结
作者:大灰狼的小绵羊哥哥链接:https://www.jianshu.com/p/fa0b6f594c36來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处用到的组件1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reac转载 2018-01-08 17:03:43 · 5962 阅读 · 0 评论 -
iOS开发——技术路线技能点记录
基础规范命名(前缀,缩进,对齐,驼峰命名,控制器全称,代理方法规范)模块分类,工具组件独立封装,部分开源组件githubIB(storyboard + xib)内存管理(MRC,ARC,变量地址存放,数据本地存储,block变量存放等,堆,栈,对象引用释放,内存泄漏检测及处理等)instruments使用(内存,电量,cpu,gpu,动画)常用三方原理 (AF,AF+cach...原创 2017-08-28 09:49:21 · 1032 阅读 · 0 评论 -
iOS调试——关于insertRowsAtIndexPaths方法崩溃以及动画实效的处理办法
关于insertRowsAtIndexPaths方法崩溃以及动画实效的处理办法原创 2017-10-11 16:05:27 · 5204 阅读 · 0 评论 -
iOS开发——音频播放 (四):AudioFile
和AudioStreamFile一样AudioFile是AudioToolBox framework中的一员,它也能够完成第一篇所述的第2步,读取音频格式信息和进行帧分离,但事实上它的功能远不止如此。转载 2017-09-22 13:11:06 · 390 阅读 · 0 评论 -
FILE文件流操作之fopen、fseek、fread、fclose
FILE文件流用于对文件的快速操作,主要的操作函数有fopen、fseek、fread、fclose,在对文件结构比较清楚时使用这几个函数会比较快捷的得到文件中具体位置的数据,提取对我们有用的信息,满足编程中的需要。以下分别进行说明,还有他们使用时的注意事项转载 2017-09-28 11:14:24 · 847 阅读 · 0 评论 -
iOS调研——Masonry与SDAutoLayout相比较
相比较Masonry与SDAutoLayout,使用心得使用方法官方demo 都非常清晰,本文仅从原理及对比角度来看使用。目录:相比较Masonry与SDAutoLayout 及时刷新依赖性基本原理使用便易性思想SDAutoLayout基本原理Masonry基本原理相比较Masonry与SDAutoLayout及时刷新:SDAutoLayout需要依赖顺序,调换相对位置的控件,需要原创 2017-09-19 20:10:46 · 3136 阅读 · 0 评论 -
iOS开发——音频播放 (三):AudioFileStream
AudioFileStreamer用在流播放中,当然不仅限于网络流,本地文件同样可以用它来读取信息和分离音频帧。转载 2017-09-19 19:39:53 · 966 阅读 · 0 评论 -
iOS调试——适配iOS11,iPhoneX问题及解决办法
iPhoneX:问题1.app上下各有空间,未全屏解决办法:UI给新图后,新增 launchimg启动图 。图片尺寸:1125 * 24362.问题:使用MJRefresh,下拉刷新UI错误解决办法:方法一:如果多个页面用tableview,建议使用 baseTableView,继承。baseTableView实现下列方法OC:if (@原创 2017-09-20 15:21:04 · 2747 阅读 · 0 评论 -
iOS开发——有关RunLoop
原文链接深入理解RunLoop 苹果利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。RunLoop 的概念RunLoop 实际上就是一个对象,这个对象管理了其需要处理的事件和消息,并提供了一个入口函数来执行Event Loop 的逻辑(让线程能随时处理事件但并不退出,在没有处理消息时休眠以避免资源占用、在有消息到来时立刻被唤醒)RunLoop 与线程的关系CFRun原创 2017-08-01 18:13:50 · 317 阅读 · 0 评论 -
iOS调试——打全局断点后总是在断在App delegate里处理办法
打全局断点后总是在断在App delegate里处理办法原创 2017-08-02 16:29:23 · 600 阅读 · 0 评论 -
Objective-C Runtime 深入了解
前言Runtime是iOS开发者进阶必须学习的一个知识点。网上关于Runtime 有许多介绍,有深入有简单介绍,也有实际应用举例,但是都不够系统,相关的知识点得不到关联,对runtime 的认知不能形成一个体系。这里参照苹果官方文档,加上自己的一些理解,进行了系统的介绍总结。 文章篇幅很长,前面很大一部分是概念介绍有点枯燥,如果想直接学习runtime的使用可以直接查看后面的常见使用介绍,转载 2016-07-03 00:29:16 · 454 阅读 · 0 评论 -
Swift实战——模板模式
转自:Sindri的小巢(简书)设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。GoF提出了23种设计模式,本系列将使用Swift语言来实现这些设计模式。概述模板设计模式是最基础的设计模式之一,在网上被称作模板方法模式,但实际运用时这种设计模式却不仅仅局限于方法。因此笔者对于模板设计模式的理解定义如下:【模转载 2016-07-03 00:09:48 · 552 阅读 · 0 评论 -
NSURLCache一些缓存策略值
客户端使用NSURLCache配合AFNetworking进行网络请求。 NSURLCache有以下一些缓存策略值,在NSMutableURLRequest的cachePolicy可以进行设置。客户端的实现有以下几个要点:在请求回调的block中加入对Etag值进行固化操作,使用NSKeyedArchiver的形式保存到本地文件,以请求的url后缀作为keyAFHTTPClient转载 2016-06-13 15:47:29 · 472 阅读 · 0 评论 -
DES,RSA,MD5,AES加密
DES/3DES/AES区别公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。DES 1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DESData Encryption Standard) 。 目前在国内,原创 2016-06-04 12:47:00 · 415 阅读 · 0 评论 -
iOS调试技巧
转载自:http://www.hotobear.com/iOS调试技巧(1)——断点iOS调试技巧(2)——堆栈iOS调试技巧(3)—— Attach to Process with XcodeiOS调试技巧(4)—— LLDB指令一:断点断点是最基本的调试技巧之一。很长一段时间内,我都觉得断点毫无技巧可言,随着接触愈深,才发现自己真是“too native转载 2016-05-30 18:27:42 · 2740 阅读 · 0 评论 -
单纯的总结TCP
本文目录:一:TCP基本概念二:TCP特点三:TCP连接一:TCP基本概念:从计算机网络体系结构(五层协议如下)上讲,运输层向他上面的应用层提供通信服务,即进程间的逻辑通信。 应用层-- HTTP协议运输层--原创 2016-05-30 16:18:19 · 302 阅读 · 0 评论 -
github上很好的iOS资源集锦
系统基础库Category/Util sstoolkit一套Category类型的库,附带很多自定义控件 功能不错~ BlocksKit将Block风格带入UIKit和Founcation cocoa-helpers一些Cocoa的扩展 2年前的工程 CoconutKit转载 2016-05-27 16:45:26 · 1649 阅读 · 0 评论