- 博客(54)
- 资源 (1)
- 收藏
- 关注
转载 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
594
转载 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
2835
转载 XCode中 instruments 工具使用
比较了好多关于instruments 还是发现老外写的比较牛逼.于是果断翻译过来.有能力的的可以去看英文原版,鼓励大家看原版资料远离二手教程。这里是原文 入门为了节省大家的时间,提供一个演示的Demo给大家。代码传送门. 下载后解压然后用xcode打开。 编译运行APP后 然后在搜索框内输入任意词汇,点击结果你会看到下面的结果
2017-05-17 11:54:43
1816
转载 iOS多语言本地化(国际化)设置
讨论的iOS应用中的多语言设置,Ok 一般是两种情况:1.根据当前设备语言自动切换显示2.在应用中可进行语言设定至今,我个人做过的项目中有6个是涉及到多语言的,其中全部都是需要在应用中可进行设置。 其实也没多大关系,我们这里会首先说说根据当前设备语言进行切换界面的显示(这些都是网上能搜到的,我整理下给自己清晰点的步骤以便后续查看罢了)。而关于在应用在进行语言设定,其实就
2016-11-04 17:20:11
936
原创 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
5729
1
原创 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
27271
转载 iOS内存管理(5)--深、浅拷贝与copy、strong
深.浅拷贝copy/mutableCopy NSStringNSString *string = @"汉斯哈哈哈";// 没有产生新对象NSString *copyString = [string copy];// 产生新对象NSMutableString *mutableCopyString = [string mutableCopy];NSLog(@"string =
2016-06-24 14:00:04
902
原创 iOS内存管理(4)--Block属性用copy修饰 & 避免循环引用的问题
一、Block的类型根据Block在内存中的位置分为三种类型NSGlobalBlock,NSStackBlock, NSMallocBlock。NSGlobalBlock:类似函数,位于text段;NSStackBlock:位于栈内存,函数返回后Block将无效;NSMallocBlock:位于堆内存。二、Block的copy、retain、release操作
2016-06-23 20:35:06
8460
转载 iOS中的@dynamic与@synthesize
一、@dynamic与@synthesize的区别首先@表示当前使用的OC代码。@property有两个对应的词,一个是@synthesize,一个是@dynamic。如果@synthesize和@dynamic都没写,那么默认的就是@syntheszie var = _var; @synthesize的语义是如果你没有手动实现setter方法和getter方法,那么在编译的时候编
2016-06-23 15:29:51
5866
转载 使用methodSignatureForSelector与forwardInvocation实现消息转发
在给程序添加消息转发功能以前,必须覆盖两个方法,即methodSignatureForSelector:和forwardInvocation:。methodSignatureForSelector:的作用在于为另一个类实现的消息创建一个有效的方法签名,必须实现,并且返回不为空的methodSignature,否则会crash。forwardInvocation:将选择器转发给一个真正实现了
2016-06-23 13:33:32
3198
转载 iOS内存管理(3)-- iOS 代理要用weak修饰
在开发中我们经常使用代理,或自己写个代理,而代理属性都用weak(assign)修饰,看过有些开发者用strong(retain),但并没发现有何不妥,也不清楚weak(assign)与strong(retain)修饰有何区别功能实现就行了,考虑这么多干嘛~~~我只能哈哈哈weak:指明该对象并不负责保持delegate这个对象,delegate这个对象的销毁由外部控制@prope
2016-06-21 16:56:34
612
转载 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
629
原创 iOS内存管理(1)-- iOS中strong,copy,retain,weak,assign的用法
一、nonatomic关键字:首先修饰属性会要用到nonatomic(非原子的),相反的atomic(原子的),atomic是Objc使用的一种线程保护技术顾名思义就是在对该属性进行修改的时候保护起来,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常
2016-06-21 16:33:18
1011
原创 环信libHyphenateSDK.a和支付宝libcrypto.a冲突问题解决办法
项目中需要继承支付宝和环信,编译的时候没有错误,但是在运行的时候报了duplicate symbol错误,从错误提示中发现新版的环信sdk中的静态库libHyphenateSDK.a与支付宝中的静态库libcrypto.a冲突了,这两个静态库中存在相同的对象文件(.o文件)。 我的解决办法是在other linker flag中添加-force_load,并在后面配上两个静态库的路径,来
2016-05-18 13:44:57
4707
转载 关于Xcode的Other Linker Flags中的一些参数
一、转载部分:背景在ios开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入-ObjC或者-all_load这样的解决方法。那么,Other Linker
2016-05-18 13:19:54
1884
转载 Xcode制作动态及静态Framework和各种坑
有没有写SDK或者要将一些常用的工具类做成Framework的经历? 你或许自己写脚本完成了这项工作,相信也有很多的人使用 iOS-Universal-Framework ,随着Xcode 6的发布,相信小伙伴们已经都知道了,Xcode 6支持做Framework了. 同时iOS-Universal-Framework开发者也宣布不在继续维持此项目的开发,建议开发者使用Xcode 6制作,目前网上
2016-03-31 17:35:19
6989
转载 iOS开发:正确使用const,static,extern
前言 本篇主要介绍在开发中怎么使用const,static,extern3个关键字,如果喜欢我的文章,可以关注我微博:吖了个峥,也可以来小码哥,了解下我们的iOS培训课程。后续还会更新更多内容。。。 一、const与宏的区别(面试题): const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量。 编译时刻:宏是
2016-03-03 18:08:50
651
转载 IOS开发证书变成“此证书的签发者无效”解决方法
IOS开发证书全部变成无效,如下图 打包提示错误 解决方法: 1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer的证书,然后双击安装。 2. 在导航栏那边,显示-显示已过期的证书 3. 点击 “登录”,并且选择 “所有项目” ,并在搜索栏下输入 apple w,其中
2016-02-17 15:31:15
596
原创 iOS后台运行程序(一)——location
对于iOS应用,苹果公司是不允许其在后台(即按下Home键)运行的,如果在后台那么app在5s之内就会被kill掉,不能在运行网络也会断开。可以通过在applicationDidEnterBackground方法中写代码来申请延长后台运行时间,不过也是最多600s,十分钟过后app仍然会被kill。但是一些特殊的应用除外。苹果公司允许在后台运行的应用包括以下几种:1、locatio
2016-01-08 18:42:43
1176
原创 iOS真机调试打印并保存控制台输出日志
查看项目的输出日志有下面两种情况:1、 如果是模拟器或者真机连接xcode的时候就可以直接在控制台打印log,查看输出日志;2、 如果是真机调试同时不能连接xcode的时候就不能直接在xcode的控制台查看输出日志了,但是程序还是会执行那些log的,如果要查看这些日志,我们就可以把输出日志保存到沙盒的Documents中,保存成txt文档来查看。代码如下:#pragma mark -
2016-01-08 16:23:41
7130
1
转载 再谈iOS 7的左边缘手势右滑动返回功能
文章出处:http://blog.csdn.net/jasonblog/article/details/28282147#comments现在使用默认模板创建的iOS App都支持手势返回功能,如果导航栏的返回按钮是自定义的那么则会失效,也可以参考这里手动设置无效。[cpp] view plaincopyif ([self.navig
2015-12-24 11:31:09
2513
转载 关于UIScrollView不能响应UITouch事件的解决办法
原因是:UIView的touch事件被UIScrollView捕获了。 解决办法:让UIScrollView将事件传递过去。于是最简单的解决办法就是加一个UIScrollView的category。这样每个用到UIScrollView的地方只要导入这个category就可以直接响应相关的touch事件了。类似问题:在论坛看见很多人说UIImageView也没办法响应,我没尝试过,不
2015-12-16 16:01:54
580
原创 iOS修改tabbar的背景颜色
iOS中修改tabbar的背景颜色时,如果只是设置tabBar.backgroundColor = [UIColorredColor];那么出来的效果就只是半透明的红色(粉红色)的样子,设置tabBar.tintColor = [UIColorredColor];也是不管用滴。但是设置tabBar.barTintColor = [UIColorredCo
2015-11-27 20:35:59
2340
原创 iOS使用自定义字体,比如楷体
iOS中的大部分字体都是对英文才有作用,想用楷体,并没有作用,那就要用自定义的字体。1. 下载自己需要的字体的ttf文件,并且导入到自己的项目中,如图2. 在info.plist中添加Fonts provided by application配置项,然后把ttf文件添加进去,如图3. 如果不知道自己添加的这个字体的名字,可以遍历字体库,通过如下代码:
2015-08-18 20:22:06
5840
转载 ios即时通讯客户端开发之-mac上安装MySQL
一、安装到MySQL官网上http://dev.mysql.com/downloads/mysql/,下载mysql可安装dmg版本比如:Mac OS X ver. 10.7 (x86, 64-bit), DMG Archive下载完的文件为:mysql-5.6.10-osx10.7-x86_64.dmg1.点击,安装包里的 2.点击安装安装好后,再系统偏好设置的其他里,会出现如下图标: 3.点
2015-07-15 22:08:41
606
原创 Mac系统中强制删除废纸篓文件
当U盘中有某些病毒的时候再插到苹果电脑上会导致废纸篓有些文件被循环创建,不能删除,提示正在使用中。 通过终端命令行强制删除,不过需要很谨慎,万一输错命令就可能删除掉整个系统。 在终端输入 sudo rm -rf ~/.Trash/ 即可删除废纸篓中的文件。
2015-07-14 20:28:17
12419
原创 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
1157
原创 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
3439
原创 iOS中对时间的处理(二)——获取时间及星期
一. NSString与NSDate之间转化NSString转化为NSDate[dateformatter setDateFormat:@"yyyy-MM-dd HH:mm"];NSDate *date = [NSDate date];NSString *dateStr = [dateformatter stringFromDate:date];NSDate转化为NSString[dat
2015-07-11 16:57:29
878
转载 NSString 截取字符串的某一个部分
1.定义一个字符串a, 截取a 的某一个部分,复制给b, b必须是int型 NSString *a = @"1.2.30"; int b= [[a substringWithRange:NSMakeRange(4,2)] intValue]; NSLog(@"a:%@ \n",a ); NSLog(@"b:%d",b );
2015-07-03 17:23:17
1619
原创 iOS中对时间的处理(一)——获取当前时间戳
NSDate *da = [NSDatedateWithTimeIntervalSinceNow:0]; NSTimeInterval ti = [datimeIntervalSince1970]*1000; NSString *timeStr = [NSStringstringWithFormat:@"%.0f",ti]; // 转为字符型 N
2015-06-11 11:06:49
914
转载 iOS动画
我们写的应用程序往往都不是静态的,因为它们需要适应用户的需求以及为执行各种任务而改变状态。在这些状态之间转换时,清晰的揭示正在发生什么是非常重要的。而不是在页面之间跳跃,动画帮助我们解释用户从哪里来,要到哪里去。键盘在 view 中滑进滑出给了我们一个错觉,让我们以为它是简单的被隐藏在屏幕下方的,并且是手机很自然的一个部分。View controller 转场加强了我们的应用程序的
2015-06-09 18:25:49
673
转载 在xcode5中修改整个项目名
总会遇到几个项目,在做到一半的时候被要求改项目名,网上找了下相关的资料,大多数是xcode5以前的版本,所以解决好了在这里mark一下,给需要的人。目标为:将项目名XCD4改成xcd5。先上结果图:==》 1.在左侧的导航区域点击两次项目名,两次间隔时间稍微长些,项目名会变成可编辑状态。将名称修改为xcd5后按enter键弹出一个对话框,这个时候放心
2015-06-08 13:00:21
761
原创 ios设置导航栏的背景颜色或背景图片
设置背景颜色:self.navigationController.navigationBar.barTintColor = [UIColor greenColor];// 把导航栏设为绿色设置背景图片:self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];se
2015-05-22 19:54:47
7585
原创 iOS MD5加密算法 和 SHA1加密
近期在弄md5,找了一些md5的方法,有几个方法整理一下。1、MD5 16位加密(大写)这是iOS SDK自带的MD5,所以要导入#import - (NSString *)md5:(NSString *)str{ const char *cStr = [str UTF8String]; unsigned char result[16]; CC
2015-05-20 21:31:35
1037
原创 iOS中使用RegexKitLite出现20个错误解决办法
RegexKitLite是一个正则表达式用到的框架,但是假如直接把RegexKitLite导入到项目中,使用ARC的时候就会报出20个错误,本人是通过第1个办法解决的,如果还不行,我从网上看到有人说了别的方法,就是方法2。解决办法:1. 点击项目 --> Targets --> Build Phases --> 通过搜索找到RegexKitLite.m文件 --> 在 RegexKitLi
2015-05-14 21:30:24
1308
原创 关于iOS项目拖到别的文件夹后文件变红的问题
有时候用xcode写的代码,本来运行的好好的,可是当转移到别的文件夹再运行的时候里面的某些文件就会变红了,提示找不到,可是show in finder的时候文件确实在项目的路径下。原因可能是在之前在编写的时候在项目中写了绝对路径,比如:新建一个文件夹时,再点击右边的Location,之后再在图3中新建一个与项目中一样名字的文件夹。这样看似很方便,实际是在项目中加了绝对路径(新建的那个文件夹有时
2015-05-14 21:26:27
2727
原创 关于iOS地图定位中点击设置->隐私->定位服务 闪退问题
iOS8之后,如果应用中用到了地图定位,那么点击设置->隐私->定位服务 再点击该应用有时候会出现闪退问题,其原因是iOS8之后定位中添加了NSLocationWhenInUseDescription和NSLocationAlwaysUsageDescription,需要在plist文件中添加这两个或其中一个,出现闪退是因为在plist中把这两个值设成了Boolean类型的,将其改成NSStr
2015-05-13 17:10:20
1231
原创 NSString 和 NSArray相互转化用componentsJoinedByString和componentsSeparatedByString
将array数组转换为string字符串 NSString *tempString = [mutableArray componentsJoinedByString:@","];将string字符串转换为array数组 NSArray *array = [str componentsSeparatedByString:@","];
2015-05-13 16:09:47
3185
转载 iOS开发中@property的属性weak nonatomic strong readonly等介绍
@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法。在Xcode4.5以及以后的版本,@synthesize可以省略。1.atomic与nonatomicatomic:默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避免该变量的读写不同步问题。nonatomic:如果该对象无需考虑多线程的情况,请加入
2015-05-10 20:18:21
751
iOS中///快速添加方法注释插件之VVDocumenter-Xcode-master
2015-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人