随笔分类 - iOS开发
1
个人iOS开发经验分享
摘要:iOS7推出的NSURLSession简化了NSURLConnection的文件上传和下载的工作,本文记录如何配置WebDAV服务以支持PUT方式的文件上传。一. 配置WebDAV服务器1. 修改httpd.conf1> 打开终端,依次输入:cd /etc/apache2/sudo vi httpd.conf2> 在vi中输入/httpd-dav.conf查找httpd-dav.conf3> 将该行最前面的 # 注释删除4> 保存并退出输入:wq2. 修改httpd-dav.conf1> 在终端中依次输入:cd /etc/apache2/extrasudo vi
阅读全文
摘要:CocoaLumberjack可以带颜色Log,具体的好处嘛,谁用谁知道,:]具体步骤如下:1. 安装XcodeColors插件下载地址:https://github.com/robbiehanson/XcodeColors安装方法:下载并解压缩XcodeColors-master.zip打开XcodeColors项目,编译项目可以自动将插件安装至~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin重新启动Xcode再次打开XcodeColors项目运行TestXcodeColors
阅读全文
摘要:1. 简介CocoaPods是一个负责管理iOS项目中第三方开源代码的工具,其源码在Github上开源。使用CocoaPods可以节省设置和更新第三方开源库的时间并提高工作效率。2. CocoaPods的安装和使用2.1 安装在终端中依次输入以下两条命令:sudo gem install cocoa...
阅读全文
摘要:开始之前,首先回顾一下iOS7初体验(1)——第一个应用程序HelloWorld中的一张图,如下所示:本文便分享一下Images.xcassets的体验~_~1. 打开此前使用过的HelloWorld项目,然后单击并打开导航区域中的Images.xcassets,看看都有些什么东东:]:2. 在图中可以看到中间位置有两个虚线框,感觉应该可以直接拖文件进来。OK,那就先准备一下资源文件,如下图所示:说明:为方便起见,除Icon7.png之外,其他图标的文件名均沿袭了以往iOS图标的命名规则。3. 将Icon-Small@2x.png拖拽到第一个虚线框中,将Icon7.png拖拽到第二个虚线框中,
阅读全文
摘要:在Xcode 4.6及以前的版本,一直觉得单元测试这部分功能做得很鸡肋,用起来感觉很别扭。这一次Xcode 5.0默认就引入了单元测试,赶快来看看看相比以前的版本有什么提升吧!~_~1. 首先打开上一节示例用的项目,当然,您也可以新建一个空白的项目;2. 先看一下导航区域的工具栏,相比4.6有哪些变化,如下图所示:不难发现,相比Xcode 4.6多了一个Show the Test Navigator(显示测试导航器)的按钮;3. 按command+U运行单元测试……稍等几秒之后,可以在Issue Navigator(问题导航器)中看到与4.6类似的提示,如下图所示:4. 单击Show the
阅读全文
摘要:iOS7 Beta已经发布了,迫不及待地下载了iOS 7及Xcode 5并体验了一下。先做一个简单的Hello World看看都有哪些变化吧。1. 启动Xcode5-DP;2. 从菜单选择File-New Project...,弹出如下窗口:注意,在此多了一个SpriteKit Game的模板,暂时先不管它,还是选择熟悉的Single View Application,然后单击Next按钮;3. 在接下来的对话框的Product Name输入框中输入:HelloWorld,如下图所示:备注:相比较Xcode 4.6版本,新建项目选项中没有了Use Storyboards(使用故事板)、Use
阅读全文
摘要:键值观察提供了一个机制,允许当其他对象的特定属性被修改时通知观察者对象。这一机制在应用程序的模型和控制器之间的通讯方面尤其有用。通常情况下,控制器对象观察模型对象的属性,而视图对象通过控制器观察模型对象的属性。此外,一个模型对象也可以观察其他模型对象。要接收一个属性的键值观察通知,需要:被观察对象调用addObserver:forKeyPath:options:context:方法注册观察者对象;观察类必须实现observeValueForKeyPath:ofObject:change:context:方法。示例1. 新建一个Single View Application,并启用ARC;2.
阅读全文
摘要:原文地址:http://www.raywenderlich.com/28602/intro-to-box2d-with-cocos2d-2-x-tutorial-bouncing-balls译文更新:2013-04-27更新内容:将body统一译为刚体将fixture统一译为夹具更新日期:2013-01-09更新内容:完全更新至Cocos2D 2.1-beta4教程作者:Ray Wenderlich教程更新:Brian Broom本教程通过演示一个简单应用程序的创建过程,帮助您在Cocos2D中使用Box2D。该应用程序显示一个小球,旋转iPhone利用加速器能够让小球在屏幕上弹来弹去。游戏截
阅读全文
摘要:原文地址:http://www.raywenderlich.com/25736/how-to-make-a-simple-iphone-game-with-cocos2d-2-x-tutorialRay要说:经过一周的投票表决,大家希望我将此套Cocos2D经典入门系列教程从Cocos2D 1.X升级至Cocos2D 2.X,大家的愿望就是对我的命令!:]现在,此套系列教程已经完全升级至Cocos2D 2.X和Xcode 4.5,同时作了大量的改进,例如Retina显示屏以及对iPhone 5的4英寸屏幕支持。点击链接可以访问以前Cocos2D 1.X版本的教程,如果您需要的话!Cocos2D
阅读全文
摘要:使用平台Xcode4.6.1+cocos2d 2.0。一. 安装从http://www.cocos2d-iphone.org/download下载并解压缩最新版本的cocos2d,默认情况下会保存在 /Users/XXX/Downloads/cocos2d-iphone-2.0文件夹;打开终端,输入:./Downloads/cocos2d-iphone-2.0/install-templates.sh -f 安装cocos2d的模板;提示:如果在安装过程中提示拒绝权限,可以打开Finder,按SHIFT+COMMAND+G,然后输入~/Library/Developer/Xcode,删除Tem
阅读全文
摘要:对于以前做C#或者JAVA开发的朋友而言,初次接触iOS开发,Obj-C的函数命名方式可能会感觉非常不习惯。尤其是打开AppDelegate.m,映入眼帘的代码竟然是:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ // Override point for customization after application launch. return YES;}不知道会不会有朋友和我当初同样的感觉——天啊,这也太...
阅读全文
摘要:在开发过程中,我们经常会使用NSLog用于跟踪调试,不过在发布的产品可能并不希望这些调试代码被运行。这里有一个小技巧分享一下。在编写代码时可以使用如下方式:#ifdef DEBUG // Debug 模式的代码...#else // Release 模式的代码...#endif其中的DEBUG是在Xcode默认的工程中已经定义好的,也可以根据自己的实际情况添加其他常量定义。在Xcode中,选择导航区域左侧顶端的根节点,然后选择Project/Build Settings,在搜索框中输入DEBUG,可以看到该定义,如下图所示:如果要测试在不同模式下代码的运行效果,可以选择Produc...
阅读全文
摘要:安装cocos2d的模板可能会遇到Permission denied的问题,使用sudo又提示不支持root权限。按照以下步骤可以解决这一问题。从www.cocos2d-iphone.org/download下载最新版本的cocos2d的程序包并解压缩;如果以前没有安装过cocos2d,需要没有打开Finder,从菜单中选择“前往”“前往文件夹”,或者按Shift+Command+G;在弹出的窗口中输入:/Users/XXX/Library/Developer/Xcode,其中XXX是你的用户名;删除其中的Templates文件夹,然后再重新创建一个同名的Templates文件夹;说明:删除文
阅读全文
摘要:首先向大家致歉,自从上一篇使用 UITableView 创建表格应用演练(3)——使用区段分类显示表格数据博文发布后,因工作原因始终未能抽出时间更新博客。今天给大家介绍一下如何在表格应用中使用自定义单元格以及选中单元格的一个简单操作。本文目标本文以上一篇为基础,对应用进行扩展,介绍以下内容:在表格应用中自定义单元格布局显示;选中某一单元格,并在Safari中打开用户链接地址;一. 自定义单元格演练首先我们回顾一下前文,在演练(2)中,我们定义数据结构时,定义了一个名为:Favorite的属性,用于表示我们对该微博账户的喜好程度。本节演练中,我们就通过自定义单元格的方式,在表格中以五角星的形式显
阅读全文
摘要:上一篇使用 UITableView 创建表格应用演练(2)——从plist文件加载并显示数据"完成后,“微博关注人”这个应用虽然距离最终的完成还有不小的距离,但从视觉上已经比演练(1)完成时有了不小的改进。:]细心的朋友们在上次演练中已经发现,我们定义的数据结构中,有一个名为“类别”的字段,这个字段的设置主要用于帮助我们更好地管理我们的关注对象。本文演练仅仅涉及一个问题,就是如何按照“类别”在表格中分区段显示数据。本此演练之后,相信您会对iOS中的数组(NSMutableArray)和plist文件的使用也会有一个新的理解。一. 开始之前开始之前,我们需要简单回顾一下上一次的一些内容
阅读全文
摘要:上一篇使用UITableView创建表格应用演练(1)介绍了一个非常简单的表格加载和显示的演练。有的朋友可能会说,这也说的忒简单了,能不能来点复杂的?别着急,做为程序员,要记住:无论多么复杂的应用都是由简单的应用演化而成的。本文目标本文以上一篇为基础,对应用进行扩展,介绍以下内容:1. 数据结构定义;2. 从plist文件加载并显示数据;3. 在表格中显示头像并调整表格样式;4. 使用数据模型。一. 数据结构定义在上一篇演练中,使用NSArray定义了一个数组提供表格内容,但是在实际应用中,这种功能远远不能满足实际使用需求。前文中,我们提到要做一个维护“微博关注人”的应用。那么对于关注人,一个
阅读全文
摘要:在很多iOS应用中都有UITableView控件的身影。让我们的系列教程也从UITableView开始吧。目标任何一个伟大的iOS应用都源自一个伟大的构想。虽然我们只是再做演练,但演练也同样需要一个伟大的构想!这样我们会产生更加浓烈的兴趣,目标更加明确,同时不会纠结于具体的细节之中。提示:细节是在不断重复中逐渐掌握的,过早的进入细节很容易让人迷失方向。现在用微博的人越来越多,假设我们需要一个管理“微博关注人”的列表这么一个应用,能够帮助我维护微博关注人的信息。怎么样?对于一个iOS初学者,这么一个假设应该已经足够大了吧。:]那么我们就开始动手吧。一. 创建应用创建应用的方法,可以参见前两天写的
阅读全文
摘要:一个好的应用程序图标,不仅会给用户留下良好的第一印象,而且可以帮助用户在茫茫多的桌面图标中,快速发现你的应用程序。本文将介绍如何把已经设计好的图标以及启动图片添加到我们的应用程序。大纲图标的规格及说明;启动图片规格及说明;添加素材演练;设定启动图片显示时间。一. 图标规格及说明iOS中图标的名称及规格见下表:序号文件名规格说明备注1iTunesArtwork512 * 512发布到App Store时使用可选2Icon.png57 * 57iPhone/iPod的主屏幕图标必须提供3Icon@2x.png114 * 114iPhone 4的主屏幕图标可选4Icon-72.png72 * 72i
阅读全文
摘要:其实在网上已经有不少人写过类似的教程,但是Xcode本身升级比较快,网上的一些入门教程还是基于Xcode 3的。工作之余花点时间整理了一个简单的教程,希望对准备投身加入iOS开发行列的程序员朋友有所帮助。很多开发软件的教程开篇第一个例子通常都是Hello world。有人戏称这是一个程序员魔咒“从Hello world开始能够让你快速地掌握一门语言”嘿嘿。那么也让我们从Hello world开始iOS开发之旅吧。:]本篇文章仅供第一次接触iOS开发的程序员参考使用,你会发现,iOS的开发是如此的简单!目标本文将阐述以下内容:熟悉iOS IDE集成环境;创建第一个项目;整理项目结构;增加Hell
阅读全文
摘要:近两年,越来越多的程序员已经或者正在准备投身到iOS的开发队伍中,如果你已经是一个iOS的程序员可以跳过此篇文章,如果你正在考虑投身到iOS的开发上来,不妨用一分钟时间扫一下,大概了解一下做iOS开发之前需要做哪些准备工作。第一,准备一台能够运行Mac OS Lion的机器,MacBook Pro、Mac mini、iMac、Mac Pro甚至MacBook Air都可以。尽管你可以装一台黑苹果在PC上开始自己的开发之旅,不过还是强烈建议拥有一台属于自己的Mac!从某种意义上来讲,Mac不仅仅是一台机器,它还是一个艺术品,只有体会到Mac带给你的美,你才会从心里想要开发出一个相对完美的作品与世
阅读全文
1