iOS笔记
文章平均质量分 52
此刻g不沉默
无话可说的
展开
-
iOS 13 适配
1、UIViewController切换方式modalPresentationStyleiOS13默认UIModalPresentationAutomatic模式,不符合我们的需求。改回之前的模式要用UIModalPresentationFullScreen。vc.modalPresentationStyle = UIModalPresentationFullScreen;但是,问题来...原创 2019-12-07 15:58:37 · 417 阅读 · 0 评论 -
Xcode8 屏蔽控制台多余的Log日志
新下载的Xcode8 运行时,控制台会有很大一串log输出,貌似跟我们自己项目中的log没多大关系。去掉它感觉很爽。接下来说操作步骤:Xcode8里边 Edit Scheme... -> Run -> Arguments, 在Environment Variables里边添加“OS_ACTIVITY_MODE = disable”效果如图:最后点击close原创 2016-10-25 16:21:24 · 5241 阅读 · 0 评论 -
开发者所需要知道的 iOS 10 SDK 新特性
本文转自著名iOS/Unity开发者王巍先生的分享:https://onevcat.com/2016/06/ios-10-sdk/总览距离 iPhone 横空出世已经过去了 9 个年头,iOS 的版本号也跨入了两位数。在我们回顾过去四五年 iOS 系统的发展的时候,不免感叹变化速度之快,迭代周期之短。iOS 7 翻天覆地的全新设计,iOS 8 中 Size Classes 的出转载 2016-09-20 19:07:37 · 975 阅读 · 0 评论 -
iOS开发之直播App流程介绍,直播资料收集汇总,视频推流,视频拉流,SMTP、RTMP、HLS、 PLPlayerKit
本文转自:http://blog.csdn.net/zhonggaorong/article/details/51483282,感谢zhonggaorong的分享(一) iOS 直播类APP开发流程分解: 1 . 音视频处理的一般流程:数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示1、数据采集:摄像机及拾音器收集视频及音频数据,此时得转载 2016-07-31 13:09:39 · 3627 阅读 · 0 评论 -
UITableViewCell 选中时的颜色设置
[cpp] view plain copy1.系统默认的颜色设置 [cpp] view plain copy//无色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色 cell.selectionStyle =原创 2016-06-07 11:23:44 · 551 阅读 · 0 评论 -
友盟 crash log 错误分析工具
开发过程中,避免不了要对已上线版本的crash,但是有些crash展示文件确实很难让人看明白。例如:(友盟错误统计平台)估计会有一些小伙伴会跟我一样,突然就懵逼了!除了帧调用就是内存地址了,着实很难找到自己项目中存在的问题。还好有友盟的错误分析工具umcrashtool下载友盟分析工具在我们每次上传iTunes connect之后会有一个 .xcarch原创 2016-06-05 17:09:31 · 8069 阅读 · 0 评论 -
UILabel文字过长时的文字省略位置
lineBreakMode:设置标签文字过长时的显示方式。 label.lineBreakMode = NSLineBreakByCharWrapping; //以字符为显示单位显示,后面部分省略不显示。 label.lineBreakMode = NSLineBreakByClipping; //剪切与文本宽度相同的内容长度,后半部分被删除。 labe原创 2016-04-22 11:40:46 · 14003 阅读 · 0 评论 -
向App Store提交二进制文件时报错ERROR ITMS-90096
用Xcode7向App Store提交二进制文件时,提示ERROR ITMS-90096:"You binary is not optimized for iPhone 5....".在工程里的Images.xcassets添加并设置LaunchImage对解决ERROR ITMS-90096根本不会起到任何作用,需要单独添加针对iPhone 5的载入图片。关键点有三项:1、图片的名称原创 2016-05-30 12:38:59 · 4850 阅读 · 1 评论 -
微信充值钱数更改但微信充值单钱数不变的问题
昨天上线了一个iOS版本,在未发布之前发现,我们用微信支付的时候出现一个大问题。发现的问题: 在我们软件端吊起微信支付充值1块,到微信界面显示充值一块钱。在我取消充值返回我们APP之后,再次选择充值10块钱吊起微信之后微信充值界面仍旧显示一块钱。分析问题存在原因:1、查看微信官方文档,验证是否是吊起微信相关程序出现问题。2、断点查看微信支付调用次数。原创 2016-03-28 12:51:29 · 2786 阅读 · 0 评论 -
数组、字典转json格式字符串
#pragma mark--把字典和数组转换成json字符串 +(NSString *)stringTOjson:(id)obj //把字典和数组转换成json字符串 { NSData* jsonData =[NSJSONSerialization dataWithJSONObject:obj原创 2016-03-24 15:46:53 · 557 阅读 · 0 评论 -
iOS 中 pch文件的使用
PrefixHeader.pch:扩展名.pch表示"precompiled header",这是一个你工程要用到的来自于外部框架的头文件列表。xcode将编译这些头到文件,这将减少在选择Build或Build and Go时编译项目的时间。通常用到的头文件已经自动包含到了pch(比如:UIKit、Foundation),系统编译每个cpp文件前,都会先include这个文件。这样就节省了原创 2016-04-01 12:39:06 · 526 阅读 · 0 评论 -
iOS 数据持久化四种方法
在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题。将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好。下面介绍一下数据保存的方式:1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。前一个方法告诉系转载 2016-03-30 15:38:31 · 620 阅读 · 0 评论 -
3D Touch开发初体验
转自:http://www.jianshu.com/p/c9a8ec970003/comments/9800603D Touch功能的开发难度并不大,但是由于该功能需要有硬件支持,并且在模拟器上无法体验,所以阻挡了一大批开发者的探索脚步。不过在计算机界从来没有能难倒程序员的问题,本文首先将介绍如何使用3D Touch的Home Screen Quick Actions功能,转载 2015-12-21 18:12:56 · 1251 阅读 · 0 评论 -
iOS开发之Xcode的静态分析(Static Code Analysis)与常见内存隐患解决办法
一.Xcode Analyze静态分析 Static Code AnalysisStatic Code Analysis(静态代码分析)用来发现源代码潜在的错误与缺陷,源代码编译后只有在运行时有可能会产生细微的错误,他们可能难以识别和修复,所以这些潜在的威胁在开发过程中一定要尽可能清理干净,尽量编写的时候注意类似可能潜在的威胁与缺陷(点击查看苹果Static Code Anal原创 2016-10-11 20:08:06 · 2870 阅读 · 0 评论 -
Xcode8 解决注释以及VVDocumenter无法使用问题
解决Xcode8中 command+/ 不能注释的问题1、打开终端在命令行里输入:sudo /usr/libexec/xpccachectl效果如图:2、重启电脑特别提醒:VVDocumenter-Xcode无法使用的解决办法: 使用快捷键:option + command + /原创 2016-11-04 09:15:55 · 1738 阅读 · 2 评论 -
常用正则表达式
验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\+?[1-9][0-9]*$验证非零的负整数:^\-[1原创 2018-01-18 09:59:44 · 371 阅读 · 0 评论 -
iOS 的几种创建多线程方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window =[[UIWindowalloc] initWithFrame:[UIScreenmainScreen].bounds];原创 2017-10-18 15:29:04 · 1729 阅读 · 0 评论 -
item 快捷键
iTerm2:Preference-Appearance-Tabs 里面可以更改常见的Tab显示方式(关闭,新建,tab栏), Keys里面可以设置全局快捷键.选中单词即可复制! 可以设置列出paste history面板,选中即黏贴.(toolbelt里面,还有如profile,note,jobs也可以在右侧列出).cmd+F进行查找, 可以tab补全(最近匹配的,此时补全后原创 2017-08-07 15:42:45 · 1572 阅读 · 0 评论 -
ios------app跳转到appStore评分
跳转到AppStore评分,有两种方法:一种是跳出应用,跳转到AppStore,进行评分;另一种是在应用内,内置AppStore进行评分。PS:appID在https://itunesconnect.apple.com中创建应用即可在应用界面获得1.跳出应用,跳转到AppStore,进行评分[[UIApplicationsharedApplication转载 2017-08-03 15:10:35 · 652 阅读 · 0 评论 -
Object-C中排序算法
本文转自:http://www.cocoachina.com/ios/20170803/20117.html目录 * 选择排序 * 冒泡排序 * 插入排序 * 快速排序 * 双路快速排序 * 三路快速排序 * 堆排序 * 参考与阅读选择排序选择排序是一种简单直观的排序算法,无论什么数据进转载 2017-08-14 11:27:33 · 688 阅读 · 0 评论 -
iOS 开发之多线程 (GCD与NSOperation)详解
本文转自:http://dev.dafan.info/detail/226124?p=18概述何为多线程?多线程其实针对单核的CPU来设计的,CPPU同一时间只能执行一条线程,耳朵线程就是让CPU快速的在多个线程之间进行调度多线程优点:能够适当提高资源利用率能够适当提高资源利用率缺点:开线程需要一定的内存空间,默认一条线程占用栈区间5转载 2017-04-19 11:37:35 · 3027 阅读 · 0 评论 -
iOS WKWebView加载网页禁止缩放的问题
目前只发现两种方法可以实现webView加载网页禁止缩放的要求WKWebView禁止缩放方法第一种使用WKWebView的代理方法(但是这种方法有时候不起作用)- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{return nil;}第二种在html网页端禁止缩放需在HTML里原创 2017-03-22 11:44:18 · 17319 阅读 · 0 评论 -
iOS SDWebImage 清空缓存 新方法
之前用SDWebimage时,清除图片缓存一直用下边两个方法://清理旧图片数据 [[SDImageCache sharedImageCache] clearDisk]; [[SDImageCache sharedImageCache] clearMemory];//可不写最近更新了一下SDWebImage包之后发现,之前的[[SDImageCache sh原创 2017-02-21 14:38:33 · 13494 阅读 · 0 评论 -
iOS 相机权限以及相册权限访问
今天在写一个关于人脸识别的demo时,发现相机相册调取不了。忽然想起来工程info.plist里边需要设置两个参数,但是就是想不起来参数叫什么。网上搜了好一会儿才找到,所以就写篇文字,记录一下,方便以后查找。想要吊起相册跟相机,首先得在info.plist里设置参数,在你吊起相应功能的时候获取用户的同意,相应设备才能被吊起来。闲话不多说,上图: 1.设置info.原创 2016-12-09 15:17:33 · 12448 阅读 · 0 评论 -
iOS runtime实用篇 ---避免常见崩溃
本文收藏自:http://www.jianshu.com/p/5d625f86bd02源码https://github.com/chenfanfang/AvoidCrash程序崩溃经历其实在很早之前就想写这篇文章了,一直拖到现在。程序崩溃经历1我们公司做的是股票软件,但集成的是第三方的静态库(我们公司和第三方公司合作,他们提供股票的服务,我们付钱)。平时转载 2016-11-14 10:48:43 · 6144 阅读 · 0 评论 -
iOS开发中的关键字const/static/extern
关键字const/static/extern的释义和用法 1、const这个单词翻译成中文是“常量”的意思。在程序中我们知道“常量”的值是不能变的,固定的。所以const关键字的作用就呼之欲出了:(1) const用来修饰右边的基本变量或指针变量(2) 被修饰的变量只读,不能被修改下面举个最简单的例子://声明一个int类型的变量a,变量初始化值为10,并且原创 2016-11-11 10:23:15 · 1144 阅读 · 0 评论 -
UITabbarController 跳转到任意子控制器
UITabBarController的简单使用UITabBarController的使用步骤初始化UITabBarController设置UIWindow的rootViewController为UITabBarController根据具体情况,通过addChildViewController方法添加对应个数的子控制器UITabBarContro原创 2015-12-21 18:25:41 · 5906 阅读 · 0 评论 -
通过URL协议实现从Safari等浏览器中跳转回到你的app
想要通过浏览器跳转到你的APP,其实只需要在你的项目中写一个URL协议,然后让safair加载这个URL就OK了!具体如下:第一步:在info.plist中加入这些内容其中URL identifier 可以随便取,URL Schemes 就是实现跳转URL协议的名称(可以多个)然后,在视图控制器中加入这样的代码用于显示跳转过来的地址:原创 2015-12-01 15:23:23 · 1927 阅读 · 0 评论 -
封装音视频流为RTP包来网络传输
转自: http://www.devdiv.com/iOS_iPhone-_rtp_-thread-118648-1-1.htmlios没有直接得api用来封装传输rtp,但是经常有用到得接收过来得音视频数据,经过X264处理转换便可以封装为Rtp包进行直接发送。大家可以看代码:#include "rtpsession.h"#include "rt转载 2015-06-11 18:31:06 · 950 阅读 · 0 评论 -
iOS8 设置tableView的分割线
在ios8上 [TableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];不起作用经过测试加入下面方法 在ios7 8上都可以正常工作-(void)viewDidLayoutSubviews { if ([self.tableView respondsToSelector:@selector(setSeparatorIns原创 2015-06-11 17:44:10 · 461 阅读 · 0 评论 -
实现一个字符串中的文字显示多种颜色
-(void)viewWillAppear:(BOOL)animated{ [superviewWillAppear:animated]; NSString * str1=@"我要改变文字的颜色"; NSString * str2=@"红色的文字"; NSDictionary * dic=@{NSForegroundColorAttrib原创 2015-06-09 16:27:11 · 657 阅读 · 0 评论 -
常见iOS开发问题知识点笔记
1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用)其实在代码里还是可以设置的,那就是删除背景view[[self.searchBar.subviews objectAtIndex:0] removeFromSuperview];2,NSDate使用转载 2015-05-22 13:26:37 · 1594 阅读 · 0 评论 -
iOS 判断字符串是否含有某种字符
iOS 判断NSString是否包含某个字符串主要是使用3个方法rangeOfString 是否包含hasPrefix 是否在前缀包含hasSuffix 是否在末尾包含如代码: //判断字符是否包含某字符串; NSString *staA = @"hello,JiNan,jkk"; NSRan原创 2015-05-30 14:47:50 · 1610 阅读 · 0 评论 -
iOS 判断设备是否越狱
想做一个付费下载应用,又担心越狱用户下载,白费心思了,故而想起在应用内判断设备是否越狱,网上找到这片关于越狱判断的文章,觉得写得特别好,所以转了下来,添加一些自己的心得。------------------------------------------------------苹果是非常看重产品的安全性的,所以给用户设计了一套复杂的安全机制。这让喜爱自由,崇尚一切开放的程序员们极度不爽,于转载 2015-05-31 10:05:02 · 704 阅读 · 0 评论 -
iOS 取消 Button 选中状态下出现的小蓝点
当用storyboard设置界面时,UIButton选中状态下 会显示一个默认颜色的小蓝点这时需要修改UIButton中View的Tintcolor 为当前界面的背景色 小蓝点就会消失(只是视觉上的消失)。原创 2015-05-08 11:34:50 · 2637 阅读 · 2 评论 -
iOS 延时执行某个方法的几种方式
本文列举了四种延时执行某函数的方法及其一些区别。假如延时1秒时间执行下面的方法。- (void)delayMethod { NSLog(@"execute"); }1.performSelector方法[self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.0f];此方式要求必须在主线原创 2015-05-14 11:36:35 · 879 阅读 · 0 评论 -
iOS真机调试过程详解
众所周知,苹果的安全性做的一直很高,导致ios开发的门槛相对于安卓来说,高出不少,也就导致了现在iOS高级工程师一直是稀缺的资源。今天我们来谈一谈苹果的真机调试。苹果的真机测试要复杂好多,最主要的是你需要花费99$购买苹果的开发者认证,其他的条件有:一台测试手机或pad一台装有苹果系统的电脑具体步骤:到官网https://developer.apple.co原创 2015-04-21 15:12:12 · 617 阅读 · 0 评论 -
IOS公司开发者账号申请详细教程
谈到苹果开发者账号,我们需要区分一下个人账号、公司账号和企业账号这三种,还有一种是教育账号,这个就不多说了。 个人账号:个人申请用于开发苹果app所使用的账号,仅限于个人使用,申请比较容易,$99。 公司账号:以公司的名义申请的开发者账号,用于公司内部的开发者共用,申请流程相对比较麻烦一下,$99。 企业账号:一般是公司规模在500人以上的企业,用于内部测转载 2015-04-21 11:33:25 · 648 阅读 · 0 评论 -
iOS 图片浏览器程序总结
转自:http://blog.csdn.net/ttf1993/article/details/44277977要想浏览几张图片。1》把每张图片存入每个dictionary,每个字典存一张照片的属性与名字。然后把照片字典存入NSArray。2》初始化数组,然后得到数组,此时数组已经存满了字典。3》拿到每个数组的里面的字典。然后显示图片到UIImageView上面。转载 2015-06-11 18:34:22 · 1216 阅读 · 0 评论 -
iOS NSArray API集合
//1.返回数组指定下标的元素- (id)objectAtIndex:(NSUInteger)index;//2.初始化数组- (instancetype)init NS_DESIGNATED_INITIALIZER;//3. 初始化数组并且赋初值以及大小- (instancetype)initWithObjects:(const id [])objects转载 2015-06-11 17:11:46 · 636 阅读 · 0 评论