
IOS开发
OnnePiece
晚睡早起多写少撸锲而不舍必成大器 新窝:lwchannel.com
展开
-
旧版Xcode官方下载地址
https://developer.apple.com/downloads/原创 2015-11-14 11:17:25 · 1581 阅读 · 0 评论 -
StoryBoard初探(三):自定义Segue以及页面间传值
自定义SegueStoryBoard三种连接中,有一种类型是Custom,开发者可以使用自定义的Segue,自定义Segue类需要继承类UIStoryBoardSegue,并重写perform方法:- (void)perform{ NSLog(@"使用自定义连接"); [self.sourceViewController presentViewController:sel原创 2014-12-24 11:40:46 · 2916 阅读 · 0 评论 -
StoryBoard初探(二):使用UINavigationController和UITabBarController
UINavigationControllerStoryBoard的Segue类型有三种:Push,Modal,Custom.其中Push类型的Segue需要用到UINavigationController。第一步,先清空之前所有的连线和连接,选择ViewController,打开Editor菜单,选择Embed In选项中的Navigation Controller。主窗口区域原创 2014-12-24 10:51:31 · 8098 阅读 · 0 评论 -
StoryBoard初探(一):实现简单的页面跳转与返回
前言苹果推出故事版很久了,一直没有深入学习过。最近打算尝试用StoryBoard做高保真交互App原型,决定学习下。相对于IB来讲,StoryBoard几乎不用手写代码,便能实现页面交互,这一点很适合会Xcode的同学用来做快速原型开发。实现简单的页面跳转新建工程,选择Single View Application,Xcode生成的工程模板中会自动使用StoryBoard.打开原创 2014-12-23 20:29:16 · 6906 阅读 · 0 评论 -
新iPhone6做真机测试报错:process launch failed: Security
前言同事新买的iPhone6,需要Xcode直接安装最新版本,在安装之前,曾通过fir.im装过Ad_Hoc版。在使用Xcode进行真机运行时,iPhone6无法启动应用,并报错:process launch failed: Security。解决办法点击iPhone6之前安装的应用版本,这时候会弹框让用户确认是否信任开发者的应用,点击信任,然后重新使用Xcode进行安装即可~原创 2015-01-30 11:51:07 · 6140 阅读 · 0 评论 -
新版iTunes connect中构建版本号重复问题解决
1、前言提交申请的App,中途由于小改动又被撤了回来。改完重新打包之后,上传到iTunes connect时,发现已存在同一版本号的包,而且无法向旧版一样删除,一个办法是更改应用的版本号,但是应用的版本号都是计划好的,不能随意更改。最好的解决办法在下面。2、解决之道打包时,保持应用的Version不变,修改Build与之前的包区分开来就OK了。打包,提交,然后选择新原创 2014-12-04 15:09:53 · 7943 阅读 · 0 评论 -
运行iPhone6模拟器时链接出错:"libstdc++.6.0.9.dylib:Undefined symbols for architecture i386"
1、问题描述Xcode6运行iPhone6(or Plus)原创 2014-10-17 13:55:52 · 5524 阅读 · 0 评论 -
iOS8使用TouchID
iOS8使用TouchID原创 2014-10-21 15:44:12 · 1469 阅读 · 0 评论 -
iOS8新增应用内打开设置
iOS8新增应用内打开应用集中设置界面原创 2014-10-21 10:15:40 · 1902 阅读 · 0 评论 -
ABAddressBookRequestAccessWithCompletion线程安全
ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted,CFErrorRef error) { if ([[NSThreadcurrentThread] isMainThread]) { NSLog(@"ma原创 2014-10-17 14:27:30 · 2889 阅读 · 0 评论 -
iOS强制类型转换陷阱
(NSMutableArray * )还是nsarray类型原创 2014-10-17 16:02:55 · 7144 阅读 · 0 评论 -
iOS8远程推送
iOS8远程推送原创 2014-10-17 11:53:57 · 2338 阅读 · 0 评论 -
高德2d地图SDK2.3中C++函数编译不过的问题
1、问题描述最近gong'c原创 2014-10-14 19:18:24 · 1217 阅读 · 0 评论 -
使用CoreImage进行人脸识别
代码- (BOOL)checkImageHasFace{ BOOL hasFace = NO; CIImage *begingImage = [[CIImage alloc] initWithImage:_postImage]; //创建CIDetector对象,options使用NSDictionary设置采用高品质还是低品质,这里使用低品质。 CIDete原创 2014-12-25 13:48:11 · 1387 阅读 · 1 评论 -
iOS8使用UIVisualEffectView实现模糊效果
代码实现- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //使用图片初始化背景色 self.view.backgroundColor = [UIColor colorWithPat原创 2014-12-24 17:56:58 · 3062 阅读 · 0 评论 -
The identity used to sign the executable is no longer valid
前言真机调试,Build成功之后,无法运行。弹框提示:The identity used to sign the executable is no longer valid原因网上有帖子分析是证书设置错误,我的情况是开发证书刚好过期了。打开钥匙串可以查看。原创 2015-09-24 15:50:57 · 887 阅读 · 0 评论 -
iOS9适配小结
前言最新发布的app版本适配了iOS9,总结一下适配过程的几个要点。BitcodeiOS9此番推出了新的特性:Bitcode,关于Bitcode的资料大家可以在网上找。Bitcode要求工程中使用的第三方库必须支持Bitcode,由于很多第三方库都只提供简单的.a和头文件,无法自行对这些库进行重编译。一个简单的处理Bitcode的办法就是暂时关闭对Bitcode的支持。在Xco原创 2015-07-20 15:48:45 · 2031 阅读 · 0 评论 -
10.11无法打开Xcode6.4的解决方法
前言mac升级到10.11版本并安装Xcode7.0Beta之后,Dock中的Xcode6.3图标上出现一个禁止符号,打开提示到App store更新最新版本,更新到6.4之后问题依旧,还是提示更新版本,但6.4已是最新版本,整个陷入死循环。只好先用Xcode7.0Beta版做开发和发布,但是测试版打出的包可以上传itunes connect,但没法提交审核。最后,还是要使用Xcode6.4。原创 2015-07-20 15:11:16 · 4859 阅读 · 0 评论 -
iOS数组count操作(NSUInteger)的安全性
从一个隐蔽的bug说起NSUInteger转成int从一个隐蔽的bug说起int i = 0; for(; i < [emptyArr count] - 1;){ //条件成立,数组越界 id obj = [emptyArr objectAtIndex:i]; }由于数组count方法返回值类型是NSUInteger,当数组的size为0的时候,一个NSUInteger类型的0原创 2015-07-16 11:54:05 · 3023 阅读 · 0 评论 -
iOS8定位问题解决方案
1、修改info 新增Key:NSLocationAlwaysUsageDescription和NSLocationWhenInUseUsageDescription,这两个Key的值将分别用于描述应用程序始终使用和使用期间使用定位的说明,这些说明将显示在用户设置中。info新增键值对如下:应用程序说明参见微信:2、CLLocationMa原创 2014-10-13 20:01:26 · 4900 阅读 · 0 评论 -
iOS真机模拟内存警告
开关宏#ifndef __OPTIMIZE__#define OPEN_MEMORY_WARNING_TEST YES //打开内存警告测试开关#endif调用私有API- (void)simulateMemoryWarning{ if (OPEN_MEMORY_WARNING_TEST == NO) { return; } [[UIA原创 2015-03-02 17:21:38 · 3020 阅读 · 0 评论 -
The entitlements specified in your application’s Code Signing Entitlements file do not match those s
错误描述真机测试过程中,更换Provisioning Profile之后,出现错误:The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.解决办法网上的办原创 2015-02-28 19:27:38 · 5812 阅读 · 0 评论 -
libc++abi.dylib: terminate_handler unexpectedly threw an exception错误小结
前言我们在运行xcode工程时,有时候会遇到”libc++abi.dylib: terminate_handler unexpectedly threw an exception”错误,app莫名其妙就crash掉了,在控制台输入bt命令,查看调用堆栈,结果也是一头雾水:分析现在唯一的信息点是libc++abi.dylib,这个库到底是做什么的?从后缀看,是一个动态库,那么原创 2015-01-21 10:50:09 · 40393 阅读 · 0 评论 -
CATransition自定义UIViewController过渡动画
CATransitionCATransition是CAAnimation的子类,可以通过设置type和subtype实现简单的过渡动画。type类型:/* Common transition types. */CA_EXTERN NSString * const kCATransitionFade __OSX_AVAILABLE_STARTING (__MAC_10原创 2014-12-31 16:49:26 · 2168 阅读 · 0 评论 -
AFViewShaker动画
效果图核心代码/*** CAKeyframeAnimation ***///transform.translation.x- (CAKeyframeAnimation *)keyframeAnimation{ CAKeyframeAnimation * animation = [CAKeyframeAnimation animationWithKeyPath:原创 2014-12-31 17:17:42 · 1124 阅读 · 0 评论 -
IB设置圆角
IB设置圆角原创 2015-02-05 17:50:29 · 1465 阅读 · 1 评论 -
Xcode6:No architectures to compile for(ONLY_ACTIVE_ARCH=YES...)
ONLY_ACTIVE_ARCH原创 2014-10-13 20:28:30 · 2844 阅读 · 0 评论 -
UIAlertView、UIActionSheet兼容iOS8
1、前言iOS8新增了UIAlertController来代替UIAlertView、UIActionSheet的使用。本文在不使用UIAlertController的情况下,用最简单的方法让UIAlertView、UIActionSheet兼容iOS8.2、UIAlertViewiOS8下,如果UIAlertView初始化的时候title为nil的话,iOS8下面弹框中m原创 2014-10-10 11:59:46 · 3219 阅读 · 0 评论 -
UIAlertController使用
1、替代UIAlertView代码: if(SYSTEM_VERSION >= 8.0) { UIAlertController * alertCtr = [UIAlertController alertControllerWithTitle:@"" message:@"删除联系人?" preferredStyle:UIAlertControllerStyleAle原创 2014-10-10 14:05:25 · 2106 阅读 · 0 评论 -
NSCopying协议探究
NSCopying协议在NSObject.h头文件中定义:@protocol NSCopying- (id)copyWithZone:(NSZone *)zone;@end实现copyWithZone:代理方法后,可以对对象使用copy方法。常见的NSString、NSArray、NSDictionary以及它们的mutable类型的对象都能使用copy方法。对无法原创 2013-04-22 11:02:02 · 1534 阅读 · 0 评论 -
NSNumber与NSValue封装非object类型
在object-c中,集合只能存放object,对于基本类型如int、float、bool、char和struct如CGPoint、CGSize、CGRect等,必须封装成object。int、float、bool、char等可以用NSNumber来封装,NSNumber定义在NSValue头文件中,继承于NSValue。对应的装箱方法是:- (id)initWithChar:(cha原创 2013-05-04 21:02:56 · 4076 阅读 · 0 评论 -
NSString与NSDate转换
NSDate-->NSString代码: NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; NSTimeZone *timeZone = [NSTimeZone localTimeZone]; [formatter setTimeZone:timeZone];原创 2013-04-24 14:57:30 · 1145 阅读 · 0 评论 -
NSDate详解
NSDate类用于保存时间值,同时提供了一些方法来处理一些基于秒级别时差(Time Interval)运算和日期之间的早晚比较等。 1. 创建或初始化可用以下方法用于创建NSDate实例的类方法有+ (id)date;返回当前时间+ (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;转载 2013-04-06 14:06:24 · 684 阅读 · 0 评论 -
字符串比对:NSOrderedAscending , NSOrderedSame, NSOrderedDescending
1、字符串比对结果:NSComparisonResult(在NSObjCRunTime.h中定义)按照字符的ASCII值进行比对NSString * str1 = @"abc";NSString * str2 = @"abd";NSString * str3 = @"ABC";NSString * str4 = @"abc";NSString * str5原创 2013-01-06 17:27:57 · 22814 阅读 · 0 评论 -
NSData 与 NSString,Byte数组,UIImage 的相互转换
1. NSData 与 NSString NSData-> NSString NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding]; NSString->NSData NSString *aString =转载 2012-11-09 09:00:44 · 968 阅读 · 0 评论 -
NSObjCRuntime.h
/* NSObjCRuntime.hCopyright (c) 1994-2010, Apple Inc. All rights reserved.*/#include #if defined(__cplusplus)#define FOUNDATION_EXTERN extern "C"#else#define FO转载 2012-11-08 20:43:29 · 2440 阅读 · 0 评论 -
NSError错误信息
一、获取系统的错误信息比如移动文件时,获取文件操作错误:NSError *e = nil;[[NSFileManager defaultManager] moveItemAtPath:sourcePath toPath:targetPath error:&e];if (e) { NSLog(@"move failed:%@", [e localizedDescription]);转载 2012-11-09 08:53:06 · 3093 阅读 · 0 评论 -
NSLog输出格式详解
NSLog定义在NSObjCRuntime.h中,如下所示:void NSLog(NSString *format, …);基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString的对象,而不是chat *这种字符串指针。示例NSLog可以如下面的方法使用:NSLog (@"this is a test");转载 2012-11-08 20:29:09 · 1431 阅读 · 0 评论 -
NSURL与NSString相互转换
1 NSURL转换成NSStringNSString * urlStr = [url absoluteString];2 NSString转换成NSURLNSURL * url = [NSURL URLWithString:urlStr];NSURL * url = [[NSURL alloc] initWithString:urlStr];原创 2012-11-09 09:10:28 · 43435 阅读 · 0 评论 -
自己封装的文件管理类FileManager
FileManager.h文件:#import @interface FileManager :NSObject+(BOOL)fileExistsAtPath:(NSString *)path;+(NSString *)getDocumentsPath;+(BOOL)createDirectoryWithPath:(NSString *)path;+原创 2012-11-08 20:38:41 · 1276 阅读 · 0 评论