![](https://img-blog.csdnimg.cn/0b06f42b9cdd4842966e936add7a6a92.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
iOS开发实战
文章平均质量分 77
iOS开发实战
韩俊强
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 · 6753 阅读 · 1 评论 -
iOS中 性能优化之浅谈load与initialize 韩俊强的博客
一. +load源码分析extern bool hasLoadMethods(const headerType *mhdr);extern void prepare_load_methods(const headerType *mhdr);voidload_images(const char *path __unused, const struct mach_header *mh){原创 2017-04-24 17:37:19 · 7193 阅读 · 1 评论 -
iOS中分段控制器与UIScrollView结合使用
iOS中分段控制器与UIScrollView结合使用原创 2015-11-03 08:42:41 · 5306 阅读 · 2 评论 -
iOS代码规范
这篇规范一共分为三个部分:核心原则:介绍了这篇代码规范所遵循的核心原则。通用规范:不局限于iOS的通用性的代码规范(使用C语言和Swift语言)。iOS规范:仅适用于iOS的代码规范(使用Objective-C语言)。一. 核心原则原则一:代码应该简洁易懂,逻辑清晰因为软件是需要人来维护的。这个人在未来很可能不是你。所以首先是为人编写程序,其次才是计算机:不要过分追求技巧,降低程序的可读性转载 2017-06-15 15:21:11 · 3589 阅读 · 0 评论 -
iOS中 HTTP/Socket/TCP/IP通信协议详解 韩俊强的博客
OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 // 3. 会话层 // 4. 传输层 // 5. 网络层 // 6. 数据链接层 // 7. 物理层原创 2015-12-28 15:44:33 · 9288 阅读 · 2 评论 -
iOS中 基于LBXScan库二维码扫描 韩俊强的博客
首先声明这个二维码扫描是借助于zxing.功能模块都完全封装好了,不过界面合你口味,直接使用就好,如果不合口味,后面告诉你怎么修改.- 1.cocoaPods导入pod ‘LBXScan’, ‘~> 1.1.1’导入方法看这:- 2.将JQScan文件夹拖到你的工程中(这个是写好的).原创 2016-01-28 10:04:55 · 10198 阅读 · 1 评论 -
iOS中 流媒体播放和下载 韩俊强的博客
iOS中关于流媒体的简介:介于下载本地播放与实时流媒体之间的一种播放形式,下载本地播放必须全部将文件下载完成后才能播放,而渐进式下载不必等到全部下载完成后再播放,它可以一边下载一边播放,在完成播放内容之后,整个文件会保存在手机上。实时流媒体实时流媒体是一边接收数据包一边播放,本地不保留文件副本,实时流式传输总是实时传送,可以实时实况转播,支持随机访问,用户可以快进或者快退以观看前面或后面的内容。实时流媒体传输必须保证数据包的传输速度大于文件的播放速度,否则用户看到的视频会出现暂停。当网络堵塞情况下视频质原创 2016-01-24 19:49:29 · 9385 阅读 · 0 评论 -
Bluemix 之 IBM Watson Conversation 自然对话实践
Bluemix 之 IBM Watson Conversation 自然对话实践前言 初步结识Bluemix是在2015年春节,那时候对于一个外来的IBM-PaaS很是好奇,但是又不敢尝试,担心成本高,一直有一种“推倒重来”的感觉,所以当时只做了简单的免费测试;随着2016年产品的成熟变得火热起来,越发难以控制好奇就开始了尝试,起初尝试了MobileData,再有是Push Notificati原创 2017-05-31 10:58:35 · 5045 阅读 · 3 评论 -
iOS中 CoreGraphics快速绘图(详解) 韩俊强的博客
iOS中 CoreGraphics快速绘图详解 韩俊强的博客 iOS开发者交流QQ群: 446310206 欢迎加入Core Graphics 和Quartz 2D的区别原创 2016-08-28 17:51:20 · 9558 阅读 · 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 · 7856 阅读 · 2 评论 -
初识RxSwift及使用教程 韩俊强的博客
什么是RxSwift?RxSwift是Swift函数响应式编程的一个开源库,由Github的ReactiveX组织开发、维护其他语言像C#, Java 和 JS 也有,Rx.Net、RxJava、RxJSRxSwift的目的是让让数据/事件流和异步任务能够更方便的序列化处理,能够使用Swift进行响应式编程函数式响应编程?RxSwift做了什么?观察者模式什么KVO,通知, 甚至代理都原创 2017-08-01 14:26:23 · 3928 阅读 · 3 评论 -
iOS最新面试锦集
1. 为什么说Objective-C是一门动态的语言?① 什么是动态语言?动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。有三个名词容易混淆: Dynamic Progr原创 2017-07-14 17:18:55 · 3802 阅读 · 0 评论 -
iOS中 语音识别功能/语音转文字教程详解 韩俊强的博客
前言:最近研究了一下语音识别,从百度语音识别到讯飞语音识别;首先说一下个人针对两者的看法,讯飞毫无疑问比较专业,识别率也很高真对语音识别是比较精准的,但是很多开发者和我一样期望离线识别,而讯飞离线是收费的;请求次数来讲,两者都可以申请高配额,真对用户较多的几乎都一样。基于免费并且支持离线我选择了百度离线语音识别。比较简单,UI设计多一点,下面写一下教程:原创 2016-04-10 11:39:55 · 17143 阅读 · 14 评论 -
iOS中 Framework静态库的创建和使用遇到的那些坑 韩俊强的博客
网上关于Framework制作的教程数不胜数,然而都过于陈旧,最新的也是使用Xcode7的教程,而且有些设置也只给出步骤,并没有给出原因,而且按照有些教程制作出的framework还有些问题,所以我把自己制作framework的过程记录下来,并且使用的是最新的Xcode8环境。本次制作framework,包含AFN,FMDB第三方,.a文件,xib,Bundle文件,还有Category分类,几乎制作和使用framework遇到的所有坑都被我遇到了,所以,此篇博客在我这属于干货,特此分享给大家,以免再走弯路原创 2017-05-19 14:13:54 · 8799 阅读 · 7 评论 -
笔记类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 · 5300 阅读 · 0 评论 -
HTTPS时代已来,老司机手把手指导申请免费SSL证书 韩俊强的博客
近期国内证书颁发机构WoSign由于存在管理问题导致其自身声誉受损,WoSign也关闭了免费SSL签发。对于小型企业和个人来说部署HTTPS时SSL证书就是一笔不小的费用,因此这也阻碍了HTTPS的覆盖速度。对于Mozilla的免费证书项目Lets Encrypt虽然其证书发布数量已经破千万,但该项目有一定的技术门槛。不过阿里云与国内某中级证书颁发机构推出了基于Symantec(赛门铁克)的免费SSL证书,有兴趣的网友可以前往阿里云进行申请。原创 2016-12-09 20:20:19 · 10908 阅读 · 13 评论 -
iOS中 static变量与全局、局部变量的区别 !
static变量与全局、局部变量的区别全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,原创 2015-12-12 22:21:24 · 5484 阅读 · 0 评论 -
iOS中 简单易懂的秒杀倒计时/倒计时
iOS中 简单易懂的秒杀倒计时/倒计时 商城类APP常用的秒杀倒计时 /iOS倒计时原创 2016-02-19 20:57:09 · 14708 阅读 · 4 评论 -
iOS新特性: iOS10.3教你如何动态更换APP图标?(后台切换) 韩俊强的博客
iOS 10.3 开放了更换 app 图标的 API,核心方法是下面这个:。。每周更新关注:http://weibo.com/hanjunqiang 新浪微博!手机加iOS开发者交流QQ群: 446310206原创 2017-03-30 16:29:10 · 13876 阅读 · 10 评论 -
iOS中 最新微信支付/最全的微信支付教程详解 韩俊强的博客
亲们, 首先让我们来看一下微信支付的流程吧.1. 注册微信开放平台,创建应用获取appid,appSecret,申请支付功能,申请成功之后会返回一些参数.2. 下载微信支付sdk3. 客户端请求订单,后台与微信后台交互,返回给客户端支付参数4. 调用微信客户端,由微信客户端和微信服务器打交道;5. 客户端和服务端都会收到支付结果;(前台消息不可靠,我们需要去后台验证,如果后台没有收到支付通知,后台去微信服务器验证然后将结果返回给客户端)原创 2016-04-15 18:00:38 · 15626 阅读 · 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 · 3882 阅读 · 0 评论 -
iOS中 高仿Tumblr热度-滚动条数-JQScrollNumberLabel 韩俊强的博客
JQScrollNumberLabel 仿tumblr热度滚动数字条数,一个显示数字的控件,当你改变其数字时,能够有滚动的动画,同时动画和位数可以限制,动态创建和实例化可选,字体样式自定义等等。原创 2017-04-14 15:48:15 · 2796 阅读 · 0 评论 -
iOS中 自定义cell分割线/分割线偏移 韩俊强的博客
在项目开发中我们会常常遇到tableView 的cell分割线显示不全,左边会空出一截像素,更有甚者想改变系统的分割线,并且只要上下分割线的一个等等需求,今天重点解决以上需求,仅供参考:原创 2016-05-22 12:31:06 · 11479 阅读 · 0 评论 -
iOS11: 使用Xcode9后的11条小建议 韩俊强的博客
作者:韩俊强 原创地址:http://blog.csdn.net/qq_31810357/article/details/78060505 未经允许禁止转载!Xcode9已在9月20号推出, 相信很多人充满期待, 那么新版Xcode给我们带来哪些新东西呢? 下载后发现很多人哀声载道, 很大一部分是不适应新的编译器, 那么我们我们该如何去调整呢? 耐心看完本文或许你能找到一些答案!1.模拟器的变化原创 2017-09-22 10:50:24 · 9220 阅读 · 13 评论 -
iOS中 轮播图放哪最合适? 技术分享
我们知道,轮播图放在cell或collectionViewCell上会影响用户层级交互事件,并且实现起来比较麻烦,现在推出一个技术点:答题思路是:将UIScrollView放在UIView或UICollectionView或者UITableView上,将UIScrollView的y设为需要的大小,加载在你的现有图层上,然后改变偏移量即可,具体如下:原创 2015-10-31 08:19:23 · 2668 阅读 · 4 评论 -
ijkplayer视频秒开优化指北
1.在对ijkplayer进行使用调试的时候(使用FFMoviePlayer),我发现输出栏中有:===== options =====player-opts : start-on-prepared = 1player-opts : overlay-format = fcc-i420player-opts : max-fps ...原创 2018-10-24 10:39:39 · 7226 阅读 · 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 · 4760 阅读 · 0 评论 -
ijkPlayer-IJKFFOptions配置缩短视频起播时间
- (IJKFFOptions *)options { if (!_options) { _options = [IJKFFOptions optionsByDefault]; /// 精准seek [_options setPlayerOptionIntValue:1 forKey:@"enable-accurate-seek"]; ...原创 2018-11-26 09:29:05 · 2843 阅读 · 0 评论 -
Error fetching https://gems.ruby-china.org/: bad response Not Found 404
Error fetching https://gems.ruby-china.org/: bad response Not Found 404 报错解决办法Error fetching https://gems.ruby-china.org/: bad response Not Found 404 报错解决办法原因是 服务域名 更换了,打开报错地址:https://gems.ruby-chi...原创 2018-12-11 15:56:15 · 915 阅读 · 0 评论 -
iOS NetworkLinkConditioner 模拟网络状态进行调试
在开发过程中,有时候需要对网络不好的情况做处理,就是要模拟多种网络环境。那么神器来了 NetworkLinkConditioneriPhone设备可以在设置-开发者-NetworkLinkConditioner下 Status-Enable中进行设置,如图:除了上面列出来的那几种情况,还可以自己配置自定义的网络情况。在开发中简直就是神器,那Mac端有木有这种功能呢???Mac设备...原创 2018-12-11 16:12:50 · 1360 阅读 · 0 评论 -
攻克苹果4.3被拒问题 韩俊强的博客
前言:从2017年年底开始, Apple似乎做了很大的升级, 让众多开发者陷入困境, 不单单是马甲, 就连正常的 App 也被误伤; 周围很多开发者向我&amp;amp;amp;quot;求救&amp;amp;amp;quot;, 诉说新品处于【等待审核】或【正在审核】状态长达一两个月的; 似乎 iOS 开发者不单单只是开发项目, 高效上新和稳定更新 App 变得愈发重要。在这将近一年中, 我也在尝试的道路上不断探索, 最终成功稳定克服 guideline4...原创 2018-12-25 09:17:12 · 4120 阅读 · 0 评论 -
GPUImageMovieWriter 无法2次录像
问题:GPUImageMovieWriter 无法2次录像 报错:[AVAssetWriter startWriting] Cannot call method when status is 3GPUImage官方的示例工程里有个SimpleVideoFilter,实时摄像头内容加上滤镜。然而这个工程写得非常简单,录像是自动启动的,录制10秒停止。研究一下代码,发现录制代码在-(void...原创 2019-02-15 21:20:15 · 679 阅读 · 0 评论 -
解决: Specifically, your app violates Section 3.2(f) of the PLA, which states:
1.问题: Hello,If you would like to appeal this removal, you must do so within 14 calendar days. Otherwise, your Apple Developer Program account and all apps associated with your account will be remov...原创 2018-09-03 10:29:41 · 3406 阅读 · 0 评论 -
Appstore 审核指南之---NSLocationWhenInUseUsageDescription 隐私条款
即将实行的隐私政策要求 2018年8月31日自2018年10月3日起,App Store Connect 将要求所有的新 App 和 App 更新提供隐私政策,才可提交至 App Store 或通过 TestFlight 外部测试进行分发。此外,您只有在提交 App 的新版本时,才能编辑 App 的隐私政策链接或文本。若要添加或编辑您在 App Store 上的隐私政策:请前往 Ap...原创 2018-08-31 23:57:01 · 28953 阅读 · 5 评论 -
UiWebview/UIWkwebview 视屏播放那些事
1.iOS 禁止webView播放网页视频弹出全屏不废话了,直接上代码 CGFloat phoneVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; if (phoneVersion >= 10.0) { content = [content stringByReplacing...原创 2018-07-11 19:34:46 · 2777 阅读 · 0 评论 -
iOS 11 安全区域适配总结(转)
导语:本文主要是对iOS 11下APP中tableView内容下移20pt或下移64pt的问题适配的一个总结。内容包括五个部分:问题的原因分析、adjustContentInset属性的计算方式、什么情况下的tableView会发生内容下移、有哪些解决方法、解决这个问题时遇到的另外一个小问题。一、iOS 11下APP中tableView内容下移20pt或下移64pt的原因分析问题如下图所示:原因分转载 2017-09-14 11:01:28 · 2566 阅读 · 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 · 1575 阅读 · 0 评论 -
iOS中 蓝牙2.0详解/ios蓝牙设备详解 韩俊强的博客
每日更新关注:https://weibo.com/hjq995 新浪微博整体布局如下: 程序结构如右图:每日更新关注:https://weibo.com/hjq995 新浪微博==========================================================================指定根视图: RootViewController * root原创 2015-12-07 13:00:25 · 8986 阅读 · 11 评论 -
OpenCV-模板匹配
寻找一幅图像的匹配的模板,可以在一段视频里寻找出我们感兴趣的东西,比如条形码的识别就可能需要这样类似的一个工作提取出条形码区域(当然这样的方法并不鲁棒)。而OpenCV已经为我们集成好了相关的功能。函数为matchTemplate。所谓模板匹配就是在一幅图像中寻找和模板图像(patch)最相似的区域。该函数的功能为,在输入源图像Source image(I)中滑动框,寻找各个位置与...原创 2018-03-04 17:29:36 · 4359 阅读 · 1 评论 -
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 · 2516 阅读 · 0 评论