随笔分类 -  ios

摘要:北京时间10月12日下午消息,据美国科技博客BusinessInsider报道,在今年9月推出iOS 6后,苹果开始通过一项名为IFA或IDFA的新技术追踪用户,发布精准广告。在此之前,广告主原本可以借助UDID识别码追踪iPhone用户,但苹果后来禁用了这一技术。但多名移动广告行业高管透露,通过IFA技术,iOS 6对用户的追踪效果将会加强。IFA是“identifier for advertisers”(广告主识别码)的简写,会随机将匿名号码分配给用户及他们的设备。但与cookie一样,这种技术只是暂时的,而且可以关闭。当用户浏览应用或网络时,内容提供商便会将IFA传送给广告服务器,这样一 阅读全文
posted @ 2012-11-15 09:30 516inc 阅读(245) 评论(0) 推荐(0)
摘要:在实际的项目中,IPhone应用程序会存在很多与服务器之间的数据交互的地方,XML是首选方案。此包可以解决XML文件的解析、对象转化为XML字符串的问题。1 通过调用解析类,可以将XML的DATA数据转换为XmlNode对象,XmlNode以树形结构进行XML的数据封装,使用的时候按照树形结构进行数据的获取。XmlNode结构如下:01 @ interface XmlNode : NSObject {0203 }04 @property(nonatomic,retain)NSMutableDictionary *attributes;//属性05 @property(nonatomic,ret 阅读全文
posted @ 2012-11-08 15:53 516inc 阅读(338) 评论(0) 推荐(0)
摘要:ABAddressBookRef addressBook = ABAddressBookCreate(); CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook); for(int i = 0; i < CFArrayGetCount(results); i++) { ABRecordRef person = CFArrayGetValueAtIndex(results, i); //读取firstname NSString *personName = (... 阅读全文
posted @ 2012-11-05 16:27 516inc 阅读(161) 评论(0) 推荐(0)
摘要:在IOS应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在iOS设备中加一个缓存的机制。这篇文章将介绍一下如何在iOS设备中进行缓存,本文先介绍一下将内容缓存到内存中,下一篇文章就介绍一下在iOS磁盘上缓存内容。使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。内存缓存我们可以使用sdk中的NSURLCache类。NSURLRequest需要一个缓存参数来说明它请求的url何如缓存数据的,我们先看下它的CachePolicy类型。1、NSURLRequestUseP 阅读全文
posted @ 2012-10-25 09:52 516inc 阅读(542) 评论(0) 推荐(0)
摘要:通过代码块(block)功能,你就能像对待对象一般,指定要在方法和函数中传递任意代码部分。代码块的声明:int main (int argc, const char * argv[]) {@autoreleasepool {void (^myBlock) (NSString *x);//声明变量/* 代码块是存储在一个变量中,并且需要参数和声明的返回类型。返回类型:(本类是void)声明代码块的返回值类型的位置所声明变量的类型定义在同一个地方。在代码块声明中声明的值类型就是代码块执行时的返回值类型。特殊字符^:它告诉编译器所定义的时代码块而不是其他类型的变量。变量名:(这里时myBlock). 阅读全文
posted @ 2012-10-24 12:33 516inc 阅读(225) 评论(1) 推荐(0)
摘要:一、获取系统所支持的国际化信息在国际化之前,你可以在iphone中的”设置->通用->多语言环境->语言”中来查看你的iphone支持哪些语言,当然也可以写一段代码测试一下你的iphone都支持哪些语言.测试代码如下:NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSArray *languages = [defaults objectForKey:@"AppleLanguages"]; NSLog(@”%@”, languages);注:NSUserDefaults类用 阅读全文
posted @ 2012-10-17 10:00 516inc 阅读(143) 评论(0) 推荐(0)
摘要:苹果每发布一个系统,都够开发者忙活一阵的,更新xcode适配新系统:像iOS4支持Retain需要@2x的图;像iOS5不支持udid;像现在的iOS6和iPhone5要面对的下面的一堆问题。1.添加Retina 4 launch image,运行工程的时候会主动提示你。这时候直接点Add就好了。会默认添加一张Default-568h@2x.png的黑图:不添加的话,程序运行起来会上下有黑边儿的哟添加完以后的效果这个地方再啰嗦两句:当透明第一次在群里说要添加这么一张图的时候,我的第一反应是:那不是程序启动的时候会有一张黑图么?而我的程序是不需要启动图的。而当自已添加这张图的时候才发现,这个担心 阅读全文
posted @ 2012-09-27 10:46 516inc 阅读(212) 评论(0) 推荐(0)
摘要:iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。每个程序都会有它自己的沙盒,通过它你可以阅读/编写文件。写入沙盒的文件在程序的进程中将会保持稳定,即便实在程序更新的情况下。如下所示,你可以在沙盒中定位文件目录://对于错误信息NSError*error;//创建文件管理器NSFileManager*fi 阅读全文
posted @ 2012-09-26 15:32 516inc 阅读(298) 评论(0) 推荐(0)
摘要:很多已经熟悉C/C++的朋友在初次使用Objective-C作为开发语言时不是很习惯,不过objective-C/C++本身又是几乎完全兼容GNU C/C++的。这里作为一个代码实例来描述Objective-C与objective-C++如何混合使用。其实这就同C与C++如何混用一样,还是非常容易上手的。不 过,为了能够更好地看清这一混合优势。项目中使用了objective-C/C++一个非常强大的语法——Category(类别,或范畴)对原有的类 Sample进行扩展,衍生出一个accumulateValue这个成员方法。这个方法的实现放在一个.mm文件中(.m文件表示objective- 阅读全文
posted @ 2012-09-26 08:26 516inc 阅读(240) 评论(0) 推荐(0)
摘要:《iPhone与iPad开发实战--iOS经典应用剖析》第2章Objective-C语言基础,通过本章的学习,读者可以了解Objective-C基本语法,包括:数据类型、表达式,还有类、对象等概念。本节为Objective-C概述。第2章 Objective-C语言基础iOS的项目中主要采用Objective-C语言编写,因此在开始讲解具体项目之前,本章将介绍Objective-C语言基础。本章重点如下:Objective-C与iOS开发数据类型和表达式类、对象和方法继承与多态分类与协议内存管理Foundation框架2.1 Objective-C概述Objective-C是一种面向对象的计算 阅读全文
posted @ 2012-06-21 16:00 516inc 阅读(208) 评论(0) 推荐(0)
摘要:3.3.4主视图代码在本应用中主视图中使用的视图是MainView,事实上在很多应用中我们不用为视图控制器自定义一个视图类的而是直接使用UIView基类就可以了。由于本应用是按照旧版本的Xcode模板编写的,我们还是按照旧版本介绍吧。在Cocoa MVC设计模式中,视图中的控件在视图控制器或者视图中都要有对应的控件变量,没有自定义视图类的时候,这些控件变量是在视图控制器中定义的,有了自定义视图类后,这些控件变量可以在视图类中定义,本应用就是这样子的。主视图类是MainView,它的h文件定义请参考“代码清单3-3Password/Classes/MainView.h”所示。【代码清单3-1】 阅读全文
posted @ 2012-06-12 10:27 516inc 阅读(317) 评论(0) 推荐(0)
摘要:3.3.3 主视图UI 主视图如图3-36所示是MainView(主视图)设计窗口,我们一步一步介绍一下如何实现该视图设计和编程。 图3-36 MainView视图设计窗口主视图中的控件进行了编号,视图中的控件内容见表3-7所示。表3-7MainView视图中的控件编号控件项目控件类型1密码长度标签UILabel2密码长度文本框UITextField3否显示发音标签UILabel4否显示发音开关UISwitch5包括小写标签UILabel6包括小写开关UISwitch7包括大写标签UILabel8包括大写开关UISwitch9包括数字标签UILabel10包括数字开关UISwitch11包.. 阅读全文
posted @ 2012-06-08 14:09 516inc 阅读(308) 评论(0) 推荐(0)
摘要:RootViewController的h文件编写完成我们接着编写RootViewController的m文件如“代码清单3-2 Password/Classes/RootViewController.m”所示。【代码清单3-1】 Password/Classes/RootViewController.m 1 #import "RootViewController.h" 2 #import "MainViewController.h" 3 #import "FlipsideViewController.h" 4 5 6 @impleme 阅读全文
posted @ 2012-06-03 17:44 516inc 阅读(464) 评论(0) 推荐(0)
摘要:3.3.2 视图翻转动画点击主视图右下角的按钮,主视图会翻转到背后视图,在背后视图点击Done按钮可以返回到主视图。在iOS中这是一种视图跳转的方式,同时还伴有动画效果。在本应用中采用的是,通过一个根控制器(控制其它控制器的控制器)RootViewController,来控制主视图控制器(MainViewController)和背后视图控制器(FlipsideViewController)。本应用是通过MainWindow.xib文件加载RootViewController控制器,然后在RootViewController控制器中创建一个MainViewController和FlipsideV 阅读全文
posted @ 2012-05-30 15:08 516inc 阅读(372) 评论(0) 推荐(0)
摘要:3.3 应用实战与讲解这一节我们将实际编写这个应用,边做边讲解的方式。按照搭建应用骨架、视图翻转动画、主视图UI和代码、主视图控制器代码、背后视图UI和代码、背后视图控制器,这样的顺序编写和讲解。3.3.1 构建应用骨架在本书采用Xcode3.2工具中提供了一个编写实用型应用程序的模板,图3-11是Xcode3.2的模板,其中Utility Application选项就是创建实用型应用程序。 图3-11 实用型应用模板但是遗憾的是本应用的原作者代码,没有采用Xcode3.2模板,我们比较一下它们的不同,使用Xcode3.2生成的类图如图3-12所示。 图3-12Xcode3.2生成的类为了尊 阅读全文
posted @ 2012-05-27 17:19 516inc 阅读(355) 评论(0) 推荐(0)
摘要:3.2 应用剖析这一节我们从应用的类图如入手,了解应用中有哪些类,以及这个类中的方法、成员变量和属性。nib文件有哪些。还会介绍MVC设计模式等。3.2.1核心类图在该应用中涉及到9个类,1个协议如图3-8所示。图3-8 核心类图在类图其中有3个是Cocoa Touch提供的基类,即:UIViewController、UIView和NSObject,其它的6个类由我们编写。还有1个协议UIApplicationDelegate。这些类和协议的作用如表3-1所示:表3-1类和协议表类名或协议作用备注UIViewController视图控制器基类基类UIView视图基类基类NSObjectObj. 阅读全文
posted @ 2012-05-25 15:10 516inc 阅读(276) 评论(0) 推荐(0)
摘要:第3章 工具类应用开发实战--密码生成应用3.1 应用介绍密码生成(Amuck Password Generator)应用App Store下载网址http://itunes.apple.com/app/amuck-password-generator/id289301501?mt=8#,源代码下载地址http://www.appsamuck.com/day29.html。该应用是为用户提供一个密码生成工具,在我们现代生活中密码设置随处可见,密码生成(Amuck Password Generator)能够帮助我们产生密码,它包含:小写字母、大写字母、数字和标点符号组合随机产生密码,具有很高的. 阅读全文
posted @ 2012-05-25 15:09 516inc 阅读(374) 评论(0) 推荐(1)
摘要:关老师的作品:《iPhone与iPad开发实战—iOS经典应用剖析》一书正式发售;(请到书店、淘宝、当当网等进行购买) 首先给出书籍源码下载地址,然后再对书籍进行一个详细的介绍!《iPhone与iPad开发实战—iOS经典应用剖析》书籍源码下载地址(免费下载): http://download.csdn.net/detail/tonny_guan/4272389试读样章第三章下载地址 http://download.csdn.net/detail/tonny_guan/4288972 可以通过微博在线沟通 读书交流群:204462948 腾讯微博:http://t.qq.com/a_lit.. 阅读全文
posted @ 2012-05-12 11:03 516inc 阅读(895) 评论(0) 推荐(0)
摘要:使用github管理Eclipse分布式项目开发老关我在前面的博文(github管理iOS分布式项目开发)中介绍了github管理iOS分布式开发,今天老关将向大家介绍使用github管 理Eclipse分布式项目。事实上我们的516inc团队这在开发一个多移动平台项目,除了iOS平台还有Android和Window Phone 7平台,使用github管理我们Android项目,其实就是配置和使用Eclipse。下面我根据我们的经验总结一些心得如下:1.Eclipse中下载安装Egit插件;2.创建代码仓库;3.在Eclipse中使用Egit插件Eclipse中下载安装Egit插件打开Ecl 阅读全文
posted @ 2012-04-05 11:19 516inc 阅读(1820) 评论(2) 推荐(0)
摘要:使用github管理iOS分布式项目开发在我们iOS项目开发过程中, 我们的团队成员都是分散的、分布式,这个项目管理带来了挑战。Git是一个能够进行版本管理的软件,它是cvs和svn的未来。下面我根据我们的经验总结一些心得如下:1、创建github账户2、创建代码仓库3、在xcode中添加项目到github4、创建组织和团队5、其他队员clone项目创建github账户你是可以根据自己的需要搭建git服务器,当然也可以使用github(https://github.com/)开源社区提供服务器,在这里可以 有免费300M的空间使用,但是项目只能是共有的,如果是私有项目需要付费。进入https: 阅读全文
posted @ 2012-03-28 16:20 516inc 阅读(4243) 评论(0) 推荐(1)