
原创
郎lang郎
这个作者很懒,什么都没留下…
展开
-
Mac环境中Jenkins自动打包上传fir的配置流程(从零开始)三
三。新建项目点击Jenkins首页的新建 Enter an item name 构建一个自由风格的软件项目 点击OK 1.项目名称和描述 2.源码管理 3.配置构建触发器 这里面五个对应不同的情况,我需要定时检查源码变更后构建,所以选择Poll SCM 按照提示的语法规则需要填入五组数字 第一组:分钟 0-59 第二组:小时 0-23 第三组 日期(每个月的几号) 1-31原创 2017-06-11 18:48:53 · 1915 阅读 · 0 评论 -
IOS11使用IQKeyboardManager导致tableview位置变形
项目里用了IQKeyboardManager来管理键盘弹起落下,当更新IOS11后,调出键盘然后落下有几率让界面变形,如下图:具体原因不知道,因为看到IOS中废弃了automaticallyAdjustsScrollViewInsets属性,所以猜测是IQKeyboardManager在弹起和落下时对automaticallyAdjustsScrollViewInset原创 2017-09-28 17:14:49 · 3440 阅读 · 1 评论 -
IOS11界面适配问题
兴冲冲升级Xcode 9+iOS 11后,发现我的项目变得乱七八糟,主要体现在tableview、导航栏这两个方面;赶紧逐个查看,发现了以下三个问题:1.tableview大部分都下移了大概30个像素2.导航栏的返回按钮下移3.键盘失去了完成按钮4.会出现紫色警告,基本上都是下面这种如果有我相同问题的,可以往下看1.tableview大部分都下移原创 2017-09-21 18:00:14 · 1332 阅读 · 0 评论 -
嵌套tableview的滑动问题
嵌套tableview的滑动问题。整体是一个tableview,里面的列表内容还需要tableview上部分的内容需要随着滑动隐藏,而下部分内容头(“全部课程”)需要停留在界面不被隐藏原创 2017-12-27 18:51:42 · 2837 阅读 · 1 评论 -
微信跳一跳辅助的流程(IOS+MAC)
最近都在大家都在玩微信跳一跳,跟风玩了几把。无奈手残,最高玩到200,玩不动了。想上网搜搜教程,结果看到了奇怪的东西。。。搞了一晚上终于可以跑了,发上来我的流程供大家参考一下,不要实锤我啊啊啊啊啊啊啊啊用的是macbook加上iPhone7,具体参数等跑通了可以调。主要使用facebook-wda和wechat_jump_game以下是具体步骤,因为是事后才写的,可能有些遗漏1.下原创 2018-01-08 23:25:05 · 9732 阅读 · 0 评论 -
iOS setNeedsDisplay不能正常调起drawRect方法的某个原因
项目里有个点击cell下载对应文件的功能,需要显示每个文件的下载进度。下载因为是很耗时的操作,所以一般都是放在子线程中完成,同时带进度数值progress回调的block也是在子线程中。我开始的想法是,只需要在block中调用[xxx setNeedsDisplay];再重写xxx的drawRect方法就行了- (void)d原创 2018-03-02 09:22:47 · 1804 阅读 · 0 评论 -
iOS 使用自定义按钮删除对应cell
很多app设计的时候因为各种原因,导致tableView不能通过右滑cell的菜单来删除相应的cell。这种情况下删除按钮通常放在对应的自定义cell上,如下图:之前我的删除功能都是通过 删除数据源对应元素,然后通过tableView reloadData 来实现删除功能。这样做有两个小问题:1.每删除一个都需要reloadData,感觉很浪费2.没有删除的动画效果,体验不好于是按照自己的想法改动...原创 2018-03-06 10:22:51 · 2854 阅读 · 0 评论 -
Block存放区域的类型
看到有个面试题上问block的类型,本来以为是以参数和返回值来分类,看到答案是以存放区域来分类的,特地研究了一下 int a = 10; void(^ blockA)(void) = ^{ NSLog(@"just a blockA"); }; NSLog(@"blockA:%@",blockA); void(^ blockB...原创 2018-03-25 17:45:12 · 584 阅读 · 0 评论 -
自动代码工具-json自动生成模型文件
下载地址,是代码和打好的包都在里面是我fork 张玺 这位大神的,因为之前自己一直在用,过程中碰到一些问题,所以修改了一下,并且增加了一些适合自己用的功能。主要功能:将json自动生成模型文件自动识别类型,只需要填入Class Name(模型文件名称),如果需要模型文件全部带前缀,填写PreName即可,把json数据粘贴到最大的文本框中,点击convert to Objective-C后选择路径...原创 2018-03-27 09:49:54 · 12322 阅读 · 3 评论 -
iOS无数据视图DZNEmptyDataSet的使用和原理
地址:https://github.com/dzenbot/DZNEmptyDataSet功能当tableview或者collectionView没有数据时,展示指定无数据视图使用步骤只需要遵守协议DZNEmptyDataSetSource和DZNEmptyDataSetDelegate成为代理self.tableView.emptyDataSetSource = self;self.tableV...原创 2018-04-10 16:56:44 · 3101 阅读 · 0 评论 -
pod引用的库打包时报错library not found for -lXXX
项目通过build或者run都是不报错的,但是打包就会出问题library not found for -lXXX。碰到这类问题总是很头痛,在网上各种找解决方法,以下是我收集的一些解决方法(均为单独使用,不需要全部执行):Build Setting > Library Search Paths 添加报错的库的路径进入target的 Build Phases- Link binary Libr...原创 2018-04-16 15:37:25 · 5504 阅读 · 3 评论 -
Agreement has been updated--Edit Phone Number最便捷解决办法(不需要安全提示问题和双重认证)
这两天需要提交新版本,于是上到开发者网站,发现Agreement has been updated。按照之前的套路,基本点一下review就完事了。但是这次要更新手机号(不知道要干嘛),只能按照步骤跳到appleid的网站来修改。进入之后发现个严重的问题。。。安全提问的回答忘记了。。。账号申请了好久,之前总以为自己记得,没有保存好(以后切记!!不管什么资料,都要保存一份)其实我们的目的只是要修改账...原创 2018-04-24 14:20:05 · 2534 阅读 · 2 评论 -
iOS第三方平台和原生崩溃信息获取冲突的问题及崩溃日志的分析
记录最近一次遇到的问题。最近一个项目的crash report是自己写的原生的方法,再次启动后提交到自己服务器。自己运行测试的时候没有问题,获取的日志可以追踪到错误的代码位置。但是后来发布正式版后,服务器上接收到了几个日志,于是下载下来追踪,但是发现全部都是Application received signal SIGABRT这种错误。根据地址分析之后只能查到是UmengSignalHandl...原创 2019-01-25 13:14:11 · 1300 阅读 · 2 评论 -
iOS 设置自定义间距的文字下划线
网上看到很多用NSAttributedString的NSUnderlineStyleAttributeName来设置的,方法很简便,网上也很多,就不发了。效果如下:下划线和文字没有间隔,贴在一起的。感觉不好看,而且后面项目还有一些需要用下划线的按钮,所以写了一个通用的UIButton子类,UnderlineTextButton重写drawRect方法,用coregraph...原创 2019-08-07 11:39:04 · 4726 阅读 · 0 评论 -
MAC彻底删除程序
其实应该说是相对彻底的删除。1.打开Finder,选择应用程序。右键想要卸载的应用,点击移至废纸篓以上也是我们平常的步骤,但有时候有一些残留文件,需要第二个步骤2.在打开Finder的状态下,按住⌥ Option键,单击桌面顶部菜单栏中的“前往”,菜单下就会出现“资源库”选项,点击进入资源库文件夹(也可以点击前往-前往文件夹,输入~/Library来进入)。点击La原创 2017-08-03 14:53:30 · 29286 阅读 · 2 评论 -
从今天开始把博客替代笔记吧
做了一年的ios,临过年才发现自己居然什么都没有留下。看到朋友的微博里热火朝天,心中不免有些嫉妒。以后还是多写点博客吧,记录心路历程,也许还能帮助别人少走点弯路,何乐而不为呢。应该还能改改我笔记写的乱的毛病。原创 2016-01-26 18:03:19 · 337 阅读 · 0 评论 -
Mac中Jenkins自动打包上传fir的配置流程(从零开始)二
二.配置Jenkins1.初始化 安装完成后,打开浏览器,输入 http://localhost:8080 会出现下图的重设初始密码的界面 找到/Users/Shared/Jenkins/Home/文件夹,更改里面secrets文件夹及其中initialAdminPassword文件的读写权限(右键-显示简介-最底下的锁打开,把everyone的权限调整为读与写),打开initialAdm原创 2017-06-11 18:06:35 · 3089 阅读 · 2 评论 -
Mac环境中Jenkins自动打包上传fir的配置流程(从零开始)一
以前总觉得自动打包上传就是个噱头,对与做IOS意义不大。直到有天碰到现在的项目经理,每天早上第一件事就是找我要新版本,检测昨天做的需求或修改的bug是否能通过验收。就这样烦了一周,终于受不了,搞了个Jenkins服务器。以下是配置的流程,面向小白,所以写的比较多。一。安装Jenkins1.安装Jenkins需要先安装JDK如果已经安装可以直接跳到第三步地址:http原创 2017-06-11 16:54:55 · 566 阅读 · 0 评论 -
ios设置Cell的默认选中第一行
要做的需求如下图,当选到最后一行时,对选中的cell设置文字变为蓝色,右边出现☑️图标这里介绍不需要自定义cell,相当简洁的办法,直接上代码在cellForRowAtIndexPath方法里设置 //设置selectedBackgroundView cell.selectedBackgroundView = [[UIViewallo原创 2017-04-28 15:37:32 · 4869 阅读 · 0 评论 -
IOS 获取当前方法的方法名
之前一个项目做统计功能的时候,需求不止统计界面,而且还要求统计很多具体事件,当时完全逐个填写字符串来做的。现在想想应该可以简单一点,比如我在官方文档上看到的_cmd方法。“The _cmd variable is a hidden argument passed to every method that is the current selector”就是说_cmd在Objec原创 2017-04-06 13:55:32 · 5080 阅读 · 2 评论 -
在pods导入非pod的文件报错(file not found)的解决办法
大部分时候我们的第三方库都是用cocoapods来管理的,工作当中偶尔会遇到需要修改第三方库的情况,当需要将其他project中的头文件导入pods的第三方库时,直接导入会报错'xxx.h'file not found。原因: Pods Project中头文件的搜索根源没有添加对应的源,需要在User Header Search Paths中添加。解决办法:点击原创 2016-08-05 10:24:59 · 7002 阅读 · 0 评论 -
IOS 写一个整洁易用的tableView
整体还是用MVC设计模式,其中的M一般由两个模型类组成一个模块,V对应tableview要用到的cell,C则是tableviewController。M:可以将tableview的数据对应成一个二维数组,二维数组中的一维数组对应每一个section,一维数组中的元素对应每一个cell。因此我们可以新建两个模型类,一个为BaseItem,它的属性对应cell中需要用到的数据如@pr原创 2016-04-27 15:22:16 · 340 阅读 · 0 评论 -
IOS 将请求参数字典转换为参数字符串
适用的地方蛮多的,比如请求出错后台需要你的请求连接来debug。最后把方法写在NSDictionary的分类中,具体代码如下:- (NSString *)URLRequestStringWithURL:(NSString *)urlstr{ NSMutableString *URL = [NSMutableString stringWithFormat:@"%@",urlstr]; /原创 2016-04-08 17:07:23 · 4379 阅读 · 0 评论 -
IOS 返回JSON数据中存在NULL的解决办法
有些后台写的不好,返回数据的字段偶尔有NULL类型存在,如果不直接赋值给其他对象就会造成崩溃。解决办法的主要思路就是将其中的NULL对象转换为@”“空字符串。以下是封装好的方法创建一个字典的分类 .h文件#import <Foundation/Foundation.h>@interface NSDictionary (SetNilStr)+(id)changeType:(id)myObj;@e原创 2016-03-17 16:36:50 · 5343 阅读 · 5 评论 -
IOS模拟器上下部分黑屏(界面未占满)解决办法
如下图所示:上下部分都是黑色,界面没有占满整个屏幕。解决办法:1.创建一个launchScreen2.讲创建好的launchScreen设置为Launch Screen File再次启动,就OK了原创 2016-03-02 10:52:08 · 3183 阅读 · 0 评论 -
赋值字符到手机剪贴板
UIPasteboard *pab = [UIPasteboard generalPasteboard]; NSString *string = @"测试"; [pab setString:string]; if (pab == nil) { //复制失败 }else { //赋值原创 2016-02-27 11:49:36 · 729 阅读 · 0 评论 -
创建系统日历的日历事件
先上效果日历中:在锁定屏幕情况下看到的提醒:手机未锁情况下的提醒:以下是代码#import //事件市场 EKEventStore *eventStore = [[EKEventStore alloc] init]; //6.0及以上通过下面方式写入事件 [eventStore requestAcce原创 2016-02-22 14:19:07 · 391 阅读 · 0 评论 -
存在导航栏时UITextView 上面空白 光标下移
解决办法self.automaticallyAdjustsScrollViewInsets = NO;凡是继承UIScrollView的控件都会受到UIViewController的这个automaticallyAdjustsScrollViewInsets属性的影响. 默认为YES, 当有Navigationbar的时候,UITextView的表现就是上面空白. 设为NO,UITextVie原创 2016-01-29 11:15:20 · 1222 阅读 · 0 评论 -
Iphone上使用UIPopoverPresentationController
1.遵守协议<UIPopoverPresentationControllerDelegate>2.创建 //创建将被推出的VC UIViewController *popVC = [[UIViewController alloc]init]; //设置颜色区分 popVC.view.backgroundColor = [UIColor lightGrayColor];原创 2016-01-28 16:34:30 · 876 阅读 · 0 评论 -
让具有导航栏的界面滑动返回
遵守协议<UIGestureRecognizerDelegate>在viewdidload中实现以下方法id target = self.navigationController.interactivePopGestureRecognizer.delegate; // 创建全屏滑动手势,调用系统自带滑动手势的target的action方法 UIPanGestureRecognizer原创 2016-01-27 09:57:59 · 456 阅读 · 0 评论 -
iOS导入应用外文件
之前需求提出想要像安卓一样从手机的文件夹获取文档安卓那种肯定做不到,只能用像QQ、微信之类的外部app传入文档。在网上看了一些资料,总结如下:1、拷贝文档方式,如图这是从QQ上打开的word文档,然后点击用其他应用打开,图中第二行,可以找到很多其他app,问题是如何让自己的app处于其中。方法如下:其实只需要在info.plist注册文件类型,就可以在其他app中找到...原创 2019-09-06 16:14:35 · 2197 阅读 · 0 评论