iOS开发技术分享
文章平均质量分 82
总结iOS项目开发的日常技术总结,包含项目经验、项目中的坑等等;iOS开发者交流群: 446310206
韩俊强
CSDN博客专家,阿里云MVP,2016年CSDN博客之星,2017年CSDN十佳专栏。
展开
-
攻克苹果4.3被拒问题 韩俊强的博客
前言:从2017年年底开始, Apple似乎做了很大的升级, 让众多开发者陷入困境, 不单单是马甲, 就连正常的 App 也被误伤; 周围很多开发者向我"求救", 诉说新品处于【等待审核】或【正在审核】状态长达一两个月的; 似乎 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 评论 -
iOS NetworkLinkConditioner 模拟网络状态进行调试
在开发过程中,有时候需要对网络不好的情况做处理,就是要模拟多种网络环境。那么神器来了 NetworkLinkConditioneriPhone设备可以在设置-开发者-NetworkLinkConditioner下 Status-Enable中进行设置,如图:除了上面列出来的那几种情况,还可以自己配置自定义的网络情况。在开发中简直就是神器,那Mac端有木有这种功能呢???Mac设备...原创 2018-12-11 16:12:50 · 1360 阅读 · 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 评论 -
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 评论 -
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视频秒开优化指北
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 评论 -
解决: 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 评论 -
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 · 1303 阅读 · 0 评论 -
Mac 下source tree 与 gitlab 添加 ssh 密钥
配置方法: 在普通用户 进入 .ssh 文件 cd .ssh/ 或 cd ~/.ssh HaRiMacBook-Pro:~ lelecd.ssh/HaRiMacBook−Pro:.sshlelecd.ssh/HaRiMacBook−Pro:.sshlele ls known_hosts HaRiMacBook-Pro:.ssh lelemanssh−addHaRiMacBook−...原创 2018-03-29 08:52:04 · 4351 阅读 · 0 评论 -
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 评论 -
OpenCV-模板匹配
寻找一幅图像的匹配的模板,可以在一段视频里寻找出我们感兴趣的东西,比如条形码的识别就可能需要这样类似的一个工作提取出条形码区域(当然这样的方法并不鲁棒)。而OpenCV已经为我们集成好了相关的功能。函数为matchTemplate。所谓模板匹配就是在一幅图像中寻找和模板图像(patch)最相似的区域。该函数的功能为,在输入源图像Source image(I)中滑动框,寻找各个位置与...原创 2018-03-04 17:29:36 · 4359 阅读 · 1 评论 -
2017年年终总结 韩俊强的博客
前言 不知不觉,2017年又接近尾声了,又到了该写年终总结的时候了,往年这个时候都会熙熙攘攘,各大平台提早预热过年的气氛,而今年显得格外的平静,这可能正如我的现在的心境,波澜而不惊!因为今年整体过的只能说并不太圆满,事业上颇丰,感情略欠缺。App开发公司项目: 2017年管理开发两个App,按照项目计划独立开发完成,这个阶段相对往年开发App有所不同,因为此次开发是以往经验的一次总结与实践原创 2018-01-03 20:10:06 · 2104 阅读 · 4 评论 -
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 评论 -
iOS11 完美解决导航栏按钮偏移问题 韩俊强的博客
iOS11 完美解决导航栏按钮偏移问题 韩俊强的博客 iOS开发者交流群(官方收费群):①446310206 ②446310206原创 2017-10-27 14:11:50 · 12810 阅读 · 6 评论 -
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 评论 -
iOS11 Xcode 9 快速跳转到定义新姿势(Jump to Definition)
Xcode 9正式版与之前beta版本相差不大,编辑器有较大调整,试写代码,发现“跳转定义”跟以前不一样了,之前按住command +鼠标左键即可跳转定义.原创 2017-09-21 09:57:33 · 6666 阅读 · 0 评论 -
iOS11问题: 定位服务在iOS11系统上不能使用?
Q:我刚刚用iOS11 SDK重新构建了应用程序,发现定位服务现在根本不起作用。原因:A:因为苹果现在增加了一项新的隐私保护功能 NSLocationAlwaysAndWhenInUseUsageDeion,并且原有的 NSLocationAlwaysUsageDeion 被降级为 NSLocationWhenInUseUsageDeion。想要达到之前 NSLocationAlwaysUsageD原创 2017-09-21 09:05:38 · 21379 阅读 · 1 评论 -
iOS 11 安全区域适配总结(转)
导语:本文主要是对iOS 11下APP中tableView内容下移20pt或下移64pt的问题适配的一个总结。内容包括五个部分:问题的原因分析、adjustContentInset属性的计算方式、什么情况下的tableView会发生内容下移、有哪些解决方法、解决这个问题时遇到的另外一个小问题。一、iOS 11下APP中tableView内容下移20pt或下移64pt的原因分析问题如下图所示:原因分转载 2017-09-14 11:01:28 · 2566 阅读 · 0 评论 -
2017最新App Store 审核指南中文版
iOS开发者交流群:①446310206 ②446310206代码地址: 加入我们学习原创 2017-08-08 08:31:51 · 5880 阅读 · 0 评论 -
RxSwift使用教程大全 韩俊强的博客
接上一篇:初识RxSwift及使用教程 韩俊强的博客 本文档内容来自于 RxSwift 的 Playground。记录大多数 ReactiveX 的概念和操作符。(部分翻译和注解来自 ReactiveX文档中文翻译)Introduction为什么使用 RxSwift?我们写的很多代码实际上是为了解决和响应外部事件。当用户操作一个控件的时候,我们需要使用 @IBAction 来响应事件。我们需原创 2017-08-03 15:39:23 · 2182 阅读 · 0 评论 -
初识RxSwift及使用教程 韩俊强的博客
什么是RxSwift?RxSwift是Swift函数响应式编程的一个开源库,由Github的ReactiveX组织开发、维护其他语言像C#, Java 和 JS 也有,Rx.Net、RxJava、RxJSRxSwift的目的是让让数据/事件流和异步任务能够更方便的序列化处理,能够使用Swift进行响应式编程函数式响应编程?RxSwift做了什么?观察者模式什么KVO,通知, 甚至代理都原创 2017-08-01 14:26:23 · 3928 阅读 · 3 评论 -
Protobuf-swift 集成小结 韩俊强的博客
第一步、配置环境(跟着github 上面配置就行了)第二步、把项目从gitHub拉下来(以下都是根据这个github的内容配置的):https://github.com/alexeyxo/protobuf-swift (使用终端操作)以下两个方法供使用:$ git clone git@github.com:alexeyxo/protobuf-swift.git $ git clone https:/swift原创 2017-07-28 13:49:05 · 1884 阅读 · 0 评论 -
iOS最新面试锦集
1. 为什么说Objective-C是一门动态的语言?① 什么是动态语言?动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。有三个名词容易混淆: Dynamic Progr原创 2017-07-14 17:18:55 · 3802 阅读 · 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 评论 -
iOS代码规范
这篇规范一共分为三个部分:核心原则:介绍了这篇代码规范所遵循的核心原则。通用规范:不局限于iOS的通用性的代码规范(使用C语言和Swift语言)。iOS规范:仅适用于iOS的代码规范(使用Objective-C语言)。一. 核心原则原则一:代码应该简洁易懂,逻辑清晰因为软件是需要人来维护的。这个人在未来很可能不是你。所以首先是为人编写程序,其次才是计算机:不要过分追求技巧,降低程序的可读性转载 2017-06-15 15:21:11 · 3589 阅读 · 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中 Framework静态库的创建和使用遇到的那些坑 韩俊强的博客
网上关于Framework制作的教程数不胜数,然而都过于陈旧,最新的也是使用Xcode7的教程,而且有些设置也只给出步骤,并没有给出原因,而且按照有些教程制作出的framework还有些问题,所以我把自己制作framework的过程记录下来,并且使用的是最新的Xcode8环境。本次制作framework,包含AFN,FMDB第三方,.a文件,xib,Bundle文件,还有Category分类,几乎制作和使用framework遇到的所有坑都被我遇到了,所以,此篇博客在我这属于干货,特此分享给大家,以免再走弯路原创 2017-05-19 14:13:54 · 8799 阅读 · 7 评论 -
证书转换-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 · 20019 阅读 · 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中 高仿Tumblr热度-滚动条数-JQScrollNumberLabel 韩俊强的博客
JQScrollNumberLabel 仿tumblr热度滚动数字条数,一个显示数字的控件,当你改变其数字时,能够有滚动的动画,同时动画和位数可以限制,动态创建和实例化可选,字体样式自定义等等。原创 2017-04-14 15:48:15 · 2796 阅读 · 0 评论 -
iOS中 仿Tumblr点赞心破碎动画 韩俊强的博客
最近Tumblr轻博客无论是web端还是移动端,都非常受欢迎,简单调研了一下,其中动画是我感兴趣的,特此写了个仿Tumblr点赞心破碎动画;原创 2017-04-13 14:44:24 · 3870 阅读 · 0 评论 -
HTTPS-老司机手把手教你SSL证书申购-TrustAsia证书
前言Apple从2016年逐步要求HTTPS,SSL相关证书等,上月的JSPatch封杀更是引起广大开发者的注意,整体来说多是为了安全考虑,那么SSL证书是硬需,考虑到上一篇:HTTPS时代已来,老司机手把手指导申请免费SSL证书 介绍了阿里云的相关证书,为了不仅仅依赖一家证书,特此又研究了一下又拍云的SSL-TrustAsia证书申购申购地址,希望能帮助到你!原创 2017-04-09 20:45:43 · 17317 阅读 · 0 评论 -
iOS10.3正式版发布:iOS10.3新功能有哪些? 韩俊强的博客
苹果今天发布了iOS 10.3正式版,由于加入了众多新功能,且更换了文件系统,所以非常值得升级,但是如果你打算更新,最好要耐心等待。 一些抢先尝鲜的iPhone 7、7 Plus果粉开始发帖表示(系统大小在600M左右),自己更新iOS 10.3过程中正是焦虑死了,因为安装过程非常长,差不多你要等25分钟左右。原创 2017-03-31 09:12:14 · 4305 阅读 · 0 评论 -
iOS新特性: iOS10.3教你如何动态更换APP图标?(后台切换) 韩俊强的博客
iOS 10.3 开放了更换 app 图标的 API,核心方法是下面这个:。。每周更新关注:http://weibo.com/hanjunqiang 新浪微博!手机加iOS开发者交流QQ群: 446310206原创 2017-03-30 16:29:10 · 13876 阅读 · 10 评论 -
快速使用HEXO搭建个人博客 韩俊强的博客
经过各种找资料,踩过各种坑,终于使用 hexo 搭建个人博客初步完成了,域名目前用得时 github 的,我的 hexo 是 3.1.1 版本,hexo 不同的版本,很多配置都不一样。好吧,废话不多说了,开始吧。 正文: 这边教程是针对与Mac的,参考链接,由于原文讲到的hexo是以前的老版本,所以现在的版本配置的时候会有些改动。 之前是想着写博客,一方面是给自己做笔记,可以提升自己的写作、原创 2017-03-24 09:26:35 · 2000 阅读 · 0 评论 -
Jekyll搭建个人博客 韩俊强的博客
之前写了一篇HEXO搭建个人博客的教程获得了很好评,有很多读者主动给我打赏,在此感谢。 如果你看过我的文章会发现我现在的博客样式跟之前是有很大的区别的,之前我也是使用 HEXO 搭建的博客,后来发现使用 HEXO 在多台电脑上发布博客,操作起来并不是那么方便,果断就转到了 Jekyll 上,接下来我会讲如何使用 Jekyll 搭建博客,博客模板效果。介绍 Jekyll 是一个简单的博客形态的静态站点原创 2017-03-23 11:29:32 · 7002 阅读 · 2 评论 -
笔记类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 评论