IOS实用开发技巧
文章平均质量分 77
韩俊强
CSDN博客专家,阿里云MVP,2016年CSDN博客之星,2017年CSDN十佳专栏。
展开
-
Xcode14.3 升级后报错 Command PhaseScriptExecution failed with a nonzero exit code
xcode升级到14.3运行和打包都报错:Command PhaseScriptExecution failed with a nonzero exit code注意:1.不要尝试去删除下的文件解决问题,这只能是自己挖新坑2.xcode14.3无论是swift项目还是oc项目,pod都有问题,修复方法见文末。原创 2023-04-07 11:43:41 · 6908 阅读 · 1 评论 -
iOS 10 不提示「是否允许应用访问数据」,导致应用无法使用的解决方案
iOS 10 之后,陆陆续续地有用户联系我们,说新机第一次安装、第一次启动的时候,app 首屏一片空白,完全没数据。kill 掉重新打开就好了。一开始以为是用户网络情况不好,但随着越来越多的用户报告这个问题,我意识到这并不是偶然情况。但是并非所有用户都如此。转载 2016-11-23 08:39:40 · 6696 阅读 · 3 评论 -
HTTPS时代已来,老司机手把手指导申请免费SSL证书 韩俊强的博客
近期国内证书颁发机构WoSign由于存在管理问题导致其自身声誉受损,WoSign也关闭了免费SSL签发。对于小型企业和个人来说部署HTTPS时SSL证书就是一笔不小的费用,因此这也阻碍了HTTPS的覆盖速度。对于Mozilla的免费证书项目Lets Encrypt虽然其证书发布数量已经破千万,但该项目有一定的技术门槛。不过阿里云与国内某中级证书颁发机构推出了基于Symantec(赛门铁克)的免费SSL证书,有兴趣的网友可以前往阿里云进行申请。原创 2016-12-09 20:20:19 · 10968 阅读 · 13 评论 -
iOS中 static变量与全局、局部变量的区别 !
static变量与全局、局部变量的区别全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,原创 2015-12-12 22:21:24 · 5527 阅读 · 0 评论 -
iOS中 简单易懂的秒杀倒计时/倒计时
iOS中 简单易懂的秒杀倒计时/倒计时 商城类APP常用的秒杀倒计时 /iOS倒计时原创 2016-02-19 20:57:09 · 14759 阅读 · 4 评论 -
iOS新特性: iOS10.3教你如何动态更换APP图标?(后台切换) 韩俊强的博客
iOS 10.3 开放了更换 app 图标的 API,核心方法是下面这个:。。每周更新关注:http://weibo.com/hanjunqiang 新浪微博!手机加iOS开发者交流QQ群: 446310206原创 2017-03-30 16:29:10 · 13989 阅读 · 10 评论 -
iOS中 最新微信支付/最全的微信支付教程详解 韩俊强的博客
亲们, 首先让我们来看一下微信支付的流程吧.1. 注册微信开放平台,创建应用获取appid,appSecret,申请支付功能,申请成功之后会返回一些参数.2. 下载微信支付sdk3. 客户端请求订单,后台与微信后台交互,返回给客户端支付参数4. 调用微信客户端,由微信客户端和微信服务器打交道;5. 客户端和服务端都会收到支付结果;(前台消息不可靠,我们需要去后台验证,如果后台没有收到支付通知,后台去微信服务器验证然后将结果返回给客户端)原创 2016-04-15 18:00:38 · 15673 阅读 · 2 评论 -
iOS中 图文混排/自定义图文混排 作者:韩俊强
// 翻转坐标系 // 参数1:文本宽度占Label的比例(0 ~ 1) // 参数2:水平方向文字逐渐往下(参数 > 0, 往上: 参数 < 0)偏移,如果是正数,逐渐向上偏移 // 参数3:在竖直方向上,从下往上每行文字逐渐往右(参数 > 0, 往左: 参数 < 0)偏移 // 参数4:文本首行的纵坐标占Label的比例(-1 ~ 0) // 参数5:文本整体往右(参数 > 0, 往左: 参数 < 0)偏移量 // 参数6:文本整体在纵坐标方向的偏移量,参原创 2015-12-01 08:22:04 · 3943 阅读 · 0 评论 -
iOS中 高仿Tumblr热度-滚动条数-JQScrollNumberLabel 韩俊强的博客
JQScrollNumberLabel 仿tumblr热度滚动数字条数,一个显示数字的控件,当你改变其数字时,能够有滚动的动画,同时动画和位数可以限制,动态创建和实例化可选,字体样式自定义等等。原创 2017-04-14 15:48:15 · 2844 阅读 · 0 评论 -
iOS中 自定义cell分割线/分割线偏移 韩俊强的博客
在项目开发中我们会常常遇到tableView 的cell分割线显示不全,左边会空出一截像素,更有甚者想改变系统的分割线,并且只要上下分割线的一个等等需求,今天重点解决以上需求,仅供参考:原创 2016-05-22 12:31:06 · 11502 阅读 · 0 评论 -
笔记类app之Leanote同步机制 韩俊强的博客
背景最近在移动开发App时遇到一个问题:在服务端与客户端之间需要进行修改,删除,更新,添加等操作同步,为此研究了一番,其中Leanote参考了印象笔记App的同步原理。Leanote同步机制参考Evernote的机制, 关于Evernote的同步机制参考: http://dev.evernote.com/media/pdf/edam-sync.pdf前言Leanote主要由Notebook, No原创 2017-02-17 09:00:25 · 5304 阅读 · 0 评论 -
iOS中 Framework静态库的创建和使用遇到的那些坑 韩俊强的博客
网上关于Framework制作的教程数不胜数,然而都过于陈旧,最新的也是使用Xcode7的教程,而且有些设置也只给出步骤,并没有给出原因,而且按照有些教程制作出的framework还有些问题,所以我把自己制作framework的过程记录下来,并且使用的是最新的Xcode8环境。本次制作framework,包含AFN,FMDB第三方,.a文件,xib,Bundle文件,还有Category分类,几乎制作和使用framework遇到的所有坑都被我遇到了,所以,此篇博客在我这属于干货,特此分享给大家,以免再走弯路原创 2017-05-19 14:13:54 · 8811 阅读 · 7 评论 -
iOS中崩溃调试的使用和技巧总结 韩俊强的博客
在iOS开发调试过程中以及上线之后,程序经常会出现崩溃的问题。简单的崩溃还好说,复杂的崩溃就需要我们通过解析Crash文件来分析了,解析Crash文件在iOS开发中是比较常见的。现在网上有很多关于解析崩溃信息的博客,但是大多质量参差不齐,或者有些细节没有注意到。今天写一篇博客总结一下我对崩溃调试的使用和技巧,如果有哪些错误或遗漏,还请指点,谢谢!原创 2015-12-19 13:53:42 · 2373 阅读 · 0 评论 -
字典
*题目要求: 处理⼯工程⽂文件crayons.txt中的⽂文本信息,⽂文本内容是关于颜⾊色的,每⾏行都是⼀一 个颜⾊色的信息,例如:Almond#EED9C4,前⼀一个字符串是颜⾊色的名称,后⼀一 个字符串是颜⾊色的16进制⾊色值,处理⽂文本完成如下需求*/ // (1)*******************************************************原创 2015-10-08 09:05:37 · 899 阅读 · 0 评论 -
iOS中 Apple开发相关邮箱汇总 韩俊强的博客
iOS中 Apple开发相关邮箱汇总 每周更新关注:http://weibo.com/hanjunqiang 新浪微博!手机加iOS开发者交流QQ群: 446310206原创 2016-12-19 08:34:00 · 3268 阅读 · 0 评论 -
iOS中 最新收集的代码块(汇总) 韩俊强的博客
iOS开发中实用开发技巧之最新收集代码块,提升开发效率!每日更新关注:http://weibo.com/hanjunqiang 新浪微博!手机加iOS开发者交流QQ群: 446310206原创 2016-12-13 15:35:29 · 3248 阅读 · 2 评论 -
iOS开发中 经常遇到的坑,看我就够了! 韩俊强的博客
从事iOS开发有些年月了,从最开始的磕磕绊绊,不知所措,到现在的遇到困难都能快速做出最佳方案处理,中间经历了不可或缺的痛苦。在项目开发中,本人有用印象笔记记录的习惯,所以很多重复出现的坑,很快迎刃而解,而不在同一个地方摔倒两次。为此,特意总结了一下开发中经常遇到的坑,有些可能和你形成共鸣,有些在你看来或许是小儿科,不喜勿喷。基础篇:A valid provisioning profile for原创 2017-02-08 16:12:48 · 9829 阅读 · 0 评论 -
iOS中 视频直播功能-流媒体的使用(详解)韩俊强的CSDN博客
上一篇博客:(流媒体实现视频播放和下载功能):http://blog.csdn.net/qq_31810357/article/details/50574914最近视频直播功能比较火,处于需求,研究了一番,根据分析决定使用流媒体实现,代码简单易懂,接下来看教程:简单介绍:HLS 协议 : >5M会被AppStore拒绝 服务器要求低 延迟高 多平台RTMP 协议: 电视直播 PC端使用 配合flash插件 及时性好 需要转原创 2016-06-07 19:31:25 · 33926 阅读 · 6 评论 -
HTTPS-老司机手把手教你SSL证书申购-TrustAsia证书
前言Apple从2016年逐步要求HTTPS,SSL相关证书等,上月的JSPatch封杀更是引起广大开发者的注意,整体来说多是为了安全考虑,那么SSL证书是硬需,考虑到上一篇:HTTPS时代已来,老司机手把手指导申请免费SSL证书 介绍了阿里云的相关证书,为了不仅仅依赖一家证书,特此又研究了一下又拍云的SSL-TrustAsia证书申购申购地址,希望能帮助到你!原创 2017-04-09 20:45:43 · 17352 阅读 · 0 评论 -
iOS开发中 关于阿里云服务器的使用与安全策略 韩俊强的博客
使用背景: 云服务已经很多年了,早期没能加入使用云大军中的一员,后来后悔莫及。2015年记得当时没办法租用的虚拟主机三天两天挂了,导致我认认真真的考虑了一次,觉得还是要使用云服务器!从免费的主机屋学习版到各种虚拟机的实验,再到之前是用300元左右买的别人的虚拟主机,空间有几G,感觉还行,正好又值他们搞活动,买两年送一年!预存还有返还!心动了,就没有任何考虑就预存了一千块!...原创 2017-02-15 10:09:32 · 4597 阅读 · 19 评论 -
证书转换-SSL证书生成:cer,jks文件 韩俊强的博客
一.生成.jks文件资料:HTTPS-老司机手把手教你SSL证书申购-TrustAsia证书 HTTPS时代已来,手把手指导申请免费SSL证书 1、keystore的生成:分阶段生成:keytool -genkey -alias yushan(别名) -keypass yushan(别名密码) -keyalg RSA(算法) -keysize 1024(密钥长度) -validity 36原创 2017-05-03 13:56:58 · 20044 阅读 · 1 评论 -
iOS中 语音识别功能/语音转文字教程详解 韩俊强的博客
前言:最近研究了一下语音识别,从百度语音识别到讯飞语音识别;首先说一下个人针对两者的看法,讯飞毫无疑问比较专业,识别率也很高真对语音识别是比较精准的,但是很多开发者和我一样期望离线识别,而讯飞离线是收费的;请求次数来讲,两者都可以申请高配额,真对用户较多的几乎都一样。基于免费并且支持离线我选择了百度离线语音识别。比较简单,UI设计多一点,下面写一下教程:原创 2016-04-10 11:39:55 · 17220 阅读 · 14 评论 -
iOS10 适配 ATS(app支持https通过App Store审核) 韩俊强的博客
其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的安全;而对于接收端,在SSL/TSL将接收的数据包解密之后,将数据传给HTTP协议层,就是普通的HTTP数据。HTTP和SSL/TSL都处于OSI模型的应用层。从HTTP切换到HTTPS是一个非常简单的过程,在做具体的切换操作之前,我们需要了解几个概念:原创 2016-12-09 08:40:54 · 7604 阅读 · 3 评论 -
iOS中 Realm的学习与使用 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博!iOS开发者交流QQ群:446310206 有问题或技术交流可以咨询!欢迎加入!这篇直接搬了一份官方文档过来看的 由于之前没用markdown搞的乱七八糟的 所以重新做了一份 后面看到官网的中文文档更新不及时看着英文翻译了一点 搞的更乱了 :( 英文好的直接点右边->官方OC文档原创 2016-07-24 19:08:37 · 13184 阅读 · 0 评论 -
iOS中 蓝牙2.0详解/ios蓝牙设备详解 韩俊强的博客
每日更新关注:https://weibo.com/hjq995 新浪微博整体布局如下: 程序结构如右图:每日更新关注:https://weibo.com/hjq995 新浪微博==========================================================================指定根视图: RootViewController * root原创 2015-12-07 13:00:25 · 9015 阅读 · 11 评论 -
iOS setNeedsLayout&layoutSubviews 视图重绘总结
layout机制相关方法(CGSize)sizeThatFits:(CGSize)size(void)sizeToFit(void)layoutSubviews(void)layoutIfNeeded(void)setNeedsLayout(void)setNeedsDisplay(void)drawRectlayoutSubviews在以下情况下会被调用:1、in...转载 2018-03-04 17:38:52 · 2538 阅读 · 0 评论 -
dispatch_source_t 比 NSTimer 更准的定时器
NSTimer受runloop的影响,由于runloop需要处理很多任务,导致NSTimer的精度降低,在日常开发中,如果我们需要对定时器的精度要求很高的话,可以考虑dispatch_source_t去实现 。dispatch_source_t精度很高,系统自动触发,系统级别的源。下面是通过dispatch_source_t 创建 计时器的例子```dispatch_queue_t queu...原创 2018-03-29 08:33:11 · 1307 阅读 · 0 评论 -
UiWebview/UIWkwebview 视屏播放那些事
1.iOS 禁止webView播放网页视频弹出全屏不废话了,直接上代码 CGFloat phoneVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; if (phoneVersion >= 10.0) { content = [content stringByReplacing...原创 2018-07-11 19:34:46 · 2782 阅读 · 0 评论 -
iOS里加载https请求报错说服务器证书无效的解决办法
NSURLConnectionDelegate- (void)loadUnioPage:(UIWebView*)MobileLoadWebView{ NSURL *LoadURL = [NSURL URLWithString:self.confirm_url]; NSURLRequest *request = [NSURLRequest requestWithURL:Load...原创 2018-11-26 09:27:25 · 4777 阅读 · 0 评论 -
ijkPlayer-IJKFFOptions配置缩短视频起播时间
- (IJKFFOptions *)options { if (!_options) { _options = [IJKFFOptions optionsByDefault]; /// 精准seek [_options setPlayerOptionIntValue:1 forKey:@"enable-accurate-seek"]; ...原创 2018-11-26 09:29:05 · 2847 阅读 · 0 评论 -
GCD处理多线程同步操作 韩俊强的博客
原文地址: http://blog.csdn.net/qq_31810357/article/details/78906308 未经许可,严禁转载!GCD使用 dispatch_group_notify、dispatch_group_enter、dispatch_group_leave处理多线程同步操作一、简介dispatch_group_enter:通知group,下面的任务马上要放到group中原创 2017-12-26 20:45:03 · 1604 阅读 · 0 评论 -
iOS11 Xcode 9 快速跳转到定义新姿势(Jump to Definition)
Xcode 9正式版与之前beta版本相差不大,编辑器有较大调整,试写代码,发现“跳转定义”跟以前不一样了,之前按住command +鼠标左键即可跳转定义.原创 2017-09-21 09:57:33 · 6689 阅读 · 0 评论 -
iOS11问题: 定位服务在iOS11系统上不能使用?
Q:我刚刚用iOS11 SDK重新构建了应用程序,发现定位服务现在根本不起作用。原因:A:因为苹果现在增加了一项新的隐私保护功能 NSLocationAlwaysAndWhenInUseUsageDeion,并且原有的 NSLocationAlwaysUsageDeion 被降级为 NSLocationWhenInUseUsageDeion。想要达到之前 NSLocationAlwaysUsageD原创 2017-09-21 09:05:38 · 21406 阅读 · 1 评论 -
iOS中 iOS10 权限崩溃问题 韩俊强的CSDN博客
今天 手机升级了 iOS10 Beta,然后用正在开发的项目 装了个ipa包,发现点击有关 权限访问 直接Crash了,并在控制台输出了一些信息:原创 2016-06-18 10:32:43 · 20829 阅读 · 0 评论 -
iOS中分段控制器与UIScrollView结合使用
iOS中分段控制器与UIScrollView结合使用原创 2015-11-03 08:42:41 · 5366 阅读 · 2 评论 -
iOS中 HTTP/Socket/TCP/IP通信协议详解 韩俊强的博客
OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 // 3. 会话层 // 4. 传输层 // 5. 网络层 // 6. 数据链接层 // 7. 物理层原创 2015-12-28 15:44:33 · 9340 阅读 · 2 评论 -
iOS中 基于LBXScan库二维码扫描 韩俊强的博客
首先声明这个二维码扫描是借助于zxing.功能模块都完全封装好了,不过界面合你口味,直接使用就好,如果不合口味,后面告诉你怎么修改.- 1.cocoaPods导入pod ‘LBXScan’, ‘~> 1.1.1’导入方法看这:- 2.将JQScan文件夹拖到你的工程中(这个是写好的).原创 2016-01-28 10:04:55 · 10228 阅读 · 1 评论 -
iOS中 流媒体播放和下载 韩俊强的博客
iOS中关于流媒体的简介:介于下载本地播放与实时流媒体之间的一种播放形式,下载本地播放必须全部将文件下载完成后才能播放,而渐进式下载不必等到全部下载完成后再播放,它可以一边下载一边播放,在完成播放内容之后,整个文件会保存在手机上。实时流媒体实时流媒体是一边接收数据包一边播放,本地不保留文件副本,实时流式传输总是实时传送,可以实时实况转播,支持随机访问,用户可以快进或者快退以观看前面或后面的内容。实时流媒体传输必须保证数据包的传输速度大于文件的播放速度,否则用户看到的视频会出现暂停。当网络堵塞情况下视频质原创 2016-01-24 19:49:29 · 9451 阅读 · 0 评论 -
iOS中 CoreGraphics快速绘图(详解) 韩俊强的博客
iOS中 CoreGraphics快速绘图详解 韩俊强的博客 iOS开发者交流QQ群: 446310206 欢迎加入Core Graphics 和Quartz 2D的区别原创 2016-08-28 17:51:20 · 9586 阅读 · 0 评论 -
iOS中 切圆角,任意几个角(带边框,不带边框)__OC和Swift版本 韩俊强的博客
需求:1.日常我们在切控件圆角时会遇到想切任意圆角?2.切过圆角带边框和不带边框的选择?那么今天我们就用Objective-C和Swift都给它实现了:OC代码:UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 200, 70)]; myLabel.text = @"...原创 2017-06-20 15:06:20 · 7871 阅读 · 2 评论