
iOS
csdndimo
这个作者很懒,什么都没留下…
展开
-
iOS bug记录:某页面会导致整个项目动画出现问题
某页面只要进入,就会导航栏闪一下(其实是已经动画异常了导致的),再退出来发现整个项目动画都奇奇怪怪了,包括scrollview滚动速率、alert的弹出等等没有一处正常的。刚开始以为是xib的问题,因为正好那个vc使用了xib,抽时间排查了下,发现和xib没有关系,是某个自定义view里使用了[UIView beginAnimations:nil context:nil]和[UIView commitAnimations]在这两句中间有个if...return;走到return时,也原创 2021-06-22 18:08:32 · 287 阅读 · 0 评论 -
iOS ijkplayer生成framework时报错和解决
在按照这篇文章生成framework时,出现了两个错误:错误一:C compiler test failed执行./compile-ffmpeg.sh all时报此错误,解决方法:终端执行这句话sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/然后输入密码,然后再试应该就行了错误二:have the same architectures (arm64) and can't be in the sam原创 2021-01-08 10:50:52 · 608 阅读 · 0 评论 -
Terminating app due to uncaught exception ‘NSInternalInconsistencyException‘, reason: ‘<xxx: 0xxxx>
今天一个新接手的项目出现了这样的错误:Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '<xxx: 0xxxx> returned nil from -traitCollection, which is not allowed.'全局断点也不能找到正确的位置原因是尖括号里的类没有初始化,竟然只写了alloc没有init...原创 2020-08-05 16:34:05 · 8818 阅读 · 0 评论 -
项目一打开Xcode就卡的问题
有个项目不知道为什么只要打开,xcode就先卡一会儿,甚至电脑都要跟着卡住了,每次编译运行也是如出一辙的卡,build succeeded、failed的提示都要在屏幕上卡好一会儿才能消失,期间试过清理缓存、新建项目把老项目代码复制过去,都不起作用,最后解决方法是:给网络请求类加上了NS_ASSUME_NONNULL_BEGIN 和NS_ASSUME_NONNULL_END的确是奇葩的b...原创 2019-10-25 18:34:33 · 2338 阅读 · 1 评论 -
iOS引入Framework代码报错找不到类
原因肯定是xcode的bug,各种清缓存重启电脑都试了,就是不行,找了两天才想到改这里:把build settings里的Framework Search Paths顺序调一下,像图中让较深的地址排在前面即可,估计是xcode按顺序检测,检测完工程目录后发现下一个目录是包含在工程目录里的就没继续了,然而这个目录在工程中不可见所以它没检测到这种诡异的问题基本上是xcode的bug,再遇到...原创 2019-10-24 16:24:47 · 1873 阅读 · 0 评论 -
CocoaPods停在Analyzing dependencies解决方案
原文:CocoaPods停在Analyzing dependencies解决方案,在我看完文章后它已经不卡了,所以这些方法我都没试过解决的方法:1: 换镜像索引库国内有人建立了cocoapods的索引库镜像,能够通过例如以下命令更改镜像: pod repo remove master pod repo add master https://镜像地址 pod repo...转载 2019-10-22 15:45:37 · 3342 阅读 · 0 评论 -
hitTest方法Apple官方的实现
if self.isHidden || !self.isUserInteractionEnabled || self.alpha < 0.01 || !self.point(inside: point, with: event) { //实际还有个_isAnimatedUserInteractionEnabled判断 return nil} else { for subv...原创 2019-10-17 16:38:34 · 178 阅读 · 0 评论 -
[NSThread callStackSymbols] 堆栈信息,获取方法执行的类和顺序
(lldb) po csss<_NSCallStackArray 0x1c0643ff0>(0 iOSGeneral 0x00000001011e3514 +[GXJAFNetworking POST:parameters:success:failure:showDefaultErrMsg:] + 1708,1 iOSGe...原创 2018-05-28 11:24:41 · 5207 阅读 · 0 评论 -
UISlider 获取滑块上方坐标&解决滑块两边空隙
UISlider 获取滑块上方坐标&解决滑块两边空隙获取滑块上方坐标: 比如infoView是上面要显示的坐标,scrubberSlider是UISlider: self.infoView.hidden = NO; CGRect trackRect = [self.scrubberSlider convertRect:self.scrubbe转载 2018-04-20 14:51:05 · 1638 阅读 · 0 评论 -
iOS微信支付大坑
项目里要加微信支付,上次我们只加了支付宝,觉得挺好加的,想来微信也不会太难,万万没想到...文档不清晰,一开始都没发现https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5这个网址,安卓ios都在这原创 2017-12-15 15:35:54 · 1883 阅读 · 0 评论 -
限制UITextView输入字数
整理自: http://blog.youkuaiyun.com/fengsh998/article/details/45421107 , 基本就是照搬下来的代码,所以算是转载吧和普通的有些区别所谓普通的就是: 打王者荣耀时你趁着等复活的时候抓紧时间打了一句话结果输入到一半的时候突然由于字数限制直接变成了没有拼完的拼音,于是你只好按词语的首拼甚至一个字母从候选里找出你想要的字,或者一句话分成两次发...转载 2017-12-04 15:50:03 · 320 阅读 · 0 评论 -
iOS画圆、画线
iOS画圆、画线UIView: - (void)drawRect:(CGRect)rect { [super drawRect:rect]; CGRect frame = CGRectMake(50, 100, 100, 100); /*画填充圆 */ CGContextRef context = UIGraphicsGetCurr...转载 2018-12-05 20:22:43 · 3531 阅读 · 0 评论 -
C语言格式化说明符
原文http://www.cnblogs.com/xiu619544553/p/5247288.html1.1.1 格式化输入输出函数一、printf()函数printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:printf("", );其中格式化字符串包括两部分内容: 一部分是转载 2017-11-23 10:20:52 · 469 阅读 · 0 评论 -
Dispatch Source Timer 的使用以及注意事项
Dispatch Source Timer 的使用以及注意事项原文地址:https://skyline75489.github.io/post/2016-7-19_dispatch_source_timer_intro.htmlDispatch Source Timer 是一种与 Dispatch Queue 结合使用的定时器。当需要在后台 queue 中定期执行任务的时候,使用 Disp...转载 2018-09-14 10:38:29 · 6320 阅读 · 0 评论 -
iOS版本更新判断
//// AppUpdate.h// iOSGeneral//// Created by XX on 2018/4/23.// Copyright © 2018年 XX. All rights reserved.//#import <Foundation/Foundation.h>#define myappid @""//这里写appidtypedef...原创 2018-10-12 10:58:38 · 1015 阅读 · 0 评论 -
WKWebView那些坑
WKWebView 那些坑导语WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用、内存泄漏的 UIWebView。WKWebView 拥有60fps滚动刷新率、和 safari 相同的 JavaScript 引擎等优势。简单的适配方法本文不再赘述,主要来说说适配 WKWebView 过程中填过的坑以及善待解决的技术难...转载 2018-11-13 11:49:21 · 514 阅读 · 0 评论 -
iOS强制横屏的坑
有人写的时候让我补充了一些,我就直接搬到这了,哈哈iOS:强制横屏的坑原创 2018-11-08 15:14:00 · 936 阅读 · 0 评论 -
UITabBarController保存上次选中的selectedIndex
h文件里:@property(nonatomic, readonly) NSUInteger preSelectedIndex;//上次选中的indexm文件里:- (void)setSelectedIndex:(NSUInteger)selectedIndex { if (self.selectedIndex != selectedIndex) { _pr...原创 2018-12-03 11:31:26 · 985 阅读 · 0 评论 -
解决使用了estimatedHeight导致的tableView reloadData乱跳
这是通常情况下我们用来解决tableView乱跳的方法,但是这次我使用了estimatedHeight和约束来自适应高度,这种方法就不能用了UITableView.appearance.estimatedRowHeight = 0;UITableView.appearance.estimatedSectionFooterHeight = 0;UITableView.appearance....原创 2018-12-18 20:45:37 · 852 阅读 · 0 评论 -
给项目去除pod的命令
去除pod命令之前给项目去除pod再重装都用的APP,这次没有APP才发现不知道命令,找到命令记录一下:pod deintegrate完事之后它会提醒你已经去除所有关联,但是workspace文件还保留着,这点和APP不一样,APP直接就pod相关的全干掉只剩一个pod文件了...原创 2019-08-22 14:38:46 · 213 阅读 · 0 评论 -
A push到B, B present到C时销毁B
需求是C dismiss时,直接返回到A, 所以需要提前销毁B, 在B present C时:CController *c = [[CController alloc] init];[self presentViewController:c animated:YES completion:nil];NSMutableArray *array = [self.navigationContro原创 2017-02-23 17:31:40 · 804 阅读 · 0 评论 -
UITableView判断reloadData结束
转自http://blog.youkuaiyun.com/cuibo1123/article/details/48558213如果在reloadDate后需要立即获取tableview的cell、高度,或者需要滚动tableview,那么,直接在reloadData后执行代码是有可能出问题的。reloadDate并不会等待tableview更新结束后才返回,而是立即返回,然后去计算表高度,转载 2017-11-05 17:45:57 · 303 阅读 · 0 评论 -
UITextField手机号中间自动空格
没时间解释了,上代码#pragma mark - UITextFieldDelegate- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if (textField.text.le原创 2017-10-24 16:18:11 · 733 阅读 · 0 评论 -
ERROR ITMS-90096: "Your binary is not optimized for iPhone 5 - New iPhone apps
ERROR ITMS-90096: "Your binary is not optimized for iPhone 5 - New iPhone apps and app updates submitted must support the 4-inch display on iPhone 5 and must include a launch image referenced in the I原创 2017-04-04 15:02:10 · 1542 阅读 · 0 评论 -
iOS中date和string互转
必须知道的内容G: 公元时代,例如AD公元yy: 年的后2位yyyy: 完整年MM: 月,显示为1-12MMM: 月,显示为英文月份简写,如 JanMMMM: 月,显示为英文月份全称,如 Janualydd: 日,2位数表示,如02d: 日,1-2位显示,如 2EEE: 简写星期几,如SunEEEE: 全写星期几,如S转载 2017-04-03 13:53:16 · 6500 阅读 · 0 评论 -
property的默认属性 (2012-01-13 10:39:09)
readonly此标记说明属性是只读的,默认的标记是读写,如果你指定了只读,在@implementation中只需要一个读取器。或者如果你使用@synthesize关键字,也是有读取器方法被解析。而且如果你试图使用点操作符为属性赋值,你将得到一个编译错误。 readwrite此标记说明属性会被当成读写的,这也是默认属性。设置器和读取器都需要在@implementat转载 2017-04-01 09:05:50 · 390 阅读 · 0 评论 -
ViewController刚刚push就自动销毁
昨天碰到一个很纠结的问题,有个页面push不过去,初始化完之后直接dealloc了,连loadView都没走原来我获取到的navigationController是空的,push方法根本就没走,当然不走loadView了...然后这个Controller出了作用域就销毁了原创 2017-04-01 09:03:07 · 1309 阅读 · 0 评论 -
奇葩: tableView高度影响y轴位置
今天这个问题一定得记下来....这个看似奇葩的让我百思不得姐的问题,其原因竟是我在设置高度时用的是减法,然后...减数与被减数写反了...反了....了...原创 2017-03-14 09:06:49 · 256 阅读 · 0 评论 -
No such file or directory: 解决方法
刚刚编译时突然报红No such file or directory: '/Users...,在项目里搜对应文件发现它就静静的在那,没有任何异常,解决方法:删掉TARGETS - Build Phases - Compile Sources 里白框的文件原创 2016-06-01 10:29:17 · 40982 阅读 · 4 评论 -
UISearchController偏移
UISearchController点击时向上瞬移一段距离然后才进行过渡动画进入搜索模式,百度了半天原来只需加上这句代码即可解决:self.definesPresentationContext = YES;为什么呢?点进去可以看到这个属性的注释是这样说的Determines which parent view controller's view should be pr原创 2016-05-26 15:04:16 · 3425 阅读 · 0 评论 -
iOS极光推送证书
新建or编辑App IDs勾选Push Notifications→编辑App IDs上传CSR(创建CSR:钥匙串-证书助理-从证书颁发机构请求证书)→上传后出现cer文件,下载下来,双击→钥匙串新出现一个证书,右击导出,密码要记好(不要展开后导出否则可能导出的是个人私钥)→登录极光官网新建应用上传之 →回Apple创建Provisioning Profi原创 2016-05-26 09:30:33 · 346 阅读 · 0 评论 -
iOS高德地图方格
高德地图其他功能都可用,但是地图瓦片出不来,只能显示方格,估计是https搞的鬼,一般不会出这个错,因为高德文档里有提到,但是我被队友坑了导致出现这个问题。。。在plist文件加上这个就好:NSAllowsArbitraryLoads原创 2016-05-26 09:22:07 · 942 阅读 · 0 评论 -
deleteRowsAtIndexPaths崩溃
这次问题的原因是数据源没有及时更新, numberOfRowsInSection中的返回值用的dataArray.count, 自然也没有及时更新最后的解决方法一个字母都没动,只是挪了一行代码的位置....[_dataArray removeAllObjects];//这个一定要在deleteRows前边,不然崩溃[self.tableView deleteRowsAtIndexPath原创 2017-04-04 17:29:12 · 1460 阅读 · 0 评论 -
让iOS项目允许使用http协议请求
转自让iOS项目允许使用http协议请求苹果官方已经默认不让开发者使用不安全的http通信协议了,而是建议开发者使用安全的https协议。若我们还是需要使用http协议可以这样配置XCode:1.打开info.plist文件2.点击加号添加一行3.添加选 App Transport Security Settings 这是一个数组(此时没有元素转载 2017-04-20 14:27:51 · 1097 阅读 · 0 评论 -
原生UIButton的文本与图片的布局
通过setTitleEdgeInsets和setImageEdgeInsets方法解决这种方法的最大好处,就是不要在重写UIButton,直接在新建的UIButton中改变上面两个属性的值就可以达到我们想要的结果左边文本右边图片代码如下:UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom]; btn1.f转载 2017-06-22 15:47:46 · 350 阅读 · 0 评论 -
iOS两点距离
没找到系统的两点距离,就用这个了- (float)distancePointA:(CGPoint)p1 PointB:(CGPoint)p2 { //pow求次方 sqrt开次方 return sqrtf(pow((p1.x - p2.x), 2) + pow((p1.y - p2.y), 2));}刚开始想了一下正负数有没有影响,然后想想平方完了不都是正数吗...小学都白学了.原创 2017-10-30 18:13:34 · 1011 阅读 · 0 评论 -
两个viewController的view显示到另一个viewController
就是addChildViewController,没什么好解释的,代码粘过来方便下次偷懒#import "SegmentHistoryViewController.h"#import "HistoryViewController.h"#import "PatientHistoryViewController.h"@interface SegmentHistoryViewController原创 2017-10-29 14:29:17 · 1472 阅读 · 0 评论 -
隐藏系统返回按钮,保留系统滑动返回
- (void)viewWillAppear:(BOOL)animated { self.navigationItem.hidesBackButton = YES;//导致不能滑动返回,所以有了以下代码 _delegate = self.navigationController.interactivePopGestureRecognizer.delegate; self.n原创 2017-08-10 17:12:59 · 411 阅读 · 0 评论 -
MBProgressHUD的customView大小问题
用MBProgressHUD显示gif加载图,大小总是不正常,以为是gif哪里出错了,结果换了最普通的imageView和本地png图还是不行,原来是MBProgressHUD的问题,各种纠结(省略详情5000字...我的内心被铺天盖地的草泥马践踏而过)之后发现是MBProgressHUD有个非常奇怪的要求:于是照办, intrinsicContentSize方法里返回了self.fram原创 2017-08-31 09:51:37 · 2665 阅读 · 0 评论 -
xib关联view
1.创建MyView2.创建xib3."File's Owner" 的class 继承为:MyView(即自定义创建的视图类)4.然后view的class 继承为:MyView5.然后在init和initWithFrame里写上加载xib的代码://加载xib文件self = [[NSBundle mainBundle] loadNibName原创 2017-08-30 10:23:31 · 1697 阅读 · 0 评论