
IOS开发
认真学习IOS开发,不辜负公司给的学习与实战机会
幸福官
一个一直热爱编程工作,并有高尚追求的程序员!
展开
-
Application Loader提交发布包报错90475
前两天升级了XCode7,使用最新SDK为IOS9编译产品。然后使用Application Loader工具提交审核,结果报错(错误号:90475)通过错误提示可以理解为,IPAD支持分屏多任务了,所以需要产品工程中使用story board。这就意味着,从该版本开始,以前所有纯代码编写的界面或者使用xib编辑的界面,都要使用story board编辑。原创 2015-09-21 11:41:23 · 2821 阅读 · 0 评论 -
swift学习笔记之数组与字典
一、数组1.定义2.操作1)添加2)修改3)插入4)删除5)删除所有二、字典1.定义2.操作1)添加和修改2)删除3)删除所有4)遍历原创 2015-09-30 22:09:39 · 665 阅读 · 0 评论 -
CocoaPods安装经历
【前言】都说CocoaPods工具非常棒,不但能帮你下载所需的第三方开源库,还能帮你管理并设置之间的依赖关系。本打算安装一个学习学习,结果发现网上大家分享的文章区别很大,并且大家安装环境不同遇到的问题也不一样。所以我打算将我安装CocoaPods的经历,写到这里供大家参考学习。【安装】1.打开mac系统中的“终端”2.在命令行中输入“sudo gem install原创 2015-10-16 15:04:56 · 3146 阅读 · 2 评论 -
关于苹果APP加急审核次数官方给予的答复
【问题】由于上线的版本中出现重大bug,所以紧急开发出小版本来弥补。但是提交app到苹果审核,还需要至少一周左右的时间。也许到那时,我们的客户已经都流失了。在网上找了很多解决办法,都说苹果有加急审核,可以解决像我们这样的问题。试了一下,结果补丁版两天就上线了,真不错!之后,我们一直思考一个问题。如果随便一个APP都能申请加急审核的话,那岂不是苹果审核人员会很累。并且我们都可以通过这样的方式,让原创 2015-09-29 14:14:39 · 7027 阅读 · 4 评论 -
swift学习笔记之几个关键字
1.break关键字作用:退出最近的循环体例子:2.continue关键字作用:退出本次循环,继续下一次循环例子:3.falltrough关键字作用:由于swift中switch语句每条case中自带一个隐含的break关键字,使得执行完匹配的case语句后不再执行下面的case。为了解决这个问题,swift中特意引入的这个关键字。使程序执行swit原创 2015-10-16 17:15:21 · 508 阅读 · 0 评论 -
swift学习笔记之运算符及常用语句
1.运算符1)数学运算符【注意】这里要注意除法和取余的除数不能为零,否则编译出现错误提示。2)逻辑运算符【注】Objective-C定义的BOOL类型常量YES和NO,在swift中也可以继续使用。查看了一下YES的声明,let YES:ObjCBool3)三目元运算符4)nil聚合运算符【注意】此语句原创 2015-09-14 14:08:44 · 679 阅读 · 0 评论 -
如何在LLDB下排查message sent to deallocated instance问题
非常好的文章,转载自:http://www.devdiv.com/lldb_message_sent_to_deallocated_instance_-blog-50901-50856.html在XCode的以前版本中,如果遇到了1message sent to deallocated instance 0x6d564f0转载 2015-09-28 16:34:20 · 982 阅读 · 0 评论 -
发布IOS产品被拒后如何再上传新发布包
问题描述:前两天提交公司产品2.0.7版本到苹果审核,昨天提示被拒绝。被拒原因就不描述了。我们经过修改后,重新打包上传,可是怎么也提交不了。因为在苹果后台上已经存在2.0.7版本的发布包了(就是被拒的那个)。这可怎么办?难不成将版本修改成2.0.8发布?但这样不好啊,会让用户以为中间那个版本漏过了。解决方法:在Xcode上,可以查看一下项目的工程配置。在info页中,有两个版本号可填,原创 2015-08-20 15:27:22 · 7287 阅读 · 0 评论 -
swift学习笔记之数据类型
前言:这份学习笔记是写给有编程经验的人看的,因为内容方面很多基础知识被省略掉了,所以请初学者们勿怪我写得不详尽。swift包括如下数据类型:1.整型 Intvar age:Int = 20let age:Int = 20【注】在此说一下swift较Objective-C的改变。1)以前定义一个变量如整型的,我们会想下面这样写NSInteger age = 20;现在定义原创 2015-08-17 14:40:41 · 787 阅读 · 0 评论 -
swift学习笔记之函数(一)
【前言】这篇文章非常关键了,因为函数在程序中占有至关重要的地位。并且无论面向对象还是面向过程,都会使用到函数。下面我们看看swift中的函数该如何去编写。【格式】func 函数名( 参数标识 参数名称::参数类型,......) -> 返回值类型{函数体}其中:1)参数个数可以为零2)参数标识可以不写3)如果没有返回值,那么返回值类型可以写Void或不写原创 2015-10-13 12:24:35 · 480 阅读 · 0 评论 -
swift学习笔记之函数(二)
【前言】继续上一节函数学习,此篇讲解如何编写函数作为参数或者返回值的函数一、函数作为参数的函数编写其中,AutoAdd函数的参数addFunc的类型是一个函数(参数为Int,返回值也为Int)下面看看调用方式其中,AddOne和AddTwo为上面声明的两个函数,这里作为参数传入只需要写函数名称即可二、函数作为返回值的函数编写原创 2015-10-14 08:50:53 · 463 阅读 · 0 评论 -
swift学习笔记之闭包
【前言】根据上一节的例子,我们讲解此次闭包的编写上节例子:【格式】{(参数名称:参数类型)->返回类型 in 闭包函数体}【举例】【闭包函数简化】1.由于AutoAdd函数中addFunc这个参数的传入参数类型和返回类型为Int,那么swift会推断编写的闭包函数也是一样,所以此处可以将参数类型和返回值类型简化掉AutoAdd(&c, addFunc原创 2015-10-14 12:50:31 · 455 阅读 · 0 评论 -
用CGContextRef一些画图画线的方法
#import @interface DashesLineView : UIView@property(nonatomic) CGPoint startPoint;//虚线起点@property(nonatomic) CGPoint endPoint;//虚线终点@property(nonatomic, strong) UIColor * lineColor;转载 2016-02-26 13:47:30 · 888 阅读 · 0 评论 -
此证书签发者无效
【问题】这几天一直在忙底层代码优化,无心顾及上层人员反馈的问题。昨晚同事加班时给我发QQ反馈,我们的IOS研发证书不能用了,并且确定证书没有过期。【分析】打开我的苹果机上的“钥匙串访问”,看了一下我们证书。哇靠!上面提示一行红字“此证书签发者无效”。然后发现苹果开发授权证书也过期了,如图1所示。估计就这个证书影响的,因为春节期间公司都停电了,哪还有人修改我们的开发证书呢原创 2016-02-25 17:28:23 · 912 阅读 · 0 评论 -
iOS8开始默认语言有变化
【问题】测试组发现APP在iOS8及以上系统设备上,语言设置为我们不支持的小语种时,APP没有使用默认的英文,而是选择了上一次设置的语言。【分析】经过研究发现,在iOS8系统开始,在设备语言设置中多出了“首选语言顺序”列表。如下图所示:图中最底部给出了一句话“应用程序和网站将使用所支持的排在列表第一位的语言”。哇靠!苹果好狠啊!这句就代表你设置的默认语言使用起来是有前提原创 2016-01-28 16:34:21 · 1433 阅读 · 2 评论 -
xcode7.1.1不能真机调试ios9.2系统设备的解决方法
转载自:http://www.cocoachina.com/bbs/read.php?tid-331335.html前些天手机升级到iOS9.2版本 xcode7.1还能真机测试。昨晚更新xcod7.1.1 连接手机测试时提示Could not find Developer Disk Image。查了下目录 "/Applications/Xcode.app/Contents/De转载 2015-12-22 14:33:03 · 8005 阅读 · 7 评论 -
申请苹果个人开发者经历
【前言】由于一些原因,近期需要申请一个苹果开发者帐号。以前用的都是公司给申请好的,所以自己动手去申请真的有些发懵。特此将整个申请流程记录下来,供新手们参考。这里要特别注意的是,我申请的是个人开发者。如果是公司或者政府部门等,需要其他相关手续办理,就不在此文章范围内啦。【申请流程】登录苹果开发者官方网站,地址:https://developer.apple.com/点击菜单上原创 2016-01-07 13:48:31 · 3180 阅读 · 0 评论 -
XCODE官方正版离线下载方式
转自:http://blog.youkuaiyun.com/annkie/article/details/48625519Xcode 77.2 beta 4: https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_7.2_beta_4/Xcode_7.2_beta_4.dmg7.1.1转载 2015-12-03 15:30:54 · 5543 阅读 · 3 评论 -
IOS7上dismissViewControllerAnimated与UIAlertView中delegate使用同一个对象
我不是个标题党,可是这函数名太长,偶也没办法。【问题】公司产品还在支持IOS6以上的系统,恰巧又遇上苹果开发人员设计的问题,正好在IOS7的设备上暴露出来了。在一个功能界面VC上,他使用了dismissViewControllerAnimated函数将此VC关闭掉。与此同时有弹出一个UIAlertView,并且delegate指向了此VC。在IOS7系统上运行时,你会发现VC被关闭原创 2015-12-17 19:08:21 · 1085 阅读 · 0 评论 -
IOS9开始如何处理转屏
【问题】使用IOS9之前的SDK,转屏会有几个函数会被响应。1.转屏前回调函数- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)durationNS_DEPRECATED_IOS原创 2015-12-17 18:35:17 · 9881 阅读 · 0 评论 -
UIButton图片设置
今天使用UiButton类创建一个图片按钮,当使用如下方法:UIButton *button = [UIButton alloc]initWithFrame:CGRectMake(0, 0, 70, 40)];UIImage *image = [self imageWithUIView:view]; [button setBackgroundImage:image forState:UIC原创 2015-02-08 19:55:32 · 13760 阅读 · 0 评论 -
关于iOS多线程
在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实际使用中感受它们的区别。还有一点需要说明的是,这篇文章将会使用 Swift 和 Objective-c 两种语言讲解,双语幼儿园。OK,let's begin!概述这篇文章中,我不会说多线程是什么、线程和进程的区别、多线程有什么用,当然我也不会说什么是串行、转载 2015-07-31 18:55:04 · 489 阅读 · 0 评论 -
NSFileHandle操作文件内容
1.读文件指定个数的内容#define FILEPATH @"/Users/test/Desktop/newfile.txt"NSFileHandle * fh = [NSFileHandle fileHandleForReadingAtPath:FILEPATH];if(nil != fh){ NSData * data = [fh readDataOfLength:5];原创 2015-08-11 13:02:39 · 1061 阅读 · 0 评论 -
NSFileManager操作文件及目录
1.遍历目录下所有文件及目录(不包含子目录下的文件)#define DIRPATH @"/Users/test/Desktop"NSError * err = nil;NSFileManager * fm = [NSFileManager defaultManager];NSArray * dirArr = [fm contentsOfDirectoryAtPath:DIRPATH e原创 2015-08-10 13:23:38 · 801 阅读 · 0 评论 -
IOS上NSDateFormatter类的setDateFormat
NSDateFormatter setDateFormat 自定義日期/時間格式 转载自:http://www.cocoachina.com/bbs/read.php?tid-5238.html转载 2015-03-04 16:29:06 · 2237 阅读 · 0 评论 -
谈谈 React Native
转载自:http://blog.devtang.com/blog/2015/02/01/talk-about-react-native/这是一篇唐巧老师写的文章,对于我这样的老码农来说真是比较受用,特此分享。前言几天前,Facebook 在 React.js Conf 2015 大会上推出了 React Native(视频链接)。我发了一条微博(地址),结果引来了转载 2015-02-08 20:16:39 · 3526 阅读 · 0 评论 -
iOS SDK:iOS调试技巧
文字转载自:http://www.cocoachina.com/ios/20130517/6225.html为什么你的数组包含3个项目而不是5个?为什么你的游戏运行缓慢?这些都跟调试有关,调试是开发过程中必不可少的一部分。本文所列举了一些重要的调试功能(当然并不全面)可以帮你用更少的时间来解决bug问题。 本文内容主要包括3个方面:使用console检查app状转载 2015-02-08 20:24:56 · 496 阅读 · 0 评论 -
向UITableViewCell中插入控件
一般向UITableViewCell中插入控件有两种方法:1)使用addSubView向cell的view中插入例:UILabel* pLab = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, 60, 60)];[cell addSubView:pLab];[pLab release];2)使用a原创 2015-01-14 16:43:50 · 2925 阅读 · 0 评论 -
关于IOS证书的个人理解
IOS开发证书有两种:开发证书(development)和产品证书(production)1.开发证书:一般使用在真机调试时使用,方便开发人员实时debug自己的程序。由于模拟器与真机有差异,所以这个证书还是很有必要的。2.产品证书:这类证书又可分为两种:AdHoc证书和Distribution证书1)AdHoc证书:可认为在发布前给用户的验收产品,所需要的证书。网上给它的原创 2015-01-15 09:03:32 · 1775 阅读 · 0 评论 -
NSStirng临时对象
问题描述:今天编程时发现一个问题,我声明了一个VC类的成员变量NSString *curRow;并在ViewDidLoad方法中,为curRow分配内存curRow = [[NSString alloc]init];在一个私有函数中为这个变量赋值,curRow = [NSString stringWithFormat:"%d", 7];在另一个私有函数中使用这个变量就崩溃了。原创 2015-02-02 17:30:30 · 599 阅读 · 0 评论 -
IOS申请真机调试详解
本文由“芳仔小脚印”编写,原文章地址:http://my.oschina.net/joanfen/blog/167730第一步:申请“开发证书”进入苹果开发者99美元账号:选择:Certificates, Identifiers & Profiles关于 Certificates,Identifiers,Profiles 的介绍请看 ”Certificates,转载 2015-01-29 16:40:24 · 548 阅读 · 0 评论 -
ios项目icon和default图片命名规则
转自:http://www.cnblogs.com/rothwell/archive/2012/05/18/2507570.html一、应用图片标准iOS控件里的图片资源,苹果已经做了相应的升级,我们需要操心的是应用自己的图片资源。就像当初为了支持iPhone 4而制作的@2x高分辨率版本(译者:以下简称高分)图片一样,我们要为iPad应用中的图片制作对应的高分版本。我知道不少开发者很转载 2015-01-29 15:30:12 · 807 阅读 · 0 评论 -
IOS保存字符串到剪贴板
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];pasteboard.string = @"Hello World!!!";原创 2015-01-27 11:24:13 · 1672 阅读 · 0 评论 -
UIButton文字设置问题
有些时候我们想让UIButton的title居左对齐,我们设置btn.textLabel.textAlignment = UITextAlignmentLeft是没有作用的,我们需要设置btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;但是问题又出来,此时文字会紧贴到做边框,我原创 2015-03-09 15:21:23 · 536 阅读 · 0 评论 -
presentViewControl视图大小控制真奇葩
问题描述:现在在做一个项目,需要使用presentViewControl函数显示一个VC,主要用于用户选择分享功能。使用ios8的sdk编译,然后运行在ipad-ios8模拟器上没问题。原创 2015-03-19 17:26:26 · 3598 阅读 · 0 评论 -
Xcode视图调试器
视图调试使用视图调试器检查您的视图层次,可以轻松地判断视图位置、大小以及实现问题。在XCode中运行你的应用程序,在调试栏上点击“调试视图层次”按钮,进入视图调试器。XCode停止你的应用程序,在调试导航栏中显示视图层次,并在主编辑器中显示一个交互式三维模型。选择显示的窗口,在主编辑器中点击任何位置,按下鼠标键进行拖拽。视图会分解成三维层次,翻译 2015-04-03 16:26:46 · 8164 阅读 · 5 评论 -
调试lldb命令常用
转自:http://blog.sina.com.cn/s/blog_6dce99b10101gwwv.htmlLLDB在xcode4.3或者之后的版本里面是默认的调试器。假如你正在使用老一点版本的xcode的话,你又GDB调试器。他们有一些基本的相同的命令,因此假如你的xcode使用的是“(gdb)”提示,而不是“(lldb)”提示的话,你也能够更随一起做,而没有问题。“po”命令是“pr转载 2015-07-14 16:55:33 · 576 阅读 · 0 评论 -
内存管理策略
内存管理策略在引用计数的环境下管理内存使用的基本模型是,通过在NSObject协议定义的方法和提供标准命名的方法。NSObject类也定义了一个方法“dealloc”,当一个对象被释放时此函数被调用。本文介绍了您需要知道的,如何正确的管理内存在一个Cocoa程序,并提供了一些正确的使用实例。基本内存管理规则内存管理模型是基于对象所有权的。任何一个对象可能会有一个或者多个所有者。只要一个翻译 2015-07-27 22:32:44 · 1283 阅读 · 0 评论 -
IOS实现单例模式的几种实现方法
1.经典方法static CUser * gUser = nil;+(id)currentUser{ if(gUser == nil) gUser = [[self.class alloc]init]; return gUser;}2.GCD方法+ (id)currentUser { static CUser *gU原创 2015-07-06 13:53:18 · 5291 阅读 · 0 评论 -
申请IOS开发企业帐号官方给予的回复
【前言】由于公司申请的开发者帐号属于个人类型,所以每次给用户测试前都需要更新配置文件,因为要添加设备的UDID。这样很麻烦,不但影响开发人员工作,还不断修改工程配置。为了解决上面的问题,公司决定申请一个苹果企业帐号。听说这个帐号发布的包,可以供任何用户测试(苹果强调公司内部使用),这可能就是申请企业帐号的最大亮点吧。在申请前上网找了很多相关文章,发现容芳志写的《Apple 企业开发原创 2015-07-03 10:44:12 · 8704 阅读 · 0 评论