- 博客(134)
- 收藏
- 关注
转载 提高工程效率
1. tree如果想在终端查看当前目录的层级结构,不妨了解下 tree,它可以以树状的形式显示当前的目录结构。安装:在终端输入:brew install tree使用:在当前目录下,显示树状目录结构:tree -L 2 -d 。其中 -L 表示遍历的深度,这里为 2;-d 表示只显示目录。更多参数可以使用 man tree 查看。2. Go2Shell有时候在 Finder 中的目录,想在终端中直...
2018-06-20 10:49:51
1019
转载 iTunes connect修改主要语言
具体可参考:https://www.jianshu.com/p/c1ee1218b97a文中第一段说本地化语言的时候有一个错误:“并不在itunesConnect本地化语言范围内,将显示设置的主要语言” 这个应该把未去掉。...
2018-05-12 11:46:28
4668
原创 iOS 在itunesConnect里提交审核时,提示本地化版本存在错误
今天在提交审核app的时候,碰到一个问题。提示我的两个本地化版本存在错误。不好意思忘截图了。经过谷歌排查一些乱七八糟答案之后,分析出问题所在。我的应用在appStore里设置了多个语言:简体中文,英文(澳大利亚),英文(美国),英文(英国)。提示错误是英文里面有两个本地化错误。原因是每个本地化版本下面都需要填写一些资料,包括UI图,技术支持网址等。所以查看一下是不是每个本地化版本下都填写了相关信息...
2018-05-12 11:34:54
4266
原创 mac知识小结
有时候解决一个小问题就过去了,没过多久又遇到,然后又得google。索性整理成一篇文档,记录下。mac开启任意来源权限:sudo spctl --master-disable
2018-05-02 13:27:23
350
原创 Fabric集成之后,无法收集crash
Fabric是Twwiter下面的应用分析工具,可以收集crash。这会越来越多的项目开始集成。我也刚了解fabric,公司让我解决为什么收集不到crash的问题。好吧。google了之后整理如下,可以按照这几点对照一下:1、查看build options:然后查看scheme下是debug还是release:快捷键:cmd + <:如果是debug的话,是收集不到crash的。要么改成re...
2018-04-28 19:12:45
1255
转载 https原理分析
最近苦逼找工作面试,携程的面试官问我https原理,我回答的不是特别好。所以自己谷歌了一下,在此做一下整理。先说说为什么用https,而放弃http。因为http的请求,请求数据都是“裸奔”在互联网当中,一旦被窃取有很大的风险。总体来说http请求有三大风险:1.窃取风险:黑客可以获知通信内容2.篡改风险:既然黑客可以窃取,那么也可以篡改数据。3.冒充身份:黑客可以冒充他人身份进行通讯其中1,2好...
2018-04-27 13:35:27
280
转载 iOS 绘制虚线的三种方法
方法一:通过Quartz 2D 在 UIView drawRect:方法进行绘制虚线- (void)drawRect:(CGRect)rect { // 可以通过 setNeedsDisplay 方法调用 drawRect: // Drawing code CGContextRef context =UIGraphicsGetCurrentContext(); // 设置...
2018-04-19 16:06:42
7794
原创 socket浅析以及socket心跳机制
最近在看socket编程的一些内容,想总结下。先从理论知识总结下,不涉及代码。1.socket是什么?socket(套接字)是应用层和TCP/IP协议族通信的中间软件抽象层,是它的一组接口。包含进行网络通讯必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。2.socket能干嘛?多个TCP连接或者多个应用程序进程可能需要通过同一个TCP...
2018-03-28 16:57:20
3225
2
原创 小程序类iOS collectionView列表,item长度自适应
具体源码以及项目介绍请看我的github:https://github.com/oikios/wx_selectViewComponent
2018-03-26 18:05:10
2100
原创 小程序带有下拉菜单的分段选择器组件
具体源码及使用请看我的github:https://github.com/oikios/wx_segment
2018-03-26 18:04:56
5231
原创 控制器返回,取消之前的请求
接上篇之所以用静态变量封装AFN,是为了可以获取到当前正在执行的请求,然后取消。代码如下:AFNetworkingTool继承自AFURLSessionManager,用静态变量保存。在基类中重写系统方法dealloc,因为AFNetworkingTool静态存储,所以可以在这个方法里获取到它,然后获取当前正在执行的任务,如果任务正在执行或者被挂起,那么取消执行,这个时候请求会走失败回调,避免无谓...
2018-03-26 18:02:46
1635
原创 为什么不用单例封装AFN
接上一篇。为什么用定义一个静态局部变量的方式封装AFN,而不用单例。首先我的业务需求非常简单,在控制器返回上级界面的时候,如果还有正在执行的请求,那么取消掉。所以没必要用到单例,因为我没必要保存或者使用请求类的状态。再次,如果单例使用不当,容易造成死锁。比如在两个单例的初始化方法中,分别调用对方的初始化方法,这样就会造成死锁。参考:http://blog.csdn.net/fishmai/arti...
2018-03-21 10:37:34
1047
原创 局部变量,全局变量(外部变量),静态局部变量,静态全局变量
今天被问到了一个问题:如何让请求的类延迟释放如果要延迟释放或者在程序整个生命周期都存在可以考虑两种方式,一是定义一个静态变量,二是用单例。用单例本质上用的是静态变量。单例的写法如下:+ (instancetype)sharedInstance{ static AFNetworkingTool *_afNetWorkingTool = nil; static dispatch_once_...
2018-03-20 16:59:43
2146
原创 iOS 收到通知的触发函数不一定运行在主线程
今天被问到一个问题,如果在子线程发通知,主线程能不能收到通知。答:肯定收不到。为什么?因为线程间没有这样的通信机制。下面是苹果关于通知的官方文档:In a multithreaded application, notifications are always delivered in the thread in which the notification was posted, which ma...
2018-03-20 10:45:10
2343
2
原创 复制div上的内容
最近在做web前端的东西,所以看我最近的微博,可能前端东西总结的比较多。这篇文章主要针对一个点击视图复制文本的需求,我用div做的视图。下面上代码:<div id="text" class="popup__bottom__text" onclick="tapCopy()">职人鲨</div>//复制文本function tapCopy() { selectText...
2018-03-19 14:58:05
2500
原创 web前端阻止事件向下穿透的方法
两个div,一个div在另一个div上面。下面的div有个点击事件。但是当你点击上面div的时候,下面的点击事件依然会执行,怎么办呢?可以在上面的div上加一个监听click的事件,事件里面加上底下这行代码:e.stopPropagation();阻止事件向下传递。...
2018-03-18 21:41:36
22227
原创 微信小程序滑动悬停
图1 图2最近有个小需求,需要在滑动列表的时候,让图1中红线框部分悬停,变成图2。对于我这个前端小白,想了一下,大体思路是这样:通过系统的onPageScroll方法,监听滑动,在适当时机改变视图的css. 代码如下://监测滑动,进行view...
2018-03-18 21:14:06
7054
5
原创 iPhoneX的适配
之前停了一段时间iOS,去做小程序。今天又继续开发iOS。今天做的事情主要是适配iPhoneX,因为后面提交的版本必须适配iPhone X,否则不让上架。粗看项目,我大概发现了几点需要适配的地方:tableView的头视图和尾视图高度错误tableView向下偏移了一定距离tabBar高度不对导航条和状态栏高度不对,导航条上的视图位置不对。视图中没有导航条的时候,顶部视图的位置不对。下面一一解决上...
2018-03-16 11:04:23
1417
2
原创 initWithFrame,initWithCoder,awakeFromNib的区别
这三个都是系统初始化视图时会调用的方法。initWithFrame主要用在非xib创建的视图initWithCoder和awakeFromNib主要用在xib创建的视图 两个调用的先后顺序是initWithCoder->awakeFromNib.initWithCoder和awakeFromNib这两个方法的区别:initWithCoder只是把子视图加载到视图层级中,但是还没有引用。...
2018-03-13 17:20:42
301
原创 如何用xib自定义View
在开发过程中经常会用xib自定义view,今天写这个文章主要再梳理一遍。创建好项目,并且新建好TestView的.h,.m以及xib文件。为了便于管理,xib的名字和.h,.m的名字一致。然后进入xib文件,点击view,在右侧填入TestView:随便拖入一个view,设置view的宽高固定,上下居中对齐。然后在viewController.m里import,然后添加如下代码:这个时候界面上已经...
2018-03-13 16:36:43
1043
1
原创 frame和bounds的区别
现在处于空窗期,有时间去做些工作以外的事情,好久没有更新博客了。这会在慢慢的回顾之前学到的ios,回顾一些基础。这篇文章主要想说下自己对frame和bounds的理解。frame和bounds的区别主要是坐标系的区别:frame针对的是父视图坐标系,bounds针对的是自身坐标系。bounds的作用是可以影响子view的位置和大小,对自身的显示没有作用。光说不行,直接看代码:本来view2的位置是...
2018-03-13 15:50:05
1799
转载 有关iOS命名规范
为什么 Cocoa 的常量命名都以小写 k 开头?k means constant因为 Cocoa 用的匈牙利命名法,第一个小写字母用来表示类型.k 是 constants 的意思.至于为什么不用 c,大概是因为 c 已经被别人用来表示 count.(又或者最早这么写的是个德国人……)命名基础在⾯面向对象软件库的设计过程中,开发人
2017-05-04 12:02:55
390
转载 Instruments的一点使用心得
【一】应用性能分析报表: 1、cpu使用率 真机调试时,查看运行状态标签,CPU一栏:最高使用,最低使用,平均使用Instruments——timerProfile :CPU使用率详情2、线程状态查看运行状态标签,CPU一栏:app总计开启线程数 转到Instruments,操作app,可以看到当前活动线程,并可以看到
2016-06-30 17:22:45
1994
转载 View controller-based status bar appearance
info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于application的设置。为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,是根本不会被调用的。
2016-05-25 10:17:55
1058
原创 改变状态栏样式
如果想把状态栏样式由默认改为Light,只是在plist或者程序targets的General里改是没有用的。 因为系统默认的一个属性值 View controller-based status bar appearance 为YES,它的意思就是说,以控制器设置为准,plist或者程序里的设置是没效果的。 所以此时需将此属性设为NO,这样plist或者程序里的设置就会生效,从而使状态栏的
2016-05-25 10:13:56
448
转载 IOS实现输入验证码、密码按位分割
本文提供了实现IOS实现输入验证码、密码按位分割的一种思路,分享给大家供大家参考,希望与大家共同交流。一、实现思路1、思路描述自定义一个view,继承自UIView在view中添加子控件textField,backgroundImageView,label将验证码/密码的内容绘制到label的指定区域(计算得到),所以label要自定义,在drawRect方法中绘制验证码使
2016-04-20 23:09:22
2662
转载 xib自定义UIView报错误 "forUndefinedKey:]: this class is not key value coding-compliant for the key"
使用xib自定义UIView的时候, 需要将控件拖拽成属性, 在viewController加载自定义view的时候报错误 "forUndefinedKey:]: this class is not key value coding-compliant for the key"查找很久,终于发现是xib 的FILE‘OWNER 的类关联出错
2016-04-18 23:25:02
1917
转载 loaded the "xxx" nib but the view outlet was not set 错误的解决办法。
'-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "XXXView" nib but the view outlet was not set.'查书才知道,没有做nib文件到xxxViewControler程序的关联,特此记录下来:1, 打开nib文件2, 点击"File's Owner", 按command+4
2016-04-13 17:25:25
2081
转载 updateViewConstraints和updateConstraints
- (void)updateViewConstraints NS_AVAILABLE_IOS(6_0); UIViewController中也新增了一个更新布局约束的方法,在AutoLayout UIView相关API的笔记中,详细讲述了UIView的一组更新布局约束的方法。这个方法默认的实现是调用对应View的 -updateConstraints 。ViewCont
2016-04-13 14:07:34
2299
原创 此证书的签发者无效
过年来了之后,第一天上班,打开钥匙串,发现之前的证书全部提示 “此证书的签发者无效”。顿时吃了一鲸。。然后搜索资料,整理如下:之所以无效,是因为系统证书的问题。需要更新一下系统证书WWDR:更新证书的链接:developer.apple.com/certificationauthority/AppleWWDRCA.cer下载更新之后,一切正常,全部变为有效
2016-02-15 11:51:05
5356
13
转载 相机(摄像头)获取到的图片自动旋转90度解决办法
今天写demo的时候发现, 如果把通过相机获取到的图片,直接进行操作, 比如裁剪, 缩放, 则会把原图片向又旋转90度。刚开始觉得莫名其妙, 不知所措。 后来百度了一下,找到了解决办法。ps: 查找过程中, 碰到了一种说法://get original photo from iOS photos //如果该图片大于2M,会自动旋转90度;否则不旋转UIImage* orig
2016-01-22 10:51:07
2664
转载 git reset 之 soft,mixed,hard的区别
译注:为了避免丢失本地的修改以及original HEAD,建议在进行reset操作之前,在本地创建一个新的branch,在新的branch上面进行reset,以保证master分支永远处于original HEAD
2015-12-30 00:57:31
1343
转载 willMoveToParentViewController和didMoveToParentViewController
iOS 5.0 后UIViewController新增:willMoveToParentViewController和didMoveToParentViewController在iOS 5.0以前,我们在一个UIViewController中这样组织相关的UIView在以前,一个UIViewController的View可能有很多小的子view。这些子vie
2015-12-18 14:21:19
487
转载 Xcode7免证书真机调试
先看官网的图可以看到官方说了xcode7可以让所有人都更轻松的将app运行在自己的设备上,而无需开发者帐号。不过xcode7需要OSX10.11的支持,而目前(2015.06.10)下载后者的开发者预览版是需要开发者帐号的,我在网上找到了资源传到了百度云,OSX10.11:链接: http://pan.baidu.com/s/1kTuzvjL 密码: dbmk,xcod
2015-12-17 11:24:50
449
转载 Fails to distribute my app: “Your app contains non-public API usage.”
打包上传遇到错误, Fails to distribute my app: “Your app contains non-public API usage.” The app references non-public symbols in Care: _UICreateCGImageFromIOSurface说我的项目里还有私有api,我当即在项目里搜索"UICr
2015-12-16 11:59:32
895
原创 打包上传,cannot verify client 3000
今天打包上传时,第一次碰到cannot verify client 3000.在网上搜了一下,后来我没有作任何改动,重新上传了一下,成功! 可能的原因是网速关系(我当时的网速应该还可以),也有可能跟我选择用Generic iOS Device打包有关(但我的的确确是用这个打包成功的),anyway,总之再次上传成功了。
2015-12-16 11:49:49
2323
转载 Xcode运行设备由iphone/ipad变为my mac的解决方
首先介绍如何解决设备一栏显示“My mac”问题:童鞋们都知道Xcode会根据当前SDK在Run按钮旁边的选项栏中显示适合的Simulator供开发者选择,但是有时候则错误显示“My mac” ,这个明显不是我们想要的。上面这种情况主要出现原因在于你打开了另外一个mac电脑copy过来的项目时或者其他原因造成出现,那么解决的方法这里给出来: 解决步骤:首先关闭你的Xcode,找到
2015-12-11 18:08:23
2089
转载 Xcode常用插件
Xcode插件1. 采用Alcatraz来管理所有的插件安装经验贴:http://blog.csdn.net/xiaoliuxingzi/article/details/468894292. ATProperty 快速生成属性的利器3. Auto-Importer 添加头文件比较方便,不需要跳到.m文件的顶端去添加4.AutoGenerateDescri
2015-12-10 16:21:26
751
转载 类别,类扩展的区别
在iOS中,有一种机制可以使用户在没有远吗的情况下扩展类的功能,但不是通过继承,这就是类别。iOS中没有类似C++中可以定义私有方法和私有变量的关键字,要定义私有方法和私有变量,可以用类扩展来实现。 类别 类别在不需要继承的情况下可以扩展类的功能。但类别不能添加类的属性和私有变量。类别可以用来扩展Cocoa中类的方法,也可以用来扩展用户自己的类中的方法。当我们查看系统
2015-12-08 18:30:50
1085
转载 解决iOS报错libc++abi.dylib handler threw exception
在iOS开发时,有时候遇到libc++abi.dylib handler threw exception这样的异常, 虽然在断点出加上了All Exceptions,也断到相应的代码了,但是没打印对应的日志,实际上不是这段代码的问题。因此不知道什么地方出错了。这时候可以用下面的代码来打印异常log,把出错代码放入try中[cpp] view plaincopy
2015-12-04 18:20:09
528
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人