iOS开发
文章平均质量分 67
qiummm
阿里测试一枚,目前主要负责淘宝iPad客户端测试。喜欢iOS,喜欢java,善于发现问题并推动解决。在测试理论、用例设计、单元测试、自动化测试、接口测试上有自己的想法并推广给其他同学。
展开
-
iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
1、UINavigationController导航控制器如何使用UINavigationController可以翻译为导航控制器,在iOS里经常用到。我们看看它的如何使用:下面的图显示了导航控制器的流程。最左侧是根视图,当用户点击其中的General项时 ,General视图会滑入屏幕;当用户继续点击Auto-Lock项时,Auto-Lock视图将滑入屏幕。相应地,在转载 2013-06-02 12:40:45 · 792 阅读 · 0 评论 -
UITabBarController 标签栏控制器-IOS开发
在 UIKit 中UITabbar 代表了标签栏,而 UITabBarController 对其进行了封装,令多个不同的视图管理与切换变的更加轻松。构建一个标签栏控制器,首先要为每个按钮准备一个单独的页。每一页都应被创建为UIViewController对象。构建一个控制器数组:你的应用程序可能有多个不同的试图控制器,来实现不同的功能。如果你在写一个音乐播放器,可能会有一些转载 2013-07-16 15:36:28 · 975 阅读 · 0 评论 -
Xcode中断点的威力
本文目录:1、添加一个特殊的断点 异常断点(Exception breakpoint) 符号断点(Symbolic breakpoint)2、打印到控制台 使用NSLog打印字符串 使用NSLog打印对象(po) 带条件的打印 在循环里面打印一些东西3、运行时设置断点4、调试中播放声转载 2013-07-02 12:50:58 · 1031 阅读 · 0 评论 -
LLVM与Clang介绍
LLVM 是 Low Level Virtual Machine 的简称,这个库提供了与编译器相关的支持,能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。简而言之,可以作为多种语言编译器的后台来使用。如果这样还比较抽象的话,介绍下 Clang 就知道了:Clang 是一个 C++ 编写、基于 LLVM、发布于 LLVM BSD 许可证下的 C/C++/Objective C/O转载 2013-08-07 11:07:27 · 1467 阅读 · 0 评论 -
iOS小常识
Objective-C和C语言一样,提供了一些标准宏,描述了当前文件,所在源码文件的行数,以及函数信息。而Objective-C本身,也提供了相关的类类型。都可以应用在调试和错误处理日志当中。预处理器在C/C++/Objective-C语言中提供的宏* __func__%s 当前函数签名* __LINE__ %d 在源代码文件中当前所在行数* __FIL转载 2013-10-17 15:59:30 · 1015 阅读 · 0 评论 -
用SSH登陆操作 IPAD
【准备阶段】 1、安装好openssh(在bigboss源里就有),如果不会安装改密码的朋友,请参考我的另一篇帖子中的openssh安装,http://bbs.weiphone.com/read-htm-tid-1923841.html。 2、电脑端下载个putty软件。(这是电脑端ssh登录终端) putty.rar (220 K) 下载次数:874 3*、安装妖七八源的m转载 2013-10-17 16:05:33 · 10055 阅读 · 0 评论 -
must register a nib or a class for the identifier or connect a prototype cell in a storyboard'的解决办法
这两天在写一个demo app,用到了tableview,涉及到了tablecell的重用,原代码如下:直接run,点击tableViewController对应的页面时,则crash,crash Log如下:Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '原创 2013-11-07 15:45:34 · 7667 阅读 · 0 评论 -
不修改projects的情况下使用reveal
reveal是一款可以查看iOS app各个元素层次结构的工具,以前的查看方法,需要将reveal的framework嵌入到iOS工程里面,如果工程代码发生变更,需要先删掉导入的framework,将工程代码pull到本地,再将reveal framework导入,非常麻烦。最近reveal对此种模式进行了改变,改进后的方法如下:So you use Reveal and you转载 2013-11-08 20:16:20 · 2165 阅读 · 1 评论 -
UIKit的类层次结构
根据iPhone官方的统计,App Store中游戏类应用是最多的,大概是其它应用总和的1 .5倍,在排行前20的应用中,游戏类应用超过14个。 iPhone窗口系统如下: ü UIKit.framwork? UIScreen? UIWindow? UIView ü Quartz转载 2013-06-02 13:23:45 · 1433 阅读 · 0 评论 -
使用Core Graphics 进行iOS绘图
Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。该框架可以用于基于路径的绘图、变换、颜色管理、脱屏渲染,模板、渐变、遮蔽、图像数据管理、图像的创建、遮罩以及PDF文档的创建、显示和分析。为了从感官上对这些概念做一个入门的认识,你可以运行一下官方的example code。 iOS转载 2014-01-10 11:22:16 · 1812 阅读 · 0 评论 -
删除UserDefault里某个object致app crash的解决过程
最近在做的项目中,需要与NSUserDefaults打交道,比如NSUserDefaults里某个值变更时,需要对其重新save,但在重新save时发生crash,crash log如下:Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFDictionar原创 2014-01-12 22:59:05 · 3372 阅读 · 0 评论 -
UITableViewCell的重用问题
最近在做的项目中,有一个场景是在搜索的列表里对单个宝贝做加入“等会看”的功能,用户点击了“等会看”的button之后,button的title变成“已加入”,但实际在调试时发现一个问题,由于每次屏幕只展示3个cell,有一个cell里的button的title变成“已加入”后,在tableview的滑动过程中,隔3个cell后的每一个cell的button对应的title都变成了“已加入”,这个问转载 2014-01-12 22:03:43 · 1152 阅读 · 0 评论 -
Objective-c中对象的Copy、MutableCopy、浅拷贝、深拷贝
对象的复制就是复制一个对象作为副本,他会开辟一块新的内存(堆内存)来存储副本对象,就像复制文件一样,即源对象和副本对象是两块不同的内存区域。对象要具备复制功能,必须实现协议或者协议,常用的可复制对象有:NSNumber、NSString、NSMutableString、NSArray、NSMutableArray、NSDictionary、NSMutableDictionarycopy:产生对转载 2014-01-12 23:03:50 · 872 阅读 · 0 评论 -
如何使用iOS开发者授权以及如何申请证书
在缴费成功后会收到一份来自Apple Developer Suport的确认邮件,如下图.在邮件里有一个Login按钮,点击后可以进入Apple Developer会员中心。点击图中的iOS Provisioning Portal,进入开发者授权设置系统。在设置界面中,可以选择点击页面下方的助手来运行向导。或者直接从左边的导航来设置,我在这篇文章会主要介绍如何通转载 2013-07-01 19:48:29 · 1023 阅读 · 0 评论 -
UITableViewController详解
UITableViewController表格视图控制器UITableViewController类继承自UIViewController类,极大地简化了创建UITableView的过程。UITableViewController负责处理表格布局,并使用一个UITableView实例对其进行填充。可设置此控制器的窗体以支持任意导航栏或工具栏。可以通过tableView实例变量访问表格视图。转载 2013-07-16 16:50:20 · 4925 阅读 · 0 评论 -
windows下的ios log工具
1.http://www.apple.com/support/iphone/enterprise/http://support.apple.com/kb/DL1466在windows系统中安装此软件,可以查看ios操作日志原创 2013-07-01 14:44:44 · 4749 阅读 · 0 评论 -
iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController
1、RootView 跳到SecondView首先我们需要新一个View。新建SecondView,按住Command键然后按N,弹出新建页面,我们新建SecondView2、为Button 添加点击事件,实现跳转在RootViewController.xib中和RootViewController.h文件建立连接在RootVie转载 2013-06-02 13:10:53 · 714 阅读 · 0 评论 -
iOS学习之UINavigationController详解与使用(三)ToolBar
1、显示Toolbar 在RootViewController.m的- (void)viewDidLoad方法中添加代码,这样Toobar就显示出来了。[cpp] view plaincopy[self.navigationController setToolbarHidden:NO animated:YES];转载 2013-06-02 13:14:57 · 896 阅读 · 0 评论 -
如何在多台机器上共享ios证书(转)
1. 下载.cer文件到别的机器。就是在IDP上的那个。2. 从发送申请文件(certificate Request,后缀名为certSigningRequest)的机器上把证书对应的private key(.p12文件)导出,密码自己定,要记住,后面导入的时候要用。3. 在你需要的机器上安装证书(.cer),导入私钥文件(.p12)。安装对应App的provisioning profil转载 2013-06-02 13:17:00 · 846 阅读 · 0 评论 -
iOS高效开发必备的10款Objective-C类库(转载)
因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活。不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.经过作者团队的慎重讨论,他们评选出了10款能够极大提高iOS开发效率的类库,根据原文作者的评价来看,基本上有了这10款工具,做iOS开发就真的跟泡Cocoa一样了。MBProgressHUD(进展指示符库)地址:https://github.com/jdg转载 2013-06-02 13:18:30 · 1038 阅读 · 0 评论 -
iOS的系统架构
1.1.1 iOS的系统架构iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。图1-1展示了Mac OS X和iOS系统架构层次的一个对比。 图1-1 Mac OS X与iOS基础架构对原创 2013-06-02 13:20:41 · 1232 阅读 · 0 评论 -
UIViewController各个方法的加载顺序
加载过程:一般情况下调用 init方法或者调用initWithNibName方法实例化UIViewController, 不管调用哪个方法都为调用initWithNibName(方法定义如下)- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil接着会调用loadVie转载 2013-06-02 13:27:44 · 850 阅读 · 0 评论 -
iOS的入门培训视频教程
比较基础的iOS入门视频教学材料,通俗易懂。转自土豆:http://www.tudou.com/plcover/ICHpDsjAHMk/原创 2013-06-02 13:28:47 · 1477 阅读 · 0 评论 -
iPhone程序包结构
当build iPhone程序时,Xcode会将它打成一个包。这个包是文件系统下的一个目录用于将相关资源放到一起。一个iPhone程序包包括可执行程序和程序使用的各种资源(例如程序图标、其他图片和本地化资源等)。下面我们逐个看一下iPhone程序包里到底有什么? MyApp 盛放程序代码的可执行文件。此文件的名称与工程的名称相同。这个文件是必须的。 Settings.bundl转载 2013-06-25 13:25:56 · 741 阅读 · 0 评论 -
使用Settings Bundle为程序添加设置项
Settings Bundle是在自己的程序中建立的一组文件,利用它可以告诉设备中的Settings程序我们写的程序有哪些设置项。用户在Settings程序中设置好相关相关选项后回到我们自己的程序,自己的程序中的对应项也会发生相应的变化。在iOS程序中,用户默认项,即上面所说的设置项,是用NSUserDefaults类实现的。在NSUserDefaults类中使用关键字来读取和存储设置项的转载 2013-06-25 14:11:44 · 700 阅读 · 0 评论 -
iOS程序crash原因排查
1、ios应用crash的四种类型程序崩溃: 可能是最常见的,经常发生于内存访问出错,异常,或者其他的程序错误内存不足: 系统因为没有足够的内存满足程序需求从而杀死程序出现这种日志.它不同于其他日志的是它没有程序各线程的堆栈信息. Rather than be concerned about what part of your code was executin转载 2013-07-11 20:59:40 · 2233 阅读 · 0 评论 -
iOS程序生命周期
为了处理好应用程序的挂起、暂停等情况下的数据保存,或对应添加所需处理,我们必须了解ios生命周期。但是不要去背去记,做个实验就好。12345678910111213141516171819转载 2013-07-12 12:21:50 · 792 阅读 · 0 评论 -
UIViewController加载与销毁
view有两个重要circle加载view(属性) 每一个UIViewController都会有property,叫“view”,这是default的,在UIViewController初始化后,当程序某部分访问view时,这时如果view是没有在内存中存在,view controller会调用loadView方法。loadView 只有在你在代码中创建实现转载 2013-07-16 11:46:41 · 4005 阅读 · 0 评论 -
深入浅出学习cocoapods
最近工程项目开始3.0大版本,使用cocoapods来管理依赖。今天学习了cocoapods的原理和使用方式,从我自己学习和理解的经验来看,从以下的先后顺序来阅读比较清楚。一、cocoapods安装和使用教程CocoaPods是什么?当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,转载 2014-01-07 11:54:06 · 3022 阅读 · 0 评论