iOS开发技术系列
文章平均质量分 64
黔北iOSer
人与人的区别在于性格.好事不喜,坏事不忧,集中精力,专注于事,厚积薄发.
展开
-
GIT解决冲突的方法
GIT使用原创 2022-11-25 17:54:40 · 1941 阅读 · 0 评论 -
RSA基本用法原理
RSA简介RSA算法是一种非对称加密算法,常被用于加密数据传输.如果配合上数字摘要算法, 也可以用于文件签名. 这种加密传输方式会被用在网银类App中.虽然网银会采用全站https方案, 但是在安全登录这块会使用另一个证书对登录信息加密, 这样可以双层确保数据安全.本文环境mac os openssl-1.0.1j, openssl需要使用1.x版本,推荐使用homebrew安装. Java原创 2016-04-05 23:36:54 · 2808 阅读 · 0 评论 -
UIButton圆角以及边框设置
UIButton *signBtn = [UIButton buttonWithType:UIButtonTypeCustom];signBtn.frame = CGRectMake(0, 0, 80, 40);[signBtn.layer setMasksToBounds:YES];[signBtn.layer setCornerRadius:10.0]; //设置矩形四个圆角半径[sig原创 2016-08-07 00:05:28 · 1021 阅读 · 0 评论 -
iOS模拟器与真机SDKS路径
模拟器:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs真机:Applications/Xcode.app/Contents/Developer/Platforms /iPhoneOS.platform/Developer/SDKs原创 2016-06-12 14:49:06 · 424 阅读 · 0 评论 -
CocoaPods 使用总结记录
CocoaPods 使用总结记录platform :ios, '8.0'use_frameworks!target 'MyApp' do pod 'AFNetworking', '~> 2.6' pod 'ORStackView', '~> 3.0' pod 'SwiftyJSON', '~> 2.3'end最新版必须加 target ‘项目名’ do, 官方文档如此说明.原创 2016-04-19 09:40:46 · 238 阅读 · 0 评论 -
xcconfig 使用说明
xcconfig使用说明xcconfig是Apple开发中常用来配置项目使用的,一般用来配置不同的开发模式:调试模式,生产模式,发布模式创建xcconfig文件在创建xcconfig文件的时候,首先就创建这么几个配置文件TestConfigurationDebug.xcconfig、TestConfigurationRelease.xcconfig、TestConfigurationAppstore原创 2016-04-18 17:17:25 · 1562 阅读 · 0 评论 -
Cocoapods更新慢
pod install –verbose –no-repo-update pod update –verbose –no-repo-update原创 2016-04-16 23:19:43 · 472 阅读 · 0 评论 -
非常安全的加密方式
http://ios.jobbole.com/84351/ 做个记录原创 2016-04-05 22:13:13 · 355 阅读 · 0 评论 -
iOS--- 不一样的NSLog打印
首先我们了解一下C/C++/Objective-C语言提供的宏 iOS— 不一样的NSLog打印C/C++/Objective-C用于日志输出的预处理宏 Macro Format Specifier Description func %S 当前函数 LINE %d 源文件中的行号 FILE %s 源码文件完整路径 PRETTY_FUNCTION原创 2016-08-07 22:18:31 · 980 阅读 · 5 评论 -
如何制作一个类似Uber的溅落式启动屏
如何制作一个类似Uber的溅落式启动屏1.前言本文翻译自 How To Create an Uber Splash Screen, 由 Derek Selander 发表于Raywenderlich。受限于译者英语水平及翻译经验,译文容难免有词不达意,甚至翻译错误的地方,还望不吝赐教予以指正 。一个好的溅落式启动页,使开发人员有机会再真是动画期间,从后端获取必要的数据.同时它在应用启动期间让用户始终翻译 2016-08-18 20:34:20 · 724 阅读 · 0 评论 -
打开TestFlight并链接到具体的应用下载界面
在我们应用正式上线前,许多时候都会有小流量的测试,选取部分核心用户抢先试用,在TestFlight出来之前,一般都是通过企业证书打包,然后提供给用户下载地址,安装测试使用,这个有个不爽之处就是,企业inHouse证书和上线itunes证书的bundleId不一致,会出现一部手机上有两个同名的应用,对用户来说比较不易接触,TestFlight自14年,苹果收购过来后,很方便地做灰度发布小流量测试,bu转载 2017-05-08 15:38:59 · 4311 阅读 · 0 评论 -
GCD(Grand Center Dispatch)使用详解
一、GCD简介 GCD是苹果公司推出的基于多核CPU多线程技术,GCD属于系统级的线程管理,在Dispatch queue中执行需要执行的任务性能非常高。GCD这块已经开源,地址是 http://libdispatch.macosforge.org。二、按获取方式分类队列 dispatch queue队列就是执行任务的队列,由于遵循 First in First out(先进先出)原创 2016-02-23 23:12:38 · 2398 阅读 · 1 评论 -
Objective-C指针与CoreFoundation指针之间的转换
Objective-C指针与CoreFoundation指针之间的转换简介在程序中,如果要在Foundation和CoreFoundation两大框架中掺杂使用,那么可以使用bridge桥接。ARC仅仅管理Objective-C指针(retain、release、autorelease、alloc、copy、new等),但是不管理CoreFoundation指针所指对象内存的释放,所以CF指针有手动原创 2016-10-21 00:01:27 · 287 阅读 · 0 评论 -
iOS开发常用宏定义
iOS开发常用宏定义大家都是知道使用宏不仅方便,而且可以提高开发效率。下面总结了iOS开发过程中的一些常用宏,会持续的往里面添加。//字符串是否为空#define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length] < 1 ? YES : NO )//数组是否为空#defin原创 2016-09-19 09:17:41 · 483 阅读 · 0 评论 -
UICollectionView高度宽度自适应缓存框架
UICollectionView高度宽度自适应缓存框架原文链接在此,此处为自己记录原创 2016-08-23 23:30:39 · 1567 阅读 · 0 评论 -
去Model化开发
去Model化开发原文链接在此,为自己做个记录原创 2016-08-23 23:13:20 · 850 阅读 · 0 评论 -
JSON Accelerator: 写Model只需要一分钟
1. 简介JSON Accelerator是一款帮组开发者获取数据,验证数据,生成Model对象的工具软件. 对于JSON数据的处理非常实用,而且操作简单方便,对于提高开发效率有很大帮助.版本: 1.1.1兼容性: OS X 10.10或更高版本,64位处理器支持语言:简体中文,俄文,德语,日语,法语,英语,西班牙语2.安装开发者可以直接去APP Store上下载安装,Apple官方链接:原创 2016-08-21 01:46:49 · 803 阅读 · 0 评论 -
服务端给的自定义URL跳转对应控制器
一个app往往有很多界面,而界面之间的跳转也就是对应控制器的跳转,控制器的跳转一般有两种情况 push 或者 modal,push 和 modal 的默认效果是系统提供的,但也可以自定义.有兴趣了解一下:原文链接在此转载 2016-08-21 01:17:56 · 473 阅读 · 0 评论 -
我的iOS一年半经验
从大二开始我的iOS之旅,到现在已经将近两年了,还是一事无成,虽然在现在能拿到一些offer,但是都不是自己心仪的,能留下的也就是很多遗憾。 之后加入了一个牛人聚集的iOS开发群,里面有百度iOS leader,有滴滴iOS leader等,从他们那学到了许多东西,然后记录一下。一. 减少对象的属性 1. 头文件中不要暴露太多的东西; 2. 使用extension定义不暴露属性,并且可以原创 2015-11-01 11:34:17 · 1088 阅读 · 0 评论 -
cocos2dx的事件分发器
在使用时,首先创建一个事件监听器,事件监听器包含以下几种:触摸事件 (EventListenerTouch)键盘响应事件 (EventListenerKeyboard)加速记录事件 (EventListenerAcceleration)鼠标响应事件 (EventListenerMouse)自定义事件 (EventListenerCustom)以上事件监听器统一由 _eventDisp原创 2015-05-18 21:58:12 · 496 阅读 · 0 评论 -
FMDB的使用
FMDB是一个第三方的框架,为什么要写这篇博客呢? 一.第一次写,熟悉一下写博客的流程;二.学一些fmdb的使用,比企鹅记录下了以后自己在使用的时候方便查找; 由于apple的数据库方面的API sqlite3 用起来非常的复杂,所以现在一些大牛人就站出来为我们这些程序员开发了一套易用高效的框架.废话不多说,言归正传.原创 2015-05-29 20:51:55 · 402 阅读 · 0 评论 -
Objective-C的内存管理机制(非ARC)
Objective-C的内存管理机制 我们都知道在程序面向对象的语言中,对象都是存储在堆内存中,一些临时的基本数据类型的变量是存储在栈中。然而我们在编程时堆的大小是一定的,所以我们在写程序时不得不考虑内存的管理,这样才能让程序更高效地运行。 在C#和Java中是通过垃圾回收机制(GC)来释放内存,而在Objective -C中原创 2015-06-01 21:24:59 · 472 阅读 · 0 评论 -
iOS开发中常用设计模式
代理模式 使用场景:一个类的某些功能需要其他类来实现,只要遵循了规定协议的类就可以实现这些功能; 例子:典型例子 UITableView的dataSource和delegate 自定义delegate单例模式 使用场景:在一个项目中只需要一个类的同一个实例,而且需要这个实例共享一些资源 在C#、java、C++中的实现方式是私有化类的构原创 2015-06-02 11:10:52 · 706 阅读 · 0 评论 -
多个静态链接库出现duplicate错误解决办法
我在做一个游戏的时候,用的是cocos2dx框架,分享用的是OC.出现了一个问题,就是用分享的时候出现 unrecognized selector wbsdn_base64string。很多人给的办法是直接在 build setting中设置 other linker flags 为 -all_load ,然后把 Architecture中的 armv7 去掉。我想说如果我们这么做的话,直接原创 2016-01-28 13:08:21 · 1208 阅读 · 0 评论 -
iOS9之新特性
随着iOS9的发布,作为程序猿的我们不得不尽快学习,更新自己的知识。 此博客主要讲述四个要点:ATS的使用 xcode7 新建的项目,Foundation下默认所有http请求都被改为https请求. HTTP+SSL/TLS+TCP = HTTPS如果服务不改变,则客户端info.plist的根需加下面的键值;<key>NSAppTransportSecurity</key><dict转载 2015-10-30 09:51:06 · 393 阅读 · 0 评论 -
动态改变启动图 LaunchImage
今天群里小伙问如何动态改变启动图,这个东东在很久以前调研过,确实是可以做的,告诉他可以让他去找,好像找不到,于是我去找google问下,答案如下:在info.plist 中增加如下键值:Launch image (iPhone) : ../Documents/Splash.png ps: 在 plist 文件中,右击鼠标,选中 Show Raw Keys/Values,将会变成 UILaunch转载 2015-10-30 08:36:57 · 1350 阅读 · 0 评论 -
iPhone开发中全局静态变量内存的管理
在开发应用程序的时候,你是否担忧过一个问题,那就是应用中全局静态变量占用的内存是不是会导致内存告急。根据我查阅相关资料,得到以下结论。 在iOS开发过程中,我们都是基于Cocoa框架在开发,而该框架是基于C语言的。不妨想想,在C语言里面,静态全局变量是存储在全局内存区(或是静态存储区),而且内存的分配是在程序运行前分配了,释放是在程序运行结束由系统自动释放,并不需要我们调用析构方法。那原创 2015-08-09 18:38:01 · 461 阅读 · 0 评论 -
排序的笔记
NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"pinYin" ascending:YES]];//对pinyin 进行排序 就像sql中的order by后指定的根据谁排序 生成一个数组 [chineseStringsArra转载 2015-06-27 01:10:21 · 369 阅读 · 0 评论 -
Xcode更新之后插件失效
每当Xcode升级之后,都会导致原有的Xcode插件不能使用,这是因为每个插件的Info.plist中记录了该插件兼容的Xcode版本的DVTPlugInCompatibilityUUID,而每个版本的Xcode的DVTPlugInCompatibilityUUID都是不同的。如果想让原来的插件继续工作,我们就得将新版Xcode的DVTPlugInCompatibilityUUID加入到每一个插件的原创 2015-11-09 17:49:36 · 434 阅读 · 0 评论 -
Xcode7之 Scene Dock and Extra Views
Scene Dock 顾名思义就是视图的码头,即摆放试图的地方, 然而, 你就有疑问了, 我们的storyboard的可视化viewController不就是让我们摆放试图的吗? 其实不然, 有时候我们要添加的view比storyboard的可视化viewController的尺寸还要大的时候, 我们就可以通过这种新的特性来将我们要添加的view放置在该viewController的上面,这就是翻译 2015-10-27 22:19:08 · 661 阅读 · 0 评论 -
Xcode7 之Storybord Reference
在过去大型项目中,是否想象过同一个storyboard下多个开发者开发时出现版本冲突的问题. 你将开发起来非常困难在同一个storyboard文件上,因为你们每一个都可能点击它造成版本冲突. Now, Xcode7给我们解决了这个问题, 在Xcode7中,我们有一种新的的方式去组织我们的视图在多个storyboard文件,然后通过保持一个关联在他们之间. 让我们来看看一个练习的例子吧. 下载我已近翻译 2015-10-27 10:47:46 · 387 阅读 · 0 评论 -
原生 Base64编解码 Objective-C与Swift
Objective-C 代码 /** * 编码 */+ (NSString *)base64Encoding:(NSString *)plainString{ NSData *plainData = [plainString dataUsingEncoding:NSUTF8StringEncoding]; NSString *base64String = [plainD原创 2016-02-04 22:34:07 · 2778 阅读 · 1 评论 -
UIColor之扩展Swift
extension UIColor { convenience init(bd_hexColor hexValue: String) { var red: CGFloat = 0.0 var green: CGFloat = 0.0 var blue: CGFloat = 0.0 var alpha: CGFloat = 1.0 var转载 2016-02-04 21:15:25 · 320 阅读 · 0 评论 -
3DES加密—java/OC
移动开发中遇到的最让人纠结的要属Java、Android和iPhone三个平台加解密不一致的问题。因为手机端后台通常是用JAVA开发的Web Service,Android和iPhone客户端调用同样的Web Service接口,为了数据安全考虑,要对数据进行加密。头疼的问题就来了,很难编写出一套加密程序,在3个平台间加解密的结果一致,总不能为Android和iPhone两个客户端各写一套Web S转载 2016-02-04 19:13:57 · 523 阅读 · 2 评论 -
UIApplication 做应用级别的功能
UIApplication是一个全局性的对象,也是一个单例对象,每一个应用只有一个,它代表着这个应用!接下来我们来讨论一下UIApplication的可以做那些事情!1.badge设置 [UIApplication sharedApplication].applicationIconBadgeNumber=20;2.联网菊花显示 [UIApplication sharedApplica原创 2016-02-04 16:00:45 · 280 阅读 · 0 评论 -
iOS GCD 之dispatch_group方面的开发
// 创建事物组 /** * group 的作用是监听一组任务的执行,然后执行完通知去做其他事. */ dispatch_group_t group = dispatch_group_create(); // 创建一个队列 dispatch_queue_t queue = http_response_queue_operatio原创 2015-06-11 21:56:31 · 362 阅读 · 0 评论 -
多线程之NSOperation对象
多线程之NSOperation对象 NSOperation类用法是用来封装执行的任务,而一个operation对象指的就是operation的一个具体的实例.NSOperation本身是一个抽象类,在使用的时候我们只能自定子类或者使用系统提供的NSInvocationOperation和NSBlockOperation类型. NSInvocationOperation是通过指定object原创 2015-09-02 01:18:14 · 474 阅读 · 0 评论 -
iOS编程重要知识之 load method swizzled
本文主要为您介绍4个问题 一. load妙用 二. AOP面向切面编程 三. NSNumber 和 int 使用哪一个 四. 适配64位 一. 学会使用load方法 在开发过程当中,我们可能可能遇到老板经常修改需求. 可能为了提高逼格,老板说要我们可以将我们的app分享出去,诺! 现在不是要接入统计吗?我们又需要在我们的AppDelegate中接入一段代码; 一段时间原创 2015-09-04 16:24:53 · 1684 阅读 · 0 评论 -
多线程之NSOperation(下)
我们继续多线程方面的NSOperation的研究, 接下来我们我们主要谈到有两大点: 1. 定制NSOperation对象的执行行为原创 2015-09-11 17:33:03 · 350 阅读 · 0 评论 -
iOS开发中线程通信
iOS开发中得多线程通信在iOS开放中,我们常常会使用多线程,所以不可避免的会涉及到多个线程之间的通信.举个形象的例子: 比如你的团队在干一件大事,那么这个大事就好比是一个进程,由于我们可以将这个大事分成多个可以同时完成的小事,所以小事就好比线程,每个人分配一点认为去完成.OK, 那么我们每个人在完成各自的事情的时候很有可能要和其他人交流我做到哪了,这就涉及到通信的问题.多线程的通信主要体现在两点上原创 2015-06-03 17:49:35 · 494 阅读 · 0 评论