iOS
文章平均质量分 53
guaHa
这个作者很懒,什么都没留下…
展开
-
XCode对应iPhone编译的支持
arm64支持iPhone5S及以后的机型armv7s支持iPhone5及以上armmv7支持iPhone4及以上以上支持的指令集越多 打出来的包就越大想要各个机器运行的效率高1. Build Active Architecture Only改为NO;想要包的体积减小2.选择arm64指令集...原创 2021-07-31 16:05:02 · 200 阅读 · 0 评论 -
iOS bundle文件引入的问题
组件化中加载资源文件的方式主要有两种一种是以resource 这种可能出现文件名的覆盖故不推荐一种是以resource_bundles把资源文件以组的形式直接打包在.app里面的frameWork中并生成对应的bundles资源文件首先要有对应的物理文件夹代码文件和资源文件最好分开两个文件夹s.source_files = "XXXX/**/*"s.resource_bundles = { 'XXXXBundle' => ['Resource/xib/*']}原创 2021-05-14 16:26:10 · 752 阅读 · 0 评论 -
iOS的布局视图约束
iOS应用的主runloop负责处理所有用户输入事件并触发响应,所有交互放在事件队列中下图的application object会从队列中取出事件并分发到其他对象,本质上会解释来自用户的输入事件,然后调用core obj方法,这些代码调用开发者代码,当这些方法调用返回后,控制流回到回到主runloop上,然后开始update cycle 就是周期更新,周期更新负责重新渲染所有的视图下图展示了应用是如何和设备交互并处理用户输入的Update Cycle 是应用完成了所有事件的处理代码后 控制流原创 2021-04-12 14:18:07 · 427 阅读 · 0 评论 -
iOS资源文件加载
资源文件配置s.resource_bundles = { 'BundleName' => ['Resource/xib/*']}其中resource_bundles中的bundle文件是以数组的形式处理其中BundleName是自定义的 后面是对应路径下的资源文件可以把Resource下面对应不同的xib文件和image文件资源文件加载对于xib和image加载的方法有所不同xib中分为view和viewControllerNSURL *bundleURL = [原创 2021-03-18 11:21:55 · 398 阅读 · 0 评论 -
iOS的加载方法汇总
ViewController的加载代码的初始化ViewControllerWith *vc = [[ViewControllerWith alloc]init];在这个加载过程中 相关方法调用顺序是:initloadViewviewDidLoadxib的初始化ViewControllerWithXib *vc = [[ViewControllerWithXib alloc]init];在这个加载过程中 相关方法调用顺序是:initinitWithNibName:bund原创 2020-09-20 17:54:48 · 162 阅读 · 0 评论 -
集成谷歌ADMob Request Error: No ad to show.
对于这个错误也是困扰了好久 可以用谷歌给的测试的ID 可以显示出广告的信息 就可以先确定好代码的正确搜了好多答案 其实都是让等 因为本身文档对此有了注释/// The ad request was successful, but no ad was returned.当然要先确保账号的正确首先要确定信息已经填好了然后过一段时间谷歌会有邮件通知你最后等几天就会请求到广告了 耐心等待...原创 2020-06-22 23:13:28 · 1128 阅读 · 0 评论 -
iOS 文件分享
通常在手机里面app可以把文件分享出去就像下图那样需要先设置plist文件其中可以设置对应的优先级Owner>Alternate>Default主要是视频 音频 文本文件<key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeName</key> <s原创 2020-06-17 20:49:02 · 309 阅读 · 0 评论 -
iOS去掉小数点之后没用的0
例如:7.0090,显示为7.009;2.0000,显示为2;5.0500,显示为5.05,CGFloat num = 1.0300;NSLog(@"%@",[NSString stringWithFormat:@"%@",@(num)]);//输出1.03原创 2020-04-08 17:49:34 · 362 阅读 · 0 评论 -
iOS ScrollView的报错 Scroll View has ambiguous scrollable content height / width
原因scrollview的content size是通过scrollview的所有子view确定的,当scrollview不能根据子view计算出content size就会报此错误办法1 去掉iOS11之后的增加的scrollView的属性2 设置scrollView里面的宽高的边界 一定要撑满scrollView的宽高3 注意事项scrollView当垂直内容有缺失的时...原创 2020-03-26 21:04:12 · 629 阅读 · 0 评论 -
iOS 排序 支持对象和字典
NSArray *arrData = @[@{@"num":@2,@"num2":@3,@"message":@"hahah"},@{@"num":@1,@"num2":@4,@"message":@"yyyyy"},@{@"num":@2,@"num2":@1,@"message":@"xxxxx"},@{@"num":@1,@"num2":@2,@"message":@"kkkkk"...原创 2021-01-06 20:39:43 · 71 阅读 · 0 评论 -
iOS 解决pod lib lint/repo push不支持模拟器的情况
1 可以配置从而跳过pod的验证pod lint 中后缀--skip-import-validationpod repo push 中后缀--skip-import-validation2 直接注释pod的验证代码获取pod的路径gem which cocoapods/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/coc...原创 2020-03-13 10:50:45 · 822 阅读 · 0 评论 -
Xcode清理缓存
1这里放的是连接真机生成的文件,可以全部删掉或者把不常用的版本删掉,再次连接设备会自动生成 > ~/Library/Developer/Xcode/iOS DeviceSupport2app打包生成的文件,可以删掉不需要的项目打包文件 > ~/Library/Developer/Xcode/Archives3项目的索引文件等,可以全部删除,或者...原创 2019-12-27 09:17:46 · 80 阅读 · 0 评论 -
iOS 判断当前键盘为九宫格
+ (BOOL)isNineKeyBoard:(NSString *)str{ NSString *other = @"➋➌➍➎➏➐➑➒"; int len = (int)str.length; for(int i=0;i<len;i++) { if(!([other rangeOfString:str].location != NSNotF...原创 2019-11-26 14:20:26 · 232 阅读 · 0 评论 -
正则表达式中反斜杠的意义
1 正则表达式中匹配一个反斜杠要用四个反斜杠前两个反斜杠起转译作用后两个反斜杠在语法中是一个反斜杠的意思这个就和%道理一样2 对于这种"-" 减号如果正则中需要过滤 也需要转译 因为例如 a-z0-9 这里面也有"-" 所以需要转译...原创 2019-11-14 14:52:28 · 3065 阅读 · 0 评论 -
CocoaPods - 解决pod install报错问题(...bin/ruby: bad interpreter: No such file or directory)
当Mac升级版本的时候 会出现以上问题解决1 先查看gem源gem sources -l如果是.org结尾的需要改成.com2 删除原来的源gem sources --remove https://gems.ruby-china.org/注https://gems.ruby-china.org/这个是刚才搜到的gem3 添加新的源gem sources -a...原创 2019-10-28 22:31:12 · 1363 阅读 · 0 评论 -
iOS10 Xcode8环境下适配目前遇到的问题和解决方案
1 nullable的问题 目前只是出现在NSError上面,NSString,UIImage等的上面还没有2 证书的自动管理(前提是有开发者账号,正确的证书和配置文件)感觉确实改进了不少 首先选择General通过选择Automatically manage signing 选择是否自动管理证书未选择的情况下分为Debug和Release两种方式相比之前的c原创 2016-09-22 15:29:25 · 1227 阅读 · 0 评论 -
iOS 存储沙盒路径小结
作为iOS的沙盒机制SandBox是一种安全体系,每一个应用都有一个沙盒文件夹,提供app读取里面的文件,其他的应用无法访问这里面的资源,主要包括图片,声音,属性列表,对象等。Documents:苹果建议将程序中简历或浏览到的数据保存在该目录下,iTunes备份和恢复的时候会包含此目录。注意 不要保存网络下载的文件,否则会无法上架。Library:存储程序默认状态和其他信息转载 2016-10-27 13:48:14 · 504 阅读 · 0 评论 -
iOS 解决cell因重用机制出错的问题
1 不用重用- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSString *CellIdentifier = [NSString stringWithFormat:@"Cell%d%d", [inde转载 2016-11-09 18:50:22 · 560 阅读 · 0 评论 -
iOS 关于UIImage的处理总结
获取最常见颜色并透明化,设置图片透明度,合成图片,获取图片点对应的颜色,压缩图片转载 2016-09-20 17:39:39 · 2528 阅读 · 0 评论 -
iOS10 极光推送(远程) 小结
主要是针对iOS10不同的地方1 首先要下载2.1.9以及Xcode8的环境 包地址 点击打开链接2 配置Xcode8的服务 3 域名配置3-1局部配置 这个是看极光的文档 因为2017年之前苹果强制https,所以还是要尽早换比较好3-2 全局配置 4 需要导入的系统库UserNotifications.fram原创 2016-09-21 14:01:19 · 7880 阅读 · 1 评论 -
iOS 两应用之间相互跳转
最近在整理原来的东西发现跳转另外的应用其实用处还是挺大的,比如最近的”支付宝“比较火,还有微信╮(╯▽╰)╭先把两个应用设为A和BA到B A首先要知道B的位置那么B就要设置定位标记让A知道 在info.plist加url types只是跳转过去是没有意义的,还要有参数传递这样才有意义 NSString *paramStr = [NSString stringW原创 2016-11-29 20:40:38 · 264 阅读 · 0 评论 -
iOS Plist,NSUserDefault,归档总结
最近总结iOS本地化策略,,还是5种策略,Plist,NSUserDefault,归档,sqlite,苹果自带的coreDataPlist这是比较常用的明文本地存储方式,全名属性列表,像app的配置文件等的信息,一般后缀为.plist,文件的格式以XML的形式展现。优点就是用起来比较方便,缺点就是容易暴露信息。因为是本地的东西,所以需要存储路径,先创建本地路径 //pl原创 2016-11-02 09:09:44 · 932 阅读 · 0 评论 -
iOS FMDB小结
作为iOS传统的数据库封装工具库FMDB,大家都很熟悉,原来也用过,主要没有系统的总结,这次总结一下吧,其实是看了好几篇别人的日志然后自己再加工了一下。首先是库的导入有两种选择1 从gitHub上下载 https://github.com/ccgus/fmdb 然后导入系统库 libSqlite3.tbd2 pod上面下载 pod 'FMDB'然后是使用数据库最基本原创 2016-11-08 21:25:03 · 435 阅读 · 0 评论 -
出现PerformSelector may cause a leak because its selector is unknown的问题
原因因为在ARC的情况下,运行时需要知道你的返回值,可能是id,NSString等,但是直接performSelector系统不知道返回值的,不知道该如何处理[self.target1 performSelector:NSSelectorFromString(@"self.action1") withObject:self];[self.target1 performSelector:s转载 2016-11-15 11:12:03 · 245 阅读 · 0 评论 -
iOS 基于FMDB简单的查询操作
上一篇文章介绍了FMDB的安装增删改查等的操作这篇文章主要是数据查询的筛选和常用的数据库统计函数,便于以后的查询和学习.查询函数主要分为两大类第一大类就是数据的筛选 是基于数据表的筛选数据源-(void)dataConfig{ _dataArr = [[NSMutableArray alloc] init]; Worker *w1 = [[Work原创 2016-11-10 16:19:56 · 8189 阅读 · 0 评论 -
iOS 自定义通讯录(包含姓名和电话等 按拼音分组,索引)
前一段做通讯录访问原来的都是用系统的简单方便,但是到iOS10总是莫名其妙的点击电话选项的时候崩溃。。在网上也没有找到原因,希望知道的给个链接啥的看看,所以准备做自定义的。1 先设置权限Privacy - Contacts Usage Description 理由自己给就行 App需要您的同意,才能访问通信录2 引入必要的系统头文件#import #import #原创 2016-10-21 16:38:05 · 2854 阅读 · 0 评论 -
iOS 不同需求下的定位
作为iOS定位是大部分app都做的不同需求下的定位 实现的方式肯定也是不一样的1 用户位置持续变化的每隔一段时间就上报一次2 用户移动速度很慢每隔一段距离上报一次3 用户到达某处的时候没有变化就不上报原创 2016-11-24 14:02:49 · 291 阅读 · 0 评论 -
iOS 相机工具类(支持照片/视频)
最近优化一些项目,然后就简单的把调用系统相机封装了一下。1 首先需要申请权限2 跳转到UIImagePickerController的代码+(ImagePickerManager *)shareManager{ static ImagePickerManager *instance = nil; static dispatch_once_t onceToken; dispa...原创 2016-12-07 11:46:37 · 410 阅读 · 0 评论 -
iOS 获取相册中最近的一张图片
iOS8之前的-(void)getiOS8LastImage{ PHAsset *asset = [PHAsset latestAsset]; PHCachingImageManager *imageManager = [[PHCachingImageManager alloc] init]; [imageManager requestImageForAsset:ass转载 2016-12-15 17:03:53 · 2999 阅读 · 0 评论 -
iOS NSNumberFormatter
最近需要格式化NSNumber,因为iOS有比较规范的NSNumber转NSString,所以想研究一下其中比较常用的是/* enum { NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle, 默认转化 NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,原创 2016-12-22 10:52:09 · 526 阅读 · 0 评论 -
iOS 字典按照key的排序
方法一-(NSString*)stringWithDict:(NSDictionary*)dict{ NSArray*keys = [dict allKeys]; NSArray*sortedArray = [keys sortedArrayUsingComparator:^NSComparisonResult(id obj1,id obj2) {原创 2017-02-09 18:58:36 · 10066 阅读 · 0 评论 -
iOS 单手旋转
最近需要做单手的旋转,但是iOS自带的都是双手的,需要自定义,查到网上有不错的Demo- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ if (self.isCanRotate) { UITouch *touch = [touches anyObject];转载 2017-02-21 16:41:47 · 786 阅读 · 0 评论 -
iOS 限制UIImageView放大和缩小
编辑图片的时候通常需要设置图片的大小 http://stackoverflow.com/a/5446348/2177332- (void)pinchGestureDetected:(UIPinchGestureRecognizer *)recognizer{ UIGestureRecognizerState state = [recognizer state];转载 2017-02-21 21:25:02 · 2277 阅读 · 0 评论 -
iOS 异步线程的顺序研究
有些时候需要控制异步执行的顺序1 runLoop-(void)runLoopTest{ NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.baidu原创 2017-02-22 16:39:07 · 1977 阅读 · 0 评论 -
基于AF按顺序执行回调结果
与原来是用嵌套的方式 不太好图片和请求都可以用 利用出组和入组来限制回调顺序图片-(void)uploadImage1{ // 需要上传的数据 NSArray* images = [self images]; // 准备保存结果的数组,元素个数与上传的图片个数相同,先用 NSNull 占位 NSMutableArray* result = [N转载 2017-02-22 17:26:20 · 371 阅读 · 0 评论 -
iOS CAShapeLayer的FillRule属性总结
在贝塞尔曲线画图形的时候 有时候需要嵌套子路径 addPath 比如最近需要画一个正方形中间嵌套一个圆形 来获取头像之类的需求需要设置layer层来填充规则填充的规则有两种即CAShapeLayer的FillRule属性有两种 默认是kCAFillRuleNonZero还有一种是kCAFillRuleEvenOdd第一种字面意思是非零 我看网上是指射线和图形的交点情况 有些原创 2017-03-27 19:40:06 · 4060 阅读 · 0 评论 -
contentMode效果
/* typedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFill, 默认的 全部填充 变形 UIViewContentModeScaleAspectFit, 全部填充 不变形 自适应大小 UIViewContentModeScaleAspectFill, 全部填充 不变形 但显原创 2017-03-22 18:27:43 · 437 阅读 · 0 评论 -
iOS 数组去重
//利用字典对键唯一的情况-(NSMutableArray *)GetOutRepeat1From:(NSArray *)arr{ NSMutableDictionary *dic = [[NSMutableDictionary alloc]initWithCapacity:0]; for(id key in arr) { [dic setValue:ke转载 2017-03-24 16:50:47 · 381 阅读 · 0 评论 -
自定义约束下的cell的高度
xib中包含了UILabel,由于UILabel的高度是不确定的,所以cell的高度也是不确定的-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{}ios7出现了估计高度 取代了原来需要一下算出所有的高度,显示多少计算多少,这样更加有效率,节省内存转载 2017-05-03 15:45:49 · 302 阅读 · 0 评论 -
iOS 字符串筛选手机号
//手机号码验证- (BOOL) validateMobile:(NSString *)mobile{ //手机号以13, 15,18开头,八个 \d 数字字符 NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9])|(14[0,0-9])|(17[0,0-9]))\\d{8}$"; NSPredicat原创 2017-05-12 19:23:57 · 1475 阅读 · 0 评论