iOS
文章平均质量分 74
zzz098zzz
这个作者很懒,什么都没留下…
展开
-
iOS UIView中的坐标转换
IOS-- UIView中的坐标转换// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;// 将像素point从view中转换到当前视图中,返回在当前视图中的像素值- (CGPoint)co转载 2017-06-16 13:28:39 · 602 阅读 · 0 评论 -
环信libHyphenateSDK.a和支付宝libcrypto.a冲突问题解决办法
项目中需要继承支付宝和环信,编译的时候没有错误,但是在运行的时候报了duplicate symbol错误,从错误提示中发现新版的环信sdk中的静态库libHyphenateSDK.a与支付宝中的静态库libcrypto.a冲突了,这两个静态库中存在相同的对象文件(.o文件)。 我的解决办法是在other linker flag中添加-force_load,并在后面配上两个静态库的路径,来原创 2016-05-18 13:44:57 · 4714 阅读 · 0 评论 -
关于Xcode的Other Linker Flags中的一些参数
一、转载部分:背景在ios开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入-ObjC或者-all_load这样的解决方法。那么,Other Linker转载 2016-05-18 13:19:54 · 1896 阅读 · 0 评论 -
Xcode制作动态及静态Framework和各种坑
有没有写SDK或者要将一些常用的工具类做成Framework的经历? 你或许自己写脚本完成了这项工作,相信也有很多的人使用 iOS-Universal-Framework ,随着Xcode 6的发布,相信小伙伴们已经都知道了,Xcode 6支持做Framework了. 同时iOS-Universal-Framework开发者也宣布不在继续维持此项目的开发,建议开发者使用Xcode 6制作,目前网上转载 2016-03-31 17:35:19 · 6999 阅读 · 0 评论 -
IOS开发证书变成“此证书的签发者无效”解决方法
IOS开发证书全部变成无效,如下图 打包提示错误 解决方法: 1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer的证书,然后双击安装。 2. 在导航栏那边,显示-显示已过期的证书 3. 点击 “登录”,并且选择 “所有项目” ,并在搜索栏下输入 apple w,其中转载 2016-02-17 15:31:15 · 600 阅读 · 0 评论 -
iOS开发:正确使用const,static,extern
前言 本篇主要介绍在开发中怎么使用const,static,extern3个关键字,如果喜欢我的文章,可以关注我微博:吖了个峥,也可以来小码哥,了解下我们的iOS培训课程。后续还会更新更多内容。。。 一、const与宏的区别(面试题): const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量。 编译时刻:宏是转载 2016-03-03 18:08:50 · 654 阅读 · 0 评论 -
iOS后台运行程序(一)——location
对于iOS应用,苹果公司是不允许其在后台(即按下Home键)运行的,如果在后台那么app在5s之内就会被kill掉,不能在运行网络也会断开。可以通过在applicationDidEnterBackground方法中写代码来申请延长后台运行时间,不过也是最多600s,十分钟过后app仍然会被kill。但是一些特殊的应用除外。苹果公司允许在后台运行的应用包括以下几种:1、locatio原创 2016-01-08 18:42:43 · 1197 阅读 · 0 评论 -
再谈iOS 7的左边缘手势右滑动返回功能
文章出处:http://blog.csdn.net/jasonblog/article/details/28282147#comments现在使用默认模板创建的iOS App都支持手势返回功能,如果导航栏的返回按钮是自定义的那么则会失效,也可以参考这里手动设置无效。[cpp] view plaincopyif ([self.navig转载 2015-12-24 11:31:09 · 2516 阅读 · 0 评论 -
iOS真机调试打印并保存控制台输出日志
查看项目的输出日志有下面两种情况:1、 如果是模拟器或者真机连接xcode的时候就可以直接在控制台打印log,查看输出日志;2、 如果是真机调试同时不能连接xcode的时候就不能直接在xcode的控制台查看输出日志了,但是程序还是会执行那些log的,如果要查看这些日志,我们就可以把输出日志保存到沙盒的Documents中,保存成txt文档来查看。代码如下:#pragma mark -原创 2016-01-08 16:23:41 · 7155 阅读 · 1 评论 -
关于UIScrollView不能响应UITouch事件的解决办法
原因是:UIView的touch事件被UIScrollView捕获了。 解决办法:让UIScrollView将事件传递过去。于是最简单的解决办法就是加一个UIScrollView的category。这样每个用到UIScrollView的地方只要导入这个category就可以直接响应相关的touch事件了。类似问题:在论坛看见很多人说UIImageView也没办法响应,我没尝试过,不转载 2015-12-16 16:01:54 · 584 阅读 · 0 评论 -
iOS修改tabbar的背景颜色
iOS中修改tabbar的背景颜色时,如果只是设置tabBar.backgroundColor = [UIColorredColor];那么出来的效果就只是半透明的红色(粉红色)的样子,设置tabBar.tintColor = [UIColorredColor];也是不管用滴。但是设置tabBar.barTintColor = [UIColorredCo原创 2015-11-27 20:35:59 · 2347 阅读 · 0 评论 -
iOS使用自定义字体,比如楷体
iOS中的大部分字体都是对英文才有作用,想用楷体,并没有作用,那就要用自定义的字体。1. 下载自己需要的字体的ttf文件,并且导入到自己的项目中,如图2. 在info.plist中添加Fonts provided by application配置项,然后把ttf文件添加进去,如图3. 如果不知道自己添加的这个字体的名字,可以遍历字体库,通过如下代码:原创 2015-08-18 20:22:06 · 5871 阅读 · 0 评论 -
iOS内存管理(5)--深、浅拷贝与copy、strong
深.浅拷贝copy/mutableCopy NSStringNSString *string = @"汉斯哈哈哈";// 没有产生新对象NSString *copyString = [string copy];// 产生新对象NSMutableString *mutableCopyString = [string mutableCopy];NSLog(@"string =转载 2016-06-24 14:00:04 · 905 阅读 · 0 评论 -
iOS内存管理(6)--NSArray与NSMutableArray用copy修饰还是strong
一、NSMutableArray 被copy、strong修饰后的变化:把NSMutableArray用copy修饰有时就会crash,因为对这个数组进行了增删改操作,而copy后的数组变成了不可变数组NSArray,没有响应的增删改方法,所以对其进行增删改操作就会报错。举例如下:(1)copy:@property (nonatomic,copy ) NS原创 2016-06-24 15:31:53 · 27309 阅读 · 0 评论 -
iOS https自签名证书— xxx.crt 转化成xxx.cer 格式
终端转换方式 1、在服务器人员,给你发送的crt证书后,进到证书路径,执行下面语句 openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der 这样你就可以得到cer类型的证书了 2、双击,导入电脑 3、可以直接把转换好的cer文件拖动到工程中转载 2017-06-05 09:12:58 · 2841 阅读 · 0 评论 -
iOS APP提示升级直接跳转到AppStore
记录一下:当iOS应用有提示升级功能,用户点击【升级】后直接打开AppStore显示该APP界面。例如淘宝,从ituns里面复制的链接是: https://itunes.apple.com/cn/app/tao-bao-sui-shi-sui-xiang/id387682726?mt=8需要将https改成AppStore的urlSchemes,即itms-apps原创 2016-10-11 17:27:28 · 5740 阅读 · 1 评论 -
XCode中 instruments 工具使用
比较了好多关于instruments 还是发现老外写的比较牛逼.于是果断翻译过来.有能力的的可以去看英文原版,鼓励大家看原版资料远离二手教程。这里是原文 入门为了节省大家的时间,提供一个演示的Demo给大家。代码传送门. 下载后解压然后用xcode打开。 编译运行APP后 然后在搜索框内输入任意词汇,点击结果你会看到下面的结果转载 2017-05-17 11:54:43 · 1827 阅读 · 0 评论 -
iOS多语言本地化(国际化)设置
讨论的iOS应用中的多语言设置,Ok 一般是两种情况:1.根据当前设备语言自动切换显示2.在应用中可进行语言设定至今,我个人做过的项目中有6个是涉及到多语言的,其中全部都是需要在应用中可进行设置。 其实也没多大关系,我们这里会首先说说根据当前设备语言进行切换界面的显示(这些都是网上能搜到的,我整理下给自己清晰点的步骤以便后续查看罢了)。而关于在应用在进行语言设定,其实就转载 2016-11-04 17:20:11 · 941 阅读 · 0 评论 -
iOS内存管理(4)--Block属性用copy修饰 & 避免循环引用的问题
一、Block的类型根据Block在内存中的位置分为三种类型NSGlobalBlock,NSStackBlock, NSMallocBlock。NSGlobalBlock:类似函数,位于text段;NSStackBlock:位于栈内存,函数返回后Block将无效;NSMallocBlock:位于堆内存。二、Block的copy、retain、release操作原创 2016-06-23 20:35:06 · 8472 阅读 · 0 评论 -
iOS中的@dynamic与@synthesize
一、@dynamic与@synthesize的区别首先@表示当前使用的OC代码。@property有两个对应的词,一个是@synthesize,一个是@dynamic。如果@synthesize和@dynamic都没写,那么默认的就是@syntheszie var = _var; @synthesize的语义是如果你没有手动实现setter方法和getter方法,那么在编译的时候编转载 2016-06-23 15:29:51 · 5871 阅读 · 0 评论 -
使用methodSignatureForSelector与forwardInvocation实现消息转发
在给程序添加消息转发功能以前,必须覆盖两个方法,即methodSignatureForSelector:和forwardInvocation:。methodSignatureForSelector:的作用在于为另一个类实现的消息创建一个有效的方法签名,必须实现,并且返回不为空的methodSignature,否则会crash。forwardInvocation:将选择器转发给一个真正实现了转载 2016-06-23 13:33:32 · 3204 阅读 · 0 评论 -
iOS中strong&weak和_block&_weak的作用比较
strong & weak:iOS 开发中经常会用strong和weak来修饰一些属性,这两个的区别又在哪。。就像图片中的这样,A和B都要引用C对象,可是A和C之间是实线(强引用),B和C之间是虚线(弱引用)。不论B是否还在引用C(即不论虚线是否存在),只要当A还在引用C的时候,表明实线还在,那么C就会一直占用一块内存空间,不会被释放;但是当A不再引用C,实线不存在了,就表明没有强指针原创 2015-05-10 19:28:48 · 1936 阅读 · 0 评论 -
iOS内存管理(3)-- iOS 代理要用weak修饰
在开发中我们经常使用代理,或自己写个代理,而代理属性都用weak(assign)修饰,看过有些开发者用strong(retain),但并没发现有何不妥,也不清楚weak(assign)与strong(retain)修饰有何区别功能实现就行了,考虑这么多干嘛~~~我只能哈哈哈weak:指明该对象并不负责保持delegate这个对象,delegate这个对象的销毁由外部控制@prope转载 2016-06-21 16:56:34 · 616 阅读 · 0 评论 -
iOS内存管理(1)-- iOS中strong,copy,retain,weak,assign的用法
一、nonatomic关键字:首先修饰属性会要用到nonatomic(非原子的),相反的atomic(原子的),atomic是Objc使用的一种线程保护技术顾名思义就是在对该属性进行修改的时候保护起来,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常原创 2016-06-21 16:33:18 · 1021 阅读 · 0 评论 -
iOS内存管理(2)-- NSString的copy和strong的用法
大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有什么区别呢?比如:@property (retain,nonatomic) NSString *rStr;@property (copy, nonatomic) NSString *cStr;- (void)test:{ N转载 2016-06-21 16:35:28 · 633 阅读 · 0 评论 -
Mac系统中强制删除废纸篓文件
当U盘中有某些病毒的时候再插到苹果电脑上会导致废纸篓有些文件被循环创建,不能删除,提示正在使用中。 通过终端命令行强制删除,不过需要很谨慎,万一输错命令就可能删除掉整个系统。 在终端输入 sudo rm -rf ~/.Trash/ 即可删除废纸篓中的文件。原创 2015-07-14 20:28:17 · 12433 阅读 · 0 评论 -
iOS中对时间的处理(三)——各时区时间相互转化
手机本地系统时间转化为指定时区时间NSArray *timeZoneNames = [NSTimeZone knownTimeZoneNames];NSLog(@"array_%@",timeZoneNames);NSString *startTime = @"2015-07-11 12:30";NSDateFormatter *formatter = [[NSDateFormatter a原创 2015-07-11 17:15:04 · 3449 阅读 · 0 评论 -
iOS 发布错误,ERROR ITMS-9000:"Invalid Code Signing Ent
当我们把打包好的二进制文件ipa包要上传到iTunes connect的时候,系统会先检测ipa包的信息,有时候就会报下面的错误信息。 ERROR ITMS-9000:”Invalid Code Signing Entitlements.Your application Bundles signature code signing entitlements that are not sup原创 2015-07-12 17:45:13 · 1160 阅读 · 0 评论 -
iOS开发中一些快捷键及Mac中显示隐藏文件代码
由于这两天在开发的过程中遇到一个问题,就是点击textField输入框的时候,键盘死活都不出来,然后查了查,原来是因为软键盘没开,找了打开软键盘的快捷键,所以今天就总结了一下我暂时所知道的ios中的一些快捷键。首先看一下Mac键盘图标与对应快捷按键:⌘——Command () ⌃ ——Control ⌥——Option (alt) ⇧——Shift ⇪——Caps Loc原创 2015-04-27 17:16:30 · 1555 阅读 · 0 评论 -
iOS开发中@property的属性weak nonatomic strong readonly等介绍
@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法。在Xcode4.5以及以后的版本,@synthesize可以省略。1.atomic与nonatomicatomic:默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避免该变量的读写不同步问题。nonatomic:如果该对象无需考虑多线程的情况,请加入转载 2015-05-10 20:18:21 · 756 阅读 · 0 评论 -
iOS中///快速添加方法注释插件
虽然ObjC代码因为其可读性极强,而不太需要时常查阅文档,但是其实对于大多数人(包括我自己)来说,可能为方法或变量取一个好名字并不是那么简单的事情。这时候可能就需要文档或者注释来帮助之后的开发者(包括大家自己)尽快熟悉和方便修改。我在开发和学习的过程中看到有人使用///就能在一个方法前面快速生成规范的Javadoc格式文档注释,所以上网查了查才知道原来是使用了插件的原因,仔细查询了下VVDoc原创 2015-04-23 16:48:52 · 2583 阅读 · 0 评论 -
SSO授权认证分析及与OAuth的表层区别--新浪微博iOS平台举例
SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。实现机制:当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一原创 2015-04-22 18:42:02 · 2782 阅读 · 0 评论 -
代码重构
一、什么是重构重构(Refactoring)就是在不改变软件现有功能的基础上(这是前提),通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。好的代码里一般会定义大量的类、接口、方法,类与类,类与接口之间很多是继承和实现的关系,方法的代码行数很少,超过20行代码的方法不多,看这样的代码感觉最多的就是方法之间的调来调去。 二、为什么要重构(重原创 2015-03-13 19:20:42 · 959 阅读 · 0 评论 -
使用AFNetworking, SDWebimage和OHHTTPStubs
写了个示例,放在GitHub上。以下内容主要介绍:基于AFNetworking的HTTP操作,GET获取网页和JSON数据,上传文件,下载文件,以及加载图片基于SDWebimage的加载图片基于OHHTTPStubs的伪造网络响应用于测试(stub),而且可以模拟出网络的延时使用基于NSURLSession的AFNetworking APIAFNetwork转载 2015-03-13 11:30:42 · 1044 阅读 · 0 评论 -
最新版SDWebImage的使用
一、SDWebImage结构分析SDWebImage库结构的简单分析 SDWebImage库的作用: 通过对UIImageView的类别扩展来实现异步加载替换图片的工作。主要用到的对象:1、UIImageView (WebCache)类别,入口封装,实现读取图片完成后的回调2、SDWebImageManager,对图片进行管理的中转站,记录那些图片正在读取。 向转载 2015-03-13 11:33:24 · 678 阅读 · 0 评论 -
iOS上一种图书翻页效果的实现(Leaves)详解
Leaves是由Tow Brow开发的一个简单的图书翻页控件,它巧妙地结合了镜像层、阴影层(用于半透明页)和渐变层(用于阴影)来实现图书的翻页效果。其翻页效果如下图所示:特性Leaves支持:文本、图像、PDF等任何可被渲染到Graphics Context上的对象通过拖动或点击来翻页支持ipad和iphone大小的显示区域转载 2015-03-08 21:05:44 · 905 阅读 · 0 评论 -
苹果,百度Map定位使用与总结
原文出处:http://blog.csdn.net/xn4545945作者:xn4545945iOS中使用较多的3款地图,google地图、百度地图、苹果自带地图(高德)。其中苹果自带地图在中国使用的是高德的数据。苹果在iOS 6之后放弃了使用谷歌地图,而改用自家的地图。在国内使用的较多的就是百度、苹果自带地图(高德),以下总结下这两个。一、苹果地图的使用转载 2015-02-06 23:55:28 · 1027 阅读 · 0 评论 -
网络操作与AFNetworking
原文出处:http://blog.csdn.net/xn4545945众所周知,苹果搞的一套框架NSContention发送请求与接收请求的方式十分繁琐。操作起来很不方便。不仅要做区分各种请求设置各种不同的参数,而且还要经常在多线程里操作,同时还要对请求与返回的数据做各种序列化的操作,同时还要考虑请求数据的安全等一堆问题。一、早前的几个网络框架1、A转载 2015-02-06 23:42:23 · 699 阅读 · 0 评论 -
25条iOS开发中类型的转换和常用的知识点-总结
25条iOS开发中类型的转换和常用的知识点-总结在写代码的时候很容易被一些那些我们看似简单的问题难住,也严重影响了我们工作的进度,所以今天把一些在iOS中常用 关于类型的转换和常用的用法总结下。字符的表示含义:%c 一个单一的字符%d 一个十进制整数%i 一个整数 //原来i%是这个区别啊%e, %f, %g 一个浮点数%o 一个八进制数%s 一个字符串转载 2015-02-06 12:06:48 · 781 阅读 · 0 评论 -
关于iOS地图定位中点击设置->隐私->定位服务 闪退问题
iOS8之后,如果应用中用到了地图定位,那么点击设置->隐私->定位服务 再点击该应用有时候会出现闪退问题,其原因是iOS8之后定位中添加了NSLocationWhenInUseDescription和NSLocationAlwaysUsageDescription,需要在plist文件中添加这两个或其中一个,出现闪退是因为在plist中把这两个值设成了Boolean类型的,将其改成NSStr原创 2015-05-13 17:10:20 · 1242 阅读 · 0 评论