iOS开发中问题
程序员的修养
好好学习
展开
-
ideviceinstaller
ideviceinstaller 的启动文件主要是 src/ideviceinstaller.c。参考链接:https://blog.csdn.net/gitblog_00023/article/details/141148696。:将显示所有可用的命令和选项,帮助用户了解如何配置和使用 ideviceinstaller。ideviceinstaller/: 源代码目录,包含主要的源文件。tests/: 测试目录,包含项目的测试脚本和测试数据。src/: 源代码目录,包含主要的源文件。原创 2024-08-22 15:39:14 · 303 阅读 · 0 评论 -
ios app包应用签名证书指纹SHA256值
获取应用签名证书的指纹,首先要获取给app签名的证书,然后从证书里面获取SHA256签名,具体步骤如下。步骤1:首先,你需要使用Xcode打开你的iOS app项目。步骤3:获取证书指纹SHA256值。步骤2:导出p12文件。原创 2024-08-14 14:28:01 · 413 阅读 · 0 评论 -
Xcode报错--访问keychain,出现弹窗处理方案
访问keychain弹出弹窗,不想人工点击,比如自动化测试中使用keychain中的证书的情况。1、人工:输入Password,点击Allow或者Always Allow。原创 2023-07-13 09:19:36 · 1296 阅读 · 0 评论 -
iOS Settings Bundle
iOS Settings Bundle用于在系统的设置app中,在自己app的设置页面增加与用户交互的入口,称其为应用程序的首选项,可以提前收集用户的某些信息,其本质是使用设置束来实现。实现设置App根据我们在应用内部的设置束来显示映红的首选项,如果想为app添加首选项,需要做一下几步需要添加Setting Bundle设置束,在New File中选择Setting Bundle来添加。添加Root.plist文件,用来定义根级首选项视图设置App将根据Root.plist来设置自己app的原创 2020-09-07 20:37:22 · 1165 阅读 · 0 评论 -
URLWithString的坑
问题描述在使用URLWithString生成NSURL时,如果出现中文,会导致返回的NSURL为nil。代码如下:NSURL *aUrl = [NSURL URLWithString:@"http://中文域名"];stackoverflow相关讨论查询了URLWithString的官方文档,其中有一段话解决了我的疑惑。This method expects URLString to contain only characters that are allowed in a properly原创 2020-08-14 17:41:52 · 991 阅读 · 0 评论 -
Pointer is missing a nullability type specifier
Pointer is missing a nullability type specifier为什么会出现这种警告?我们都知道在swift中,可以使用!和?来表示一个对象是optional的还是non-optional,如view?和view!。而在Objective-C中则没有这一区分,view既可表示这个对象是optional,也可表示是non-optioanl。这样就会造成一个问题:在Swift与Objective-C混编时,Swift编译器并不知道一个Objective-C对象到底是optio原创 2020-08-14 17:39:45 · 900 阅读 · 0 评论 -
iOS获取设备型号
在公司不可避免的会做一些统计或者追踪用户手机的信息,这时候我们需要记录用户手机的型号,下面是比较全的统计,大家可以参考1、获取设备信息方法+ (NSString *)systemInfoString { struct utsname systemInfo; uname(&systemInfo); return [NSString stringWithCStrin...原创 2020-04-24 09:43:44 · 1044 阅读 · 0 评论 -
为什么ViewController的Y轴起始点从导航栏下方开始?
为什么ViewController的Y轴起始点从原创 2020-04-15 09:55:01 · 1023 阅读 · 0 评论 -
数据解析出错
json解析出来之后一直报错-[NSNull rangeOfCharacterFromSet:]: unrecognized selector sent to instance 0xbb79a8这个报错的原因是这样的,你从解析的数据中取出的值是空得,不能直接赋值, 要调用这句话 if(![remark isEqual :[NSNull null]]) { textfield.t原创 2016-04-27 15:46:33 · 1809 阅读 · 0 评论 -
iOS 四种延迟执行的方法
师弟疑问之延迟某个方法的执行怎么弄1、实现延迟执行的方法有四种 performSelector系列的performSelector:withObject:afterDelay: NSTimer的scheduledTimerWithTimeInterval:target:selector:useInfo:repeats: NSThread的sleepForTimeInterval:方法 GCD原创 2017-04-06 15:06:36 · 4461 阅读 · 0 评论 -
真机调试遇见"The network connection was lost."
师弟问题之真机调试遇见”The network connection was lost.” 解决方法: (1)从网络上搜索到—-在targets->buildphases里面,有个Linkbinarywithlibrary,有三个黄色的,如果你没有UIKit.framework的话,你需要点击加号+,把这个library加到你的targets上去 检查项目中,没有缺少的库,原创 2017-03-26 10:01:01 · 16168 阅读 · 0 评论 -
iOS中书写代码规范35条小建议
1.精简代码, 返回最后一句的值,这个方法有一个优点,所有的变量都在代码块中,也就是只在代码块的区域中有效,这意味着可以减少对其他作用域的命名污染。但缺点是可读性比较差NSURL *url = ({ NSString *urlString = [NSString stringWithFormat:@"%@/%@", baseURLString, endpoint];[NSURL URLWithSt转载 2017-03-24 14:26:03 · 266 阅读 · 0 评论 -
常见的内存泄漏及检测方法
iOS内存泄漏的常见情况 1、声明delegate为strong类型,简而言之,如果父VC持有子VC,并设置子VC的delegate为self(也就是父VC),这样的结果就是子VC也间接持有了父VC,造成循环引用,在Pop子VC的时候不会调用delloc。一个例子: 一个UITableViewController 对象a通过retain获取了UITableView对象b的所有权,这个UI原创 2017-03-31 15:11:31 · 1417 阅读 · 0 评论 -
PCH文件设置以及常用的宏
师弟问题之pch是什么?怎么用一、pch简介pch文件是一个标准的预编译头文件( Pre-Compiled Header). 在Xcode6之前,系统会在Supporting Files文件夹自动创建。但在Xcode6之后取消了这一文件,如果我们需要使用pch文件,则需要手动创建。手动创建pch1 .在Supporting Files中新建文件New File–>Other–>PCH File2 .原创 2017-03-22 12:39:13 · 2455 阅读 · 0 评论 -
iOS 拨打电话三种方式总结
iOS 拨打电话三种方式总结 转自:http://blog.csdn.net/ouy_huan/article/details/30506925 1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示 NSMutableString * str=[[NSMutableString alloc] initWithFormat:@”tel:%@”,@”186x转载 2016-05-07 08:22:14 · 2790 阅读 · 0 评论 -
instancesRespondToSelector:和respondsToSelector:
官方介绍如下不能通过super关键字向对象发送respondsToSelector:来测试对象是否从其超类继承方法。这个方法不仅仅对对象的超类的实现测试,也会测试整个对象的类的实现。因此,向super发送respondsToSelector:相当于将其发送给自己。如果想测试超类是否实现了某个方法, 必须直接在对象的超类上调用NSObject的类方法instancesRespondToSelec...原创 2019-04-29 15:26:52 · 450 阅读 · 0 评论 -
NSTimer详解----使用、保留环问题、与runloop的关系
一、使用NSTimer你需要了解的内容 (1)只有将计时器放在运行循环中,它才能正常的触发任务。 (2)NSTimer对象会保留target,直到计时器失效,调用invalidate可令其失效;一次性计时器触发完就失效 (3)反复执行的timer容易造成保留环。 (4)可以使用分类,用block打破保留环,后面会具体介绍 iOS 10之后引入新方法,可以得到timer弱引用避免保留环__w原创 2017-04-06 16:53:41 · 2382 阅读 · 0 评论 -
开发中遇到的问题小集合
1、adjustsFontSizeToFitWidth文字自动适应UILabel宽度的2、__weak typeof(self) weakSelf = self;的解释和使用 typeof(self) 是获取到self的类型,这样定义出的weakSelf就是和self一个类型的, 加上__weak是建立一个若引用,整句就是给self定义了一个若引用性质的替身; 这个一般用在使用block时会用到原创 2018-01-25 10:21:04 · 310 阅读 · 0 评论 -
Invalid operands to binary expression ('double' and 'double’)
Invalid operands to binary expression (‘double’ and ‘double’)在下面的代码中,实现功能是获取estimatedProgress是5的倍数的值做些操作, double estimatedProgress = 100; if(estimatedProgress%5==0) {——错误出现行 NSLog(@"");原创 2018-01-09 11:32:35 · 32383 阅读 · 0 评论 -
XXX File has been modified since the precompiled header 'XXXXXXX-Prefix.pch.gch' was built
XXX File has been modified since the precompiled header ‘XXXXXXX-Prefix.pch.gch’ was built今天运行公司的SDK,在对外提供的.h文件中改了某些东西又删除了,但是运行的时候报上面的error,对于没有接触过Prefix.pch文件的人来说,当时是要研究一下啦。1、Prefix.pch文件作用是什么?Pre...原创 2019-02-27 19:33:00 · 2432 阅读 · 0 评论 -
项目集成SDK系列---linker command failed with exit code 1
集成SDK遇错解错系列作为毕业半年的我很荣幸的接收到领导的任务–集成SDK项目:本人所在的公司是个老牌公司,项目拆分很好,使用cocopods管理多个仓库,而且还有一个专门管理第三方的库(暂且称为FF吧),一直以为是不是可以直接放进这个FF即可,可事实并不是这样~,之后将SDK集成进自己项目组维护的库中,但是不可避免的遇到错误。错误一ld: 168 duplicate symbols fo...原创 2019-03-22 15:10:17 · 367 阅读 · 0 评论 -
不同Target公用一个类
在集成NotificationContentExtention时,要使用的基础控件在主工程的target中,怎么办呢?难道重新写一遍吗?请教一下百度后,发现如下方法。不同target之间共用类时,需要在不存在这个类的target的Build Phases ->Complie Sources里加入该类的.m,另外也需要把该类中所引入的类的.m也加进去,否则会出现各种不易查找的问题其本质...转载 2019-04-28 16:26:45 · 231 阅读 · 0 评论 -
NSDateFormatter的格式化字符串
在开发中, 会经常使用到NSDate类型,但是NSDate类型和NSString类型互相转换时,稍微有些麻烦,需要使用NSDateFormatter类型来辅助,设置NSDateFormatter的格式,下面是将NSString类型转换为NSDate类型的例子。NSString lastModifiedString = @"Mon, 06 Jun 2011 12:47:05 GMT";NSDat...原创 2019-05-05 09:52:15 · 2212 阅读 · 0 评论 -
分析Crash 日志一
分析Crash 日志1、HeaderIncident Identifier: B6FD1E8E-B39F-430B-ADDE-FC3A45ED368CCrashReporter Key: f04e68ec62d3c66057628c9ba9839e30d55937dcHardware Model: iPad6,8Process: TheElements [303]Path: /priv...原创 2019-06-16 15:38:17 · 7868 阅读 · 0 评论 -
Prefix header
iOS Prefix header疑问:iOS宏定义在哪里?我没定义为什么可以使用原因在于工程里面可能存在.pch文件,里面定义了宏或引用了某些头文件。Prefix Header中导入了,那么我们在工程的每一个文件中可以免费获得使用的权利,而无需手动在每一个.h/.m文件中导入1、.pch是什么?.pch是 Prefix Header文件的后缀,在xcode6去掉这个文件的创建,但是万能的...原创 2019-07-29 09:31:46 · 426 阅读 · 0 评论 -
图片的处理-改尺寸、显圆形、判断图片类型
//1.改变图像的尺寸,方便上传服务器 - (UIImage ) scaleFromImage: (UIImage ) image toSize: (CGSize) size { UIGraphicsBeginImageContext(size); [image drawInRect:CGRectMake(0, 0, size.width, size.height)]; UII原创 2016-10-12 10:35:22 · 911 阅读 · 0 评论 -
客户端常见http状态码
客户端常见http状态码 200 OK:客户端请求成功。 400 Bad Request:客户端请求有语法错误,不能被服务器所理解。 401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。 403 Forbidden:服务器收到请求,但是拒绝提供服务。原创 2017-03-09 17:27:53 · 2412 阅读 · 0 评论 -
NSSet、NSArray的日期排序
很久没写iOS代码。最近和朋友聊天时候有强迫症,想强烈把代码给优化。问题是这样的:现在数据是日期数组,想过滤掉重复的日期,怎么解决。原始代码这里想到更简洁点。用NSSet来搞定。[objc] view plain copy 在CODE上查看代码片派生到我的代码片NSArray *arr = @[@"12-11", @"12-11", @"12-11", @"12-12", @"12-13", @"转载 2016-12-13 19:30:42 · 803 阅读 · 0 评论 -
UITableView优化
一、UITableView优化总结 UITableView的优化主要从三个方面入手: (1)提前计算并缓存好高度(布局),因为heightForRowAtIndexPath:是调用最频繁的方法; (2)异步绘制Cell,尽量不要用 自带的ContentView; (3)动时按需加载,这个在大量图片展示,网络加载的时候很管用! (4)正确使用reuseIdentifier来重用Cel原创 2016-10-24 20:54:31 · 252 阅读 · 0 评论 -
本地加载html\css\Js
首先加载本地的html文件:[objc] view plain copy print?NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; NSString *path = [[NSBundle mainBundle] pat转载 2016-10-17 10:48:09 · 2341 阅读 · 0 评论 -
iOS 将十进制转化为十六进制、十进制转二进制
//将十进制转化为十六进制 - (NSString *)ToHex:(uint16_t)tmpid { NSString *nLetterValue; NSString *str =@”“; uint16_t ttmpig; for (int i = 0; i<9; i++) { ttmpig=tmpid%16; tmp原创 2016-10-01 15:53:44 · 1974 阅读 · 0 评论 -
文件基本操作
1、文件的创建//指向文件目录 NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; NSString *allPath = [path stringByAppendingPathComponent:@”heartTest.txt”];//需要写入原创 2016-10-01 15:50:03 · 337 阅读 · 0 评论 -
如何解决奔溃问题--SIGABRT和EXC_BAD_ACCESS
iOS:如何解决奔溃问题 程序遇到crash,不要惊慌;应该找到崩溃的地方—精确到文件、到哪行;而不是漫无目的的改代码,因为这样只会使情况更糟,出错程序:http://www.raywenderlich.com/downloads/Problems.zip 基本上有两种crash会发生:SIGABRT和EXC_BAD_ACCESS;SIGABRT是可以程序控制的崩溃,app会因为系统识别翻译 2016-10-23 14:19:38 · 12859 阅读 · 0 评论 -
本地存储,文件内容的拼接
本地存储,文件内容的拼接需求:项目中要求将大量数据存储到文件中,但是存储的内容不多追加,这就要求记录上一次存储的位置。 思路:用NSFileHandle来处理 知识点:NSFileHandle文件对接器或成文件句柄 常用的API:+ (id)fileHandleForReadingAtPath:(NSString *)path; 根据路径读取数据 (id)fileHandleForWrit原创 2016-09-24 18:47:57 · 423 阅读 · 0 评论 -
iOS 常用小技巧大杂烩(下)
30, CocoaPods pod install/pod update更新慢的问题pod install –verbose –no-repo-update pod update –verbose –no-repo-update 如果不加后面的参数,默认会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。31,MRC和ARC混编设置方式在XCode中targe转载 2016-07-21 13:29:28 · 313 阅读 · 0 评论 -
iOS 常用小技巧大杂烩(上)
1,打印View所有子视图po [[self view]recursiveDescription]2,layoutSubviews调用的调用时机当视图第一次显示的时候会被调用当这个视图显示到屏幕上了,点击按钮添加子视图也会调用这个方法当本视图的大小发生改变的时候是会调用的当子视图的frame发生改变的时候是会调用的当删除子视图的时候是会调用的3,NSString过滤特殊字符// 定义一转载 2016-07-21 13:26:54 · 303 阅读 · 0 评论 -
开发者如何要iOS用户权限
开发者如何要iOS用户权限?得动动脑筋我可以给你发推送通知吗?我可以查看你的通讯录吗?我可以知道你在哪里吗?我可以看看你的照片吗? iOS用户在初次使用一个App时,基本上都会遇到类似这样的弹窗问候。由于iOS的沙盒机制,第三方App在调用数据这方面遭到了诸多限制,苹果仅仅开放了部分接口(相册,联系人,地理位置等)供开发者使用。不仅如此,每一部分的数据接口都需要用户允许才能取得调用权限。而这一转载 2016-07-20 16:56:30 · 1943 阅读 · 0 评论 -
浅谈iOS开发中方法延迟执行的几种方式
http://www.jianshu.com/p/6ed28a29b391浅谈iOS开发中方法延迟执行的几种方式Method1. performSelector方法 Method2. NSTimer定时器 Method3. NSThread线程的sleep Method4. GCD公用延迟执行方法 - (void)delayMethod{ NSLog(@”delayMethodEn转载 2016-06-15 07:39:19 · 469 阅读 · 0 评论 -
iOS后台模式以及后台持续运行
一、iOS后台的几种模式 1、Background Audio,这是后台的音频,这个很早之前便有,也是iOS设备中用得最多的后台应用,调用这个接口可以实现后台的音乐播放。 2、Location Services,这是后台的定位,系统会拥有统一页面进行管理。 3、VoIP,后台语音服务,类似Skype通话应用需要调用,可进行后台的语音通话。 4、Newsstand,报刊杂志后台自动下载更新,其能够自原创 2016-07-09 13:49:54 · 9271 阅读 · 0 评论 -
@synthesize myObject=_myObject的理解
@synthesize window=_window之类的写法的理解 在32位系统中,如果类的 @interface 部分没有进行 ivar 声明,但有 @property 声明,在类的 @implementation 部分有响应的 @synthesize,则会得到类似下面的编译错误: Synthesized property ‘xX’ must either be named the same原创 2016-07-20 16:31:18 · 954 阅读 · 0 评论