<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>王超 - 博客 BLOG &#187; iphone Mac 手机应用开发</title>
	<atom:link href="http://www.wangchao123.com/category/iphone-mac-%e5%bc%80%e5%8f%91/feed" rel="self" type="application/rss+xml" />
	<link>http://www.wangchao123.com</link>
	<description>code player 海盗精神 - 他们向往自由，面对大海胸怀宽广，只拿他们想要的，遵守契约，单纯而且机智。</description>
	<lastBuildDate>Tue, 07 Feb 2012 10:05:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>基于Xcode4开发第一个iPhone程序：“Hello World” (转 自 宝玉博客)</title>
		<link>http://www.wangchao123.com/2011/05/12/686</link>
		<comments>http://www.wangchao123.com/2011/05/12/686#comments</comments>
		<pubDate>Thu, 12 May 2011 05:43:40 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[iphone Mac 手机应用开发]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[手机]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/?p=686</guid>
		<description><![CDATA[转自: http://www.cnblogs.com/dotey/archive/2011/05/12/2043939.html 基于Xcode4开发第一个iPhone程序：“Hello World” 项目要求 写一个iPhone程序，在屏幕正中显示文字“Hello Word”，粗体，字体大小26磅，字体颜色红色，有黑色阴影，阴影光源为左上角，偏移1像素，支持设备旋转。 需求分析 在开始之前，我们首先来分析一下项目需求，这是一个非常简单的项目，只要在屏幕上显示一段“Hello World”的文字，当然还有一些附加条件： 对字体、字体颜色、字体大小有要求，有阴影效果 要求文字显示在屏幕正中 支持设备旋转，并且无论设备如何旋转，文字都还是显示在屏幕正中 根据这些需求，我们将从简单到复杂，逐步来实现，分成2步来实现： 在屏幕上显示文字，设置字体和字体大小，让文字显示在屏幕正中心 支持设备旋转，并且保证旋转后文字还是居中状态 产品设计 iPhone4之前的屏幕是320&#215;480，到iPhone4的时候，支持了高清屏，屏幕分辨率变成了640&#215;960。iPhone支持四个方向的旋转的，横屏和竖屏表现略有差异，因为项目需求要求支持屏幕旋转，所以针对横屏和竖屏，界面表现有所差异，简单画一下原型设计图如下： 系统分析和设计 如果我们还没iOS下的开发经验，那么首先需要去查阅一些相关资料，让我们知道如何来开发一个iphone程序。苹果为iOS的开发者提供了一个非常详细和全面的网站：“iOS Developer Center”，网址：http://developer.apple.com/ios。在iOS Dev Center，有所有iOS SDK的类文档、入门文档、各种开发指南、示例代码库等，开发iOS平台的项目，免不了要经常上来查阅一些相关资料。不过比较遗憾的是，目前iOS Dev Center的文档和资料还是英文为主，中文资料较少，对于英文阅读不好的同学是一个考验。 现在，我们从技术角度来分析一下如何实现项目需求。同样一个项目，无疑是有很多种技术方案来实现的，所以我们有必要定一个原则，来帮助我们选择合适的方案，这个原则就是简单实用原则：“我们尽可能采用简单并且实用的技术方案，避免使用复杂的技术方案，把时间和精力浪费在一些华而不实的技巧上面”，本着这个原则，我们来开始对项目需求进行技术方案的选择： 在屏幕上显示特定字体和大小的文字 要在屏幕上显示特定字体和大小的文字，我们需要先看看iOS SDK中是否已经提供了简单实用的方式来显示文字，在iOS Dev Center中，有一篇文章“iOS Human Interface Guidelines”，专门讲解了iOS中用户界面相关的知识，从中我们可以系统的了解iOS的界面构成，各种基本界面元素，并且根据其中的说明，可以找到UILabel控件是最适合我们项目需求的控件，当然也有复杂的技术方案，就是采用在界面上自画的方式，根据简单实用原则，我们就使用UILabel这种iOS自带控件就可以了。 在开始使用UILabel之前，我们需要先来学习了解一下UILabel控件，想要了解UILabel控件的功能，在iOS Dev Center中，找到“UILabel Class Reference”，从中我们可以看到UILabel的介绍和所有属性、方法等详细的说明文档。 文档相当全面，不过对于我们来说，关键还是要去获取项目相关的资料，从文档中，我们可以逐一找到我们显示文字需要的相关属性： text: Label显示的文字，类型为NSString类，也就是本项目需求中要显示的“Hello World”。 textAlignment: 文字在Label内的对其方式，类型为UITextAlignment枚举，在本项目需求中，要求文字在屏幕正中显示，对应的属性值为UITextAlignmentCenter。 font: 文字的字体和大小，类型为UIFont类，也就是本项目需求中要求的：“字体为粗体，字体大小26磅”，对应代码为：[UIFontboldSystemFontOfSize:26]。 textColor: 文字的颜色，类型为UIColor类，也就是本项目需求中要求的：“字体颜色红色”，对应代码为：[UIColor redColor]。 shadowColor: Label文字的阴影颜色，类型为UIColor类，也就是本项目需求中要求的：“有黑色阴影”，对应代码为：[UIColorblackColor]。 shadowOffset: [...]]]></description>
			<content:encoded><![CDATA[<div style="padding-left: 70px; padding-right: 40px; font-size: 10pt; line-height: 19px;">
<h2 style="margin-top: 10px; font-size: 1em;"></h2>
<h2 style="margin-top: 10px; font-size: 1em;">转自: <a href="http://www.cnblogs.com/dotey/archive/2011/05/12/2043939.html">http://www.cnblogs.com/dotey/archive/2011/05/12/2043939.html</a></h2>
<h2 style="margin-top: 10px; font-size: 1em;"><a id="ctl02_TitleUrl" style="color: #0066aa; text-decoration: none;" href="http://www.cnblogs.com/dotey/archive/2011/05/12/2043939.html">基于Xcode4开发第一个iPhone程序：“Hello World”</a></h2>
<div style="font-size: 10pt; line-height: 19px;">
<div id="cnblogs_post_body">
<h2 style="margin-top: 10px; font-size: 1em;">项目要求</h2>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">写一个iPhone程序，在屏幕正中显示文字“Hello Word”，粗体，字体大小26磅，字体颜色红色，有黑色阴影，阴影光源为左上角，偏移1像素，支持设备旋转。</p>
<h2 style="margin-top: 10px; font-size: 1em;">需求分析</h2>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">在开始之前，我们首先来分析一下项目需求，这是一个非常简单的项目，只要在屏幕上显示一段“Hello World”的文字，当然还有一些附加条件：</p>
<ul>
<li>对字体、字体颜色、字体大小有要求，有阴影效果</li>
<li>要求文字显示在屏幕正中</li>
<li>支持设备旋转，并且无论设备如何旋转，文字都还是显示在屏幕正中</li>
</ul>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">根据这些需求，我们将从简单到复杂，逐步来实现，分成2步来实现：</p>
<ol style="margin-left: 2em;">
<li style="list-style-type: decimal;">在屏幕上显示文字，设置字体和字体大小，让文字显示在屏幕正中心</li>
<li style="list-style-type: decimal;">支持设备旋转，并且保证旋转后文字还是居中状态</li>
</ol>
<h2 style="margin-top: 10px; font-size: 1em;">产品设计</h2>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">iPhone4之前的屏幕是320&#215;480，到iPhone4的时候，支持了高清屏，屏幕分辨率变成了640&#215;960。iPhone支持四个方向的旋转的，横屏和竖屏表现略有差异，因为项目需求要求支持屏幕旋转，所以针对横屏和竖屏，界面表现有所差异，简单画一下原型设计图如下：</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">
<a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120242026761.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134341k4b.jpg" alt="201105120238.jpg" width="246" height="478" /></a> <a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120241563485.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134341olJ.jpg" alt="201105120238.jpg" width="480" height="246" /></a></p>
<h2 style="margin-top: 10px; font-size: 1em;">系统分析和设计</h2>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">如果我们还没iOS下的开发经验，那么首先需要去查阅一些相关资料，让我们知道如何来开发一个iphone程序。苹果为iOS的开发者提供了一个非常详细和全面的网站：“iOS Developer Center”，网址：<a style="color: #0066aa; text-decoration: none;" href="http://developer.apple.com/devcenter/ios/index.action">http://developer.apple.com/ios</a>。在iOS Dev Center，有所有iOS SDK的类文档、入门文档、各种开发指南、示例代码库等，开发iOS平台的项目，免不了要经常上来查阅一些相关资料。不过比较遗憾的是，目前iOS Dev Center的文档和资料还是英文为主，中文资料较少，对于英文阅读不好的同学是一个考验。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120242121310.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/13434303h.jpg" alt="201105111713.jpg" width="640" height="506" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">现在，我们从技术角度来分析一下如何实现项目需求。同样一个项目，无疑是有很多种技术方案来实现的，所以我们有必要定一个原则，来帮助我们选择合适的方案，这个原则就是简单实用原则：“我们尽可能采用简单并且实用的技术方案，避免使用复杂的技术方案，把时间和精力浪费在一些华而不实的技巧上面”，本着这个原则，我们来开始对项目需求进行技术方案的选择：</p>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">在屏幕上显示特定字体和大小的文字</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">要在屏幕上显示特定字体和大小的文字，我们需要先看看iOS SDK中是否已经提供了简单实用的方式来显示文字，在iOS Dev Center中，有一篇文章“<a style="color: #0066aa; text-decoration: none;" href="http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html%23//apple_ref/doc/uid/TP40006556-CH1-SW1">iOS Human Interface Guidelines</a>”，专门讲解了iOS中用户界面相关的知识，从中我们可以系统的了解iOS的界面构成，各种基本界面元素，并且根据其中的说明，可以找到UILabel控件是最适合我们项目需求的控件，当然也有复杂的技术方案，就是采用在界面上自画的方式，根据简单实用原则，我们就使用UILabel这种iOS自带控件就可以了。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120242049627.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134344MMJ.jpg" alt="201105112127.jpg" width="640" height="461" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">在开始使用UILabel之前，我们需要先来学习了解一下UILabel控件，想要了解UILabel控件的功能，在iOS Dev Center中，找到“<a style="color: #0066aa; text-decoration: none;" href="http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UILabel_Class/Reference/UILabel.html%23//apple_ref/doc/uid/TP40006797">UILabel Class Reference</a>”，从中我们可以看到UILabel的介绍和所有属性、方法等详细的说明文档。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120242061871.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134344bqp.jpg" alt="201105112035.jpg" width="640" height="461" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">文档相当全面，不过对于我们来说，关键还是要去获取项目相关的资料，从文档中，我们可以逐一找到我们显示文字需要的相关属性：</p>
<ul>
<li><strong>text</strong>: Label显示的文字，类型为NSString类，也就是本项目需求中要显示的“Hello World”。</li>
<li><strong>textAlignment</strong>: 文字在Label内的对其方式，类型为UITextAlignment枚举，在本项目需求中，要求文字在屏幕正中显示，对应的属性值为UITextAlignmentCenter。</li>
<li><strong>font</strong>: 文字的字体和大小，类型为UIFont类，也就是本项目需求中要求的：“字体为粗体，字体大小26磅”，对应代码为：<span style="line-height: 21px; font-family: Menlo; font-size: 14px; color: #3e2280;"><span style="line-height: 21px; color: #000000;">[</span><span style="line-height: 21px; color: #7041a7;">UIFont</span>boldSystemFontOfSize<span style="line-height: 21px; color: #000000;">:</span><span style="line-height: 21px; color: #2f33d5;">26</span><span style="line-height: 21px; color: #000000;">]</span></span>。</li>
<li><strong>textColor</strong>: 文字的颜色，类型为UIColor类，也就是本项目需求中要求的：“字体颜色红色”，对应代码为：<span style="line-height: 21px; font-family: Menlo; font-size: 14px; color: #3e2280;"><span style="line-height: 21px; color: #000000;">[</span><span style="line-height: 21px; color: #7041a7;">UIColor</span> redColor<span style="line-height: 21px; color: #000000;">]</span></span>。</li>
<li><strong>shadowColor</strong>: Label文字的阴影颜色，类型为UIColor类，也就是本项目需求中要求的：“有黑色阴影”，对应代码为：<span style="line-height: 21px; font-family: Menlo; font-size: 14px; color: #3e2280;"><span style="line-height: 21px; color: #000000;">[</span><span style="line-height: 21px; color: #7041a7;">UIColor</span>blackColor<span style="line-height: 21px; color: #000000;">]</span></span>。</li>
<li><strong>shadowOffset</strong>: Label文字阴影的偏移方向和偏移量，类型为CGSize，也就是本项目需求中要求的：“阴影光源为左上角，偏移1像素”，对应代码为：<span style="line-height: 21px; font-family: Menlo; font-size: 14px;">[CGSizeMake(<span style="line-height: 21px; color: #2f33d5;">1</span>, <span style="line-height: 21px; color: #2f33d5;">1</span>)]</span>。</li>
</ul>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">让文字显示在屏幕正中心</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">要让文字显示在屏幕正中心，我们要优先考虑设置UILabel相关属性达到目的的方式，如果没有UILabel相关属性支持，那么我们就必须根据UILabel占的大小和屏幕大小来计算它应该摆放的坐标，从而实现让文字显示在屏幕正中心。在UILabel的文档中，没有发现有属性设置它的坐标，也没有设置对其的属性，这是不是代表UILabel不支持呢？不要忽略一个问题，iOS所用的编程语言是Objective-C，这个一个类似于C语言的很好的支持面向对象特性的语言，面向对象有个很重要的特性叫继承，同样对于UILabel类来说，它是有父类的，也就是UILabel父类支持的属性，UILabel都是支持的，在UILabel文档的首页，我们可以看到UILabel是从UIView继承的，所以我们可以链接到“<a style="color: #0066aa; text-decoration: none;" href="http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIView_Class/UIView/UIView.html%23//apple_ref/doc/uid/TP40006816">UIView Class Reference</a>”文档。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120242045658.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134344vh8.jpg" alt="201105112034.jpg" width="640" height="461" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">从文档中，我们可以找到2个重要属性，用来实现文字显示在屏幕正中：</p>
<ul>
<li><strong>frame</strong>: Label的位置和尺寸属性，类型为CGRect，在本项目需求中，要求显示在屏幕正中，就需要通过Label控件的frame属性的size值，结合主界面的尺寸，计算出x，y坐标值，以保证Label显示在屏幕正中。</li>
<li><strong>autoresizingMask</strong>: 这个属性表示控件在其父容器尺寸发生变化时，它是怎么自动调整其尺寸或上下左右各个方向边距的。</li>
</ul>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><span style="line-height: 21px; font-size: 14px; font-weight: bold;">支持屏幕旋转</span></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">iPhone程序默认不支持屏幕旋转，那么如何让界面支持旋转呢？在iOS Dev Center中，可以找到“<a style="color: #0066aa; text-decoration: none;" href="http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/BasicViewControllers/BasicViewControllers.html#//apple_ref/doc/uid/TP40007457-CH101-SW24">View Controller Programming Guide for iOS</a>”，在其中的“Custom View Controllers”一章中专门有一节“Managing a View Controller&#8217;s Interface Orientation”，说明了如何让你的iOS界面支持设备旋转：</p>
<ul>
<li>重写对应的View Controller的“shouldAutorotateToInterfaceOrientation:”方法，在方法中申明支持的方向。</li>
<li>配置对应的View Controller中的View的autoresizingMask属性，以适应因为界面旋转导致的布局变化。在本项目中，项目需求中要求设备在旋转也保证文字居中，利用这个属性，可以实现在界面旋转后，窗体宽度和高度发生变化时，UILabel还能继续居中。</li>
</ul>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120241577846.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/13434615j.jpg" alt="201105112158.jpg" width="640" height="461" /></a></p>
<h2 style="margin-top: 10px; font-size: 1em;">项目开发</h2>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">熟悉Xcode 4</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">经过前期的准备工作后，现在可以开始基于Xcode4进行实际的项目开发。对于Xcode4，在iOS Dev Center中，找到“<a style="color: #0066aa; text-decoration: none;" href="http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Introduction/Introduction.html">Xcode 4 User Guide</a>”，这是一个专门针对Xcode 4的说明和使用指南，非常详细。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120241508016.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134347I67.jpg" alt="201105112350.jpg" width="640" height="461" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">在Xcode 4中，整合了原来专门用来编辑Mac或iOS项目界面的Interface Builder软件，“<a style="color: #0066aa; text-decoration: none;" href="http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Introduction/Introduction.html">Xcode 4 User Guide</a>”中专门有一章“Designing User Interfaces in Xcode”来讲述如何在Xcode 4中编辑界面。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120242078425.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134347e96.jpg" alt="201105120043.jpg" width="640" height="461" /></a></p>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">创建新项目</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">启动Xcode4后，首先会有一个欢迎窗口，通过它，点击“Create a new Xcode project”，可以直接开始创建项目</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120241535210.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134347XoI.jpg" alt="201105112227.jpg" width="640" height="415" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">当然也可以通过菜单或者快捷方式来开始创建新项目</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120242084215.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134348wia.jpg" alt="201105112231.jpg" width="640" height="203" /></a></p>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">选择新项目模板</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">为方便生成项目，Xcode4默认提供了几种项目模板：</p>
<ul>
<li><strong>Navigation-based Application</strong>: 该模板适用与需要界面导航的应用，基于该模板生成的应用程序，带一个导航，显示一个列表项</li>
<li><strong>OpenGL ES Application</strong>: 该模板适用于基于OpenGL ES的应用程序，例如游戏类程序。基于该模板生成的应用程序，带一个用来输出OpenGL ES场景的视图和一个支持动画的视图</li>
<li><strong>Splite View-based Application</strong>: 该模板适用于需要用到左右分栏视图的iPad程序，基于该模板生成的应用程序，提供了一个左右分栏的界面控件</li>
<li><strong>Tab Bar Application</strong>: 该模板适用于适用采用标签页的应用程序，基于该模板生成的应用程序，默认带有标签页</li>
<li><strong>Utility Application</strong>: 该模板适用与有一个主界面和一个信息页的应用，基于该模板生成的应用程序，主界面上有一个信息按钮，点击后，有一个翻转动画，切换到另一个信息界面</li>
<li><strong>View-based Application</strong>: 该模板适用于单一界面的应用，基于该模板生成的应用程序，只有一个空白界面视图</li>
<li><strong>Window-based Application</strong>: 该模板适用于空白的应用程序，基于该模板生成的应用程序，只有一个窗体，没有任何视图，需要手动添加</li>
</ul>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120241536813.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/1343485rz.jpg" alt="201105112234.jpg" width="640" height="431" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">对于我们的Hello World项目来说，最适合的项目模板是“View-based Application”，我们只要基于它创建一个单一带有空白视图的应用，然后再将UILabel拖到上面就可以实现基本功能。</p>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">项目基本选项</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">点击下一步，进入“Choose options for your new project”界面，在这里，可以选择设置项目的基本选项，其中：</p>
<ul>
<li><strong>Product Name</strong>: 指产品名称，在这里项目中，我们直接命名为“Hello World”</li>
<li><strong>Company Identifier</strong>: 公司标识符，一般命名规则为 “com.公司名”</li>
<li><strong>Bundle Identifier</strong>: 指包标识符，用于唯一标识应用程序，默认会根据公司标识符和产品名来组合生成</li>
<li><strong>Device Family</strong>: 指该应用支持的设备类型，共三个选项：iPhone、iPad、Universal（即iPhone、iPad通用）</li>
<li><strong>Include Unite Tests</strong>: 是否包含单元测试代码模板，如果勾选，Xcode会帮助生成单元测试代码模板</li>
</ul>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120241493197.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134348jVh.jpg" alt="201105112323.jpg" width="640" height="418" /></a></p>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">选择存储路径</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">点击Next按钮后，进入选择文件存储路径界面，在这里，可以选择要存储项目的目录。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120242083310.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134349oeL.jpg" alt="201105112332.jpg" width="640" height="478" /></a></p>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">项目创建完成</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">点击“Create”按钮，项目创建完成，弹出项目窗口。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120241552537.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134349NXP.jpg" alt="201105112337.jpg" width="640" height="412" /></a></p>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">试运行项目</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">经过上面的步骤，我们已经基于模板创建了一个项目，在开始开发前，我们可以尝试先试运行一下项目，看看效果。点击Xcode左上角的“Run”按钮，Xcode即开始对项目进行编译，编译完成后，会弹出iPhone模拟器，在模拟器中运行项目，当然我们的项目现在运行起来还只能看到一个空白的界面。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120241493164.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134349BW6.jpg" alt="201105120009.jpg" width="368" height="716" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">点Xcode左上角的“Stop”按钮，停止运行项目。</p>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">编辑界面文件</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">一般创建一个新项目，在项目中会包含一个或多个界面文件，这些界面文件一般称之为“nib文件”，扩展名为nib或xib。或者通过向导创建一个新的View Controller的时候，Xcode会包含一个对应的nib文件，一个头文件和一个实现文件。在我们刚刚以View-based Application为模板创建的Hello World项目中，“Hello_WorldViewController.xib”就是主界面的nib文件。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">在Xcode左侧选中“Hello_WorldViewController.xib”文件，并点击工具栏的“Hide or show the Navigator”和“Hide or show the Utilities ”按钮，隐藏左侧Navigator区域，显示Utility区域，这样我们就可以开始在Xcode 4中来编辑界面。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120241543716.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134349qCg.jpg" alt="201105120048.jpg" width="640" height="412" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><span style="line-height: 21px; font-size: 14px; font-weight: bold;">添加Label到界面中</span></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">从对象库中，找到我们所需要的Label控件对象，拖动到主界面中，即完成Label控件的添加</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120241516521.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134350Y7w.jpg" alt="201105120102.jpg" width="640" height="412" /></a></p>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">设置Label控件属性</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">选中新添加的Label控件，点击Inspector selector bar区域的“Show the Attributes inspector”按钮，切换到属性编辑界面，分别设置以下属性：</p>
<ul>
<li><strong>Text</strong>: 输入“Hello World”</li>
<li><strong>Alignment</strong>: 选择居中对齐</li>
<li><strong>Font</strong>: 选择“Helvetical Bold 26.0”</li>
<li><strong>Text Color</strong>: 选择红色</li>
<li><strong>Shadow</strong>: 选择黑色（Black Color）</li>
<li><strong>Shadow Offset</strong>: Horizontal和Vertical的值分别输入1</li>
</ul>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120242103144.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134350HJZ.jpg" alt="201105120125.jpg" width="640" height="412" /></a></p>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">设置Label控件的大小和位置</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">在上面的步骤中设置好Label的相关属性后，发现文字特别小，而且显示不完整，并非我们所选择的字体大小，这是由于UILabel有一个属性“adjustsFontSizeToFitWidth”，默认值是“YES”，如果这个属性的值为YES，并且Label的numberOfLines属性值是1，它会根据Label的宽度来自动调整字体大小，通过Xcode新添加的Label，默认宽度比较小，按照正常的26磅大小的字体，无法完整显示，所以就字体大小就被自动调整了，导致显示的和我们期望的不一样。解决这个问题很简单，就是我们重新设置一下Label的宽度，以让其可以完整显示文字。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">选中新添加的Label控件，点击Inspector selector bar区域的“Show the Size inspector”按钮，切换到尺寸和位置设置界面，对宽度进行调整，这里我们给Label设置一个足够的宽度和高度：200&#215;40，以保证字体不会被缩小。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">接下来，就是要调整Label的位置，让它显示在屏幕的正中间。在Xcode中，用鼠标拖动Label，拖动过程中Xcode有辅助线来帮助定位，很容易就可以找到正中心的位置。当然也可以通过简单的计算得到Label如果要显示在正中心，坐标应该为：x = (屏幕宽度 &#8211; Label宽度) / 2 = (320 &#8211; 200) / 2 = 60; y = (屏幕高度 &#8211; 状态栏高度 &#8211; Label高度) / 2 = (480 &#8211; 20 &#8211; 40) / 2 = 210;</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120242027874.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134350Vly.jpg" alt="201105120142.jpg" width="640" height="412" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">对修改过的xib文件保存，运行项目，看看效果</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/201105120242028920.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/1343502IN.jpg" alt="201105120151.jpg" width="368" height="716" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">就这样，我们已经完成了第一步：在屏幕上显示文字，设置字体和字体大小，让文字显示在屏幕正中心。下一步，我们要让它支持旋转，并且旋转后，文字还是显示在屏幕正中。</p>
<h3 style="font-size: 10pt; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #d6d6d6; color: #000000; background-color: transparent;">支持设备旋转</h3>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">前面我们已经学习了解过，要支持设备宣传，要做如下工作：</p>
<ul>
<li>重写对应的View Controller的“shouldAutorotateToInterfaceOrientation:”方法，在方法中申明支持的方向。也就是首先要重写“Hello_WorldViewController.m”中的“shouldAutorotateToInterfaceOrientation:”方法</li>
<li>配置对应的View Controller中的View的autoresizingMask属性，以适应因为界面旋转导致的布局变化。也就是要设置好Label控件的autoresizingMask属性。</li>
</ul>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">还是在界面文件中，选中Label，在尺寸和位置设置界面，通过点击Autosizing中的红色线条，设置Label对上下左右四个方向以及宽度和高度都自动调整，这样就可以保证在设备旋转后，界面的宽度和高度发生改变后，控件对上下左右四个方向的位置以及长度和宽度也会随着一起调整，由于已经设置了文字在Label内部是居中对齐的，就可以保证文字显示在界面居中的位置。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134351yjI.jpg" alt="201105120210.jpg" width="259" height="270" /></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">点击工具栏的“Hide or show the Navigator”和“Hide or show the Utilities ”按钮，显示左侧Navigator区域，隐藏Utility区域，在左侧Navigator区域，选中“Hello_WorldViewController.m”文件，找到“shouldAutorotateToInterfaceOrientation:”方法，对其进行重写，重写后代码如下</p>
<div style="font: normal normal normal 14px/normal Menlo;">- (<span style="line-height: 21px; color: #b831a1;">BOOL</span>)shouldAutorotateToInterfaceOrientation:(<span style="line-height: 21px; color: #7041a7;">UIInterfaceOrientation</span>)interfaceOrientation</div>
<div style="font: normal normal normal 14px/normal Menlo;">{</div>
<div style="font: normal normal normal 14px/normal Menlo; color: #058310; text-indent: 4em;">// Return YES for supported orientations</div>
<div style="font: normal normal normal 14px/normal Menlo; color: #b831a1; text-indent: 4em;">return YES<span style="line-height: 21px; color: #000000;">;</span></div>
<div style="font: normal normal normal 14px/normal Menlo;">}</div>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">对所做的修改进行保存，然后运行项目，弹出模拟器，通过调用模拟器的设备旋转菜单，让iPhone模拟器变成横屏，你将看到文字会自动调整位置，还是显示在屏幕正中的位置。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"><a style="color: #0066aa; text-decoration: none;" href="http://images.cnblogs.com/cnblogs_com/dotey/201105/20110512024156420.jpg"><img style="border: 0px initial initial;" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2011/05/134351hKV.jpg" alt="201105120213.jpg" width="640" height="328" /></a></p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">至此，我们就实现了项目的全部需求。</p>
<h2 style="margin-top: 10px; font-size: 1em;">项目总结</h2>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">通过Hello World这个简单项目，我们学习了如何基于Xcode 4分析和开发iOS项目，学习了如何通过iOS Dev Center获取需要的资料。</p>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;">源码下载：<a style="color: #0066aa; text-decoration: none;" href="https://github.com/JimLiu/The-practice-of-iPhone-application-development/tree/master/Hello%20World">https://github.com/JimLiu/The-practice-of-iPhone-application-development/tree/master/Hello%20World</a></p>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2011/05/12/686/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iphone 开发文档，资源，入门索引</title>
		<link>http://www.wangchao123.com/2011/03/03/640</link>
		<comments>http://www.wangchao123.com/2011/03/03/640#comments</comments>
		<pubDate>Thu, 03 Mar 2011 05:49:48 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[iphone Mac 手机应用开发]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/?p=640</guid>
		<description><![CDATA[引用新手入门页面    http://www.cocoachina.com/special/fornew.html 1.json json编码解码2.GTMBase64 base64编码解码3.TouchXML xml解析4.SFHFKeychainUtils 安全保存用户密码到keychain中5.MBProgressHUD 很棒的一个加载等待特效框架6.ASIHTTPRequest http等相关协议封装7.EGORefreshTableHeaderView 下拉刷新代码8.AsyncImageView 异步加载图片并缓存代码9.类似setting的竖立也分栏程序 1.下载排名相关:appannie2.用户行为分析:flurry3.majicrank-各国排名查询工具 (推荐)4.AppViz-App销售统计软件 (推荐)5.PodViz-用户评论等查看工具6.appfigures-报表统计分析工具7.我成立的一个帮助开发者推广app的评测站:苹果I派党]]></description>
			<content:encoded><![CDATA[<p>引用新手入门页面    <a href="http://www.cocoachina.com/special/fornew.html">http://www.cocoachina.com/special/fornew.html</p>
<p></a><br />
1.<a id="url_1" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="http://code.google.com/p/json-framework" target="_blank">json</a> json编码解码<br style="outline-style: none; outline-width: initial; outline-color: initial;" />2.<a id="url_2" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/?r=87" target="_blank">GTMBase64</a> base64编码解码<br style="outline-style: none; outline-width: initial; outline-color: initial;" />3.<a id="url_3" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="https://github.com/schwa/TouchXML" target="_blank">TouchXML</a> xml解析<br style="outline-style: none; outline-width: initial; outline-color: initial;" />4.<a id="url_4" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="https://github.com/ldandersen/scifihifi-iphone" target="_blank">SFHFKeychainUtils</a> 安全保存用户密码到keychain中<br style="outline-style: none; outline-width: initial; outline-color: initial;" />5.<a id="url_5" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="https://github.com/jdg/MBProgressHUD" target="_blank">MBProgressHUD</a> 很棒的一个加载等待特效框架<br style="outline-style: none; outline-width: initial; outline-color: initial;" />6.<a id="url_6" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="http://allseeing-i.com/ASIHTTPRequest" target="_blank">ASIHTTPRequest</a> http等相关协议封装<br style="outline-style: none; outline-width: initial; outline-color: initial;" />7.<a id="url_7" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="https://github.com/enormego/EGOTableViewPullRefresh" target="_blank">EGORefreshTableHeaderView</a> 下拉刷新<span id="rlt_3" style="outline-style: none; outline-width: initial; outline-color: initial; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #fa891b;">代码</span><br style="outline-style: none; outline-width: initial; outline-color: initial;" />8.<a id="url_8" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="http://www.markj.net/iphone-asynchronous-table-image/" target="_blank">AsyncImageView</a> 异步加载<span id="rlt_4" style="outline-style: none; outline-width: initial; outline-color: initial; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #fa891b;">图片</span>并缓存代码<br style="outline-style: none; outline-width: initial; outline-color: initial;" />9.<a id="url_9" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="http://blog.blackwhale.at/" target="_blank">类似setting的竖立也分栏程序</p>
<p>1.下载排名相关:</a><a id="url_10" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="http://www.appannie.com/" target="_blank">appannie</a><br style="outline-style: none; outline-width: initial; outline-color: initial;" />2.用户行为分析:<a id="url_11" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="http://www.flurry.com/" target="_blank">flurry</a><br style="outline-style: none; outline-width: initial; outline-color: initial;" />3.<a id="url_12" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="http://majicjungle.com/majicrank.html" target="_blank">majicrank</a>-各国排名查询工具 (推荐)<br style="outline-style: none; outline-width: initial; outline-color: initial;" />4.<a id="url_13" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="http://www.cocoachina.com/appstore/sales/2010/0331/890.html" target="_blank">AppViz</a>-App销售统计软件 (推荐)<br style="outline-style: none; outline-width: initial; outline-color: initial;" />5.<a id="url_14" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="http://www.ideaswarm.com/products/appviz/" target="_blank">PodViz</a>-用户评论等查看工具<br style="outline-style: none; outline-width: initial; outline-color: initial;" />6.<a id="url_15" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="https://www.appfigures.com/" target="_blank">appfigures</a>-报表统计分析工具<br style="outline-style: none; outline-width: initial; outline-color: initial;" />7.我成立的一个帮助开发者<span id="rlt_5" style="outline-style: none; outline-width: initial; outline-color: initial; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #fa891b;">推广</span><span id="rlt_1" style="outline-style: none; outline-width: initial; outline-color: initial; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #fa891b;">app</span>的评测站:<a id="url_16" style="outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #0070af;" href="http://www.ipadown.com/" target="_blank">苹果I派党</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2011/03/03/640/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>php版push服务器的流程(测试成功)</title>
		<link>http://www.wangchao123.com/2010/12/30/627</link>
		<comments>http://www.wangchao123.com/2010/12/30/627#comments</comments>
		<pubDate>Thu, 30 Dec 2010 09:40:11 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[iphone Mac 手机应用开发]]></category>
		<category><![CDATA[手机]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/?p=627</guid>
		<description><![CDATA[参考文档： http://www.cocoachina.com/bbs/read.php?tid-30410.html http://iphone.ipsw.info/2010/04/apple-push-notification-adhoc.html 初学iPhone开发,经过反复多次验证,结合下面2个教程: http://ameyashetti.wordpress.com/2009/07/31/apple-push-notification-service-tutorial/ http://www.macoscoders.com/2009/05/17/iphone-apple-push-notification-service-apns/ 得出从零开始的php版push服务器搭建流程: ============================================================== 0.在Mac OS X机器上安装好XCode, 连接一台正常的iPhone, 保持平和的心态 APP 开发基础设置 1.在iPhone Provisioning Portal中建立好APP ID和Device. 2.在Keychain Access.app中生成证书请求CertificateSigningRequest.certSigningRequest(菜单 &#62; Keychain Access &#62; Certificate Assistant &#62; Request a Certificate From a Certificate Authority&#8230;). 3.在iPhone Provisioning Portal &#62; Certificates中请求一个证书(点击Request Certificate,上传CertificateSigningRequest.certSigningRequest). 4.请求完成后,将证书文件(developer_identity.cer)下载,双击导入到Key Chain中. 5.在iPhone Provisioning Portal &#62; Provisioning 中,新建一个Profile, 选择指定的APP ID和 Devices后生成. 6.将刚刚生成的Profile下载为*_profile.mobileprovision, 双击该文件, 将profile加载到iPhone中. [...]]]></description>
			<content:encoded><![CDATA[<p>参考文档：<br />
<a href="http://www.cocoachina.com/bbs/read.php?tid-30410.html">http://www.cocoachina.com/bbs/read.php?tid-30410.html</a><br />
<a href="http://iphone.ipsw.info/2010/04/apple-push-notification-adhoc.html">http://iphone.ipsw.info/2010/04/apple-push-notification-adhoc.html</a></p>
<p>初学<span id="rlt_1" style="cursor: pointer; border-bottom: #fa891b 1px solid;" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=iPhone',this.id)">iPhone</span><span id="rlt_3" style="cursor: pointer; border-bottom: #fa891b 1px solid;" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=开发',this.id)">开发</span>,经过反复多次验证,结合下面2个教程:<br />
<a id="url_1" onclick="return checkUrl(this)" href="http://ameyashetti.wordpress.com/2009/07/31/apple-push-notification-service-tutorial/" target="_blank"><span style="color: #0070af;">http://ameyashetti.wordpress.com/2009/07/31/apple-push-notification-service-tutorial/</span></a><br />
<a id="url_2" onclick="return checkUrl(this)" href="http://www.macoscoders.com/2009/05/17/iphone-apple-push-notification-service-apns/" target="_blank"><span style="color: #0070af;">http://www.macoscoders.com/2009/05/17/iphone-apple-push-notification-service-apns/</span></a></p>
<p>得出从零开始的php版push服务器搭建流程:<br />
==============================================================<br />
0.在Mac OS X机器上安装好<span id="rlt_5" style="cursor: pointer; border-bottom: #fa891b 1px solid;" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=XCode',this.id)">XCode</span>, 连接一台正常的iPhone, 保持平和的心态</p>
<p><span id="rlt_2" style="cursor: pointer; border-bottom: #fa891b 1px solid;" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=APP',this.id)">APP</span> 开发基础设置<br />
1.在iPhone Provisioning Portal中建立好APP ID和Device.<br />
2.在Keychain Access.app中生成证书请求CertificateSigningRequest.certSigningRequest(菜单 &gt; Keychain Access &gt; Certificate Assistant &gt; Request a Certificate From a Certificate Authority&#8230;).<br />
3.在iPhone Provisioning Portal &gt; Certificates中请求一个证书(点击Request Certificate,上传CertificateSigningRequest.certSigningRequest).<br />
4.请求完成后,将证书<span id="rlt_8" style="cursor: pointer; border-bottom: #fa891b 1px solid;" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=文件',this.id)">文件</span>(developer_identity.cer)下载,双击导入到Key Chain中.<br />
5.在iPhone Provisioning Portal &gt; Provisioning 中,新建一个Profile, 选择指定的APP ID和 Devices后生成.<br />
6.将刚刚生成的Profile下载为*_profile.mobileprovision, 双击该文件, 将profile加载到iPhone中.</p>
<p>Push Notification service设置<br />
7.在iPhone Provisioning Portal &gt; App IDs,选择需要Push服务的App ID, 进入Configure.<br />
8.确认 Enable for <span id="rlt_6" style="cursor: pointer; border-bottom: #fa891b 1px solid;" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=Apple',this.id)">Apple</span> Push Notification service ,配置 Development Push SSL Certificate, <span id="rlt_7" style="cursor: pointer; border-bottom: #fa891b 1px solid;" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=上传',this.id)">上传</span>第2步生成的证书请求.<br />
9.下载生成的aps_developer_identity.cer, 完成Push服务配置.<br />
10.双击aps_developer_identity.cer,保存到Key Chain.</p>
<p>生成php Push Notification sender需要的证书文件<br />
11.在Keychain Access.app里选定这个新证书(Apple Development Push Services*),导出到桌面,保存为Certificates.p12.<br />
12.运行如下命令:</p>
<table border="0" cellspacing="0" cellpadding="0" width="80%">
<tbody>
<tr>
<td><span class="f10 s8"><a onclick="CopyCode(document.getElementById('code1'));" href="javascript:"><span style="color: #0070af;">复制代码</span></a></span></p>
<div id="code1" class="blockquote2">
<ol>
<li> openssl pkcs12 -clcerts -nokeys -out cert.pem -in Certificates.p12</li>
<li> openssl pkcs12 -nocerts -out key.pem -in Certificates.p12</li>
<li> openssl rsa -in key.pem -out key.unencrypted.pem</li>
<li> cat cert.pem key.unencrypted.pem &gt; ck.pem</li>
</ol>
</div>
</td>
</tr>
</tbody>
</table>
<p>获得php Push Notification sender所需的设备令牌:<br />
13.新建一个View-based Application项目,在$PROJECT_NAMEAppDelegate.m中:<br />
a.粘贴如下<span id="rlt_4" style="cursor: pointer; border-bottom: #fa891b 1px solid;" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=代码',this.id)">代码</span>:</p>
<table border="0" cellspacing="0" cellpadding="0" width="80%">
<tbody>
<tr>
<td><span class="f10 s8"><a onclick="CopyCode(document.getElementById('code2'));" href="javascript:"><span style="color: #0070af;">复制代码</span></a></span></p>
<div id="code2" class="blockquote2">
<ol>
<li>- (void)applicationDidFinishLaunching:(UIApplication *)app {</li>
<li> // other setup tasks here….</li>
<li> [window addSubview:viewController.view];</li>
<li> [self alertNotice:@"" withMSG:@"Initiating Remote Noticationss Are Active" cancleButtonTitle:@"Ok" otherButtonTitle:@""];</li>
<li> [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound)];</li>
<li>}</li>
<li>- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {</li>
<li> //NSLog(@”devToken=%@”,deviceToken);</li>
<li> [self alertNotice:@"" withMSG:[NSString stringWithFormat:@"devToken=%@",deviceToken] cancleButtonTitle:@”Ok” otherButtonTitle:@”"];</li>
<li>}</li>
<li>- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err {</li>
<li> NSLog(@”Error in registration. Error: %@”, err);</li>
<li> [self alertNotice:@"" withMSG:[NSString stringWithFormat:@"Error in registration. Error: %@", err] cancleButtonTitle:@”Ok” otherButtonTitle:@”"];</li>
<li>}</li>
<li>-(void)alertNotice:(NSString *)title withMSG:(NSString *)msg cancleButtonTitle:(NSString *)cancleTitle otherButtonTitle:(NSString *)otherTitle{</li>
<li> UIAlertView *alert;</li>
<li> if([otherTitle isEqualToString:@""])</li>
<li> alert = [[UIAlertView alloc] initWithTitle:title message:msg delegate:self cancelButtonTitle:cancleTitle otherButtonTitles:nil,nil];</li>
<li> else</li>
<li> alert = [[UIAlertView alloc] initWithTitle:title message:msg delegate:self cancelButtonTitle:cancleTitle otherButtonTitles:otherTitle,nil];</li>
<li> [alert show];</li>
<li> [alert release];</li>
<li>}</li>
</ol>
</div>
</td>
</tr>
</tbody>
</table>
<p>b.在 &#8211; (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 方法中增加</p>
<table border="0" cellspacing="0" cellpadding="0" width="80%">
<tbody>
<tr>
<td><span class="f10 s8"><a onclick="CopyCode(document.getElementById('code3'));" href="javascript:"><span style="color: #0070af;">复制代码</span></a></span></p>
<div id="code3" class="blockquote2">
<ol>
<li> [self alertNotice:@"" withMSG:@"Initiating Remote Noticationss Are Active" cancleButtonTitle:@"Ok" otherButtonTitle:@""];</li>
<li> [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound)];</li>
</ol>
</div>
</td>
</tr>
</tbody>
</table>
<p>14.项目设置<br />
a.Targets &gt; $APP_NAME &gt; context menu &gt; Properties &gt; Identifier<br />
修改 identifier 为App ID<br />
b.Targets &gt; $APP_NAME &gt; context menu &gt; Build &gt; Code Signing &gt; Code Signing Identifier &gt; Any iPhone OS Device<br />
指定 iPhone Developer 为开发用机<br />
15.编译并运行后会在iPhone上显示设备令牌</p>
<p>16.php Push Notification sender代码如下:</p>
<table border="0" cellspacing="0" cellpadding="0" width="80%">
<tbody>
<tr>
<td><span class="f10 s8"><a onclick="CopyCode(document.getElementById('code4'));" href="javascript:"><span style="color: #0070af;">复制代码</span></a></span></p>
<div class="blockquote2">
<p>exp:&lt;br&gt;<br />
?message=A test message from localhost&amp;badge=2&amp;sound=received5.caf&amp;deviceToken=xxx<br />
&lt;?<br />
$deviceToken = $_REQUEST['deviceToken'];<br />
//$deviceToken = &#8216;af21fc88 c3f5c90c f8ef8dc7 950f1101 37aab01c 169d5088 11af11cf 5dc617ee&#8217;;<br />
$pass = &#8217;111111&#8242;;   // Passphrase for the private key (ck.pem file)</p>
<p>// Get the parameters from http get or from command line<br />
$message = $_REQUEST['message'] or $message = $argv[1] or $message = &#8216;A test message from worldcup&#8217;;<br />
$badge = (int)$_REQUEST['badge'] or $badge = 0;<br />
$sound = $_REQUEST['sound'] or $sound = $argv[3];</p>
<p>// Construct the notification payload<br />
$body = array();<br />
$body['aps'] = array(&#8216;alert&#8217; =&gt; $message);<br />
if ($badge)<br />
$body['aps']['badge'] = $badge;<br />
if ($sound)<br />
$body['aps']['sound'] = $sound;</p>
<p>/* End of Configurable Items */<br />
$ctx = stream_context_create();<br />
stream_context_set_option($ctx, &#8216;ssl&#8217;, &#8216;local_cert&#8217;, &#8216;dev.pem&#8217;);<br />
// assume the private key passphase was removed.<br />
stream_context_set_option($ctx, &#8216;ssl&#8217;, &#8216;passphrase&#8217;, $pass);</p>
<p>// connect to apns<br />
$fp = stream_socket_client(&#8216;ssl://gateway.sandbox.push.apple.com:2195&#8242;, $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);<br />
if (!$fp) {<br />
print “Failed to connect $err $errstr\n”;<br />
return;<br />
}<br />
else {<br />
print “Connection OK\n&lt;br/&gt;”;<br />
}</p>
<p>// send message<br />
$payload = json_encode($body);<br />
$msg = chr(0) . pack(“n”,32) . pack(&#8216;H*&#8217;, str_replace(&#8216; &#8216;, ”, $deviceToken)) . pack(“n”,strlen($payload)) . $payload;<br />
print “Sending message :” . $payload . “\n”;<br />
fwrite($fp, $msg);<br />
fclose($fp);<br />
?&gt;</p>
<ol>
<li><span style="color: #ff0000;">需要注意:</span><br />
dev 环境用:</li>
<li>$fp = stream_socket_client(“<span style="color: #ff0000;">ssl://gateway.sandbox.push.apple.com</span>:2195&#8243;, $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);adhoc 用:<br />
$fp = stream_socket_client(“<span style="color: #ff0000;">ssl://gateway.push.apple.com</span>:2195&#8243;, $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);</li>
</ol>
</div>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2010/12/30/627/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>把手机用户的身份验证简化到极致 &#8211; IEMI</title>
		<link>http://www.wangchao123.com/2010/09/06/581</link>
		<comments>http://www.wangchao123.com/2010/09/06/581#comments</comments>
		<pubDate>Sun, 05 Sep 2010 20:02:10 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[iphone Mac 手机应用开发]]></category>
		<category><![CDATA[手机]]></category>
		<category><![CDATA[手机应用]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/2010/09/06/581</guid>
		<description><![CDATA[我们现在用的是比较传统的，邮件，注册，认证的过程来使用 手机 APP 我觉得这可能吧一些潜在的用户挡在第一次使用之前， 如果做到流程简化到极致，就是不用任何注册，用 IEMI 码可以识别用户的手机唯一身份， 在他进来之后，在不断提醒他注册会有更多的功能可以使用，这样可能会让用户跳出现在普遍的 LBS 社区性质的固有模式。 我们主轴是，好友，喜好，我觉得这个不冲突，只需要设计一个流程。 在用户需要获取好友信息，让用户自然的进行注册动作，和添加好友动作。 因为毕竟我们前期用户是 0 好友可能也是 0 在这个阶段，我们需要打开我们的功能。开放的迎接用户。 IEMI 说明:  引自百度知道 IMEI为TAC + FAC + SNR + SP。IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写，国际移动装备辨识码，是由15位数字组成的”电子串号”，它与每台手机一一对应，而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码，这个号码从生产到交付使用都将被制造生产的厂商所记录。 其组成为: 1、前6位数(TAC)是”型号核准号码”，一般代表机型。 2、接着的2位数(FAC)是”最后装配号”，一般代表产地。 3、之后的6位数(SNR)是”串号”，一般代表生产顺序号。 4、最后1位数(SP)通常是”0&#8243;，为检验码，目前暂备用。 IMEI码贴在手机背面的标志上，并且读写于手机内存中。它也是该手机在厂家的”档案”和”身份证号”。 如何获得手机的IMEI码：可以在手机上按“*#06#”获得手机的IMEI码。]]></description>
			<content:encoded><![CDATA[<p>我们现在用的是比较传统的，邮件，注册，认证的过程来使用 手机 APP</p>
<p>我觉得这可能吧一些潜在的用户挡在第一次使用之前，<br />
如果做到流程简化到极致，就是不用任何注册，用 IEMI 码可以识别用户的手机唯一身份，<br />
在他进来之后，在不断提醒他注册会有更多的功能可以使用，这样可能会让用户跳出现在普遍的 LBS 社区性质的固有模式。</p>
<p>我们主轴是，好友，喜好，我觉得这个不冲突，只需要设计一个流程。<br />
在用户需要获取好友信息，让用户自然的进行注册动作，和添加好友动作。<br />
因为毕竟我们前期用户是 0 好友可能也是 0 在这个阶段，我们需要打开我们的功能。开放的迎接用户。<br />
<span style="color: #888888;">IEMI 说明:  引自百度知道<br />
IMEI为TAC + FAC + SNR + SP。IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写，国际移动装备辨识码，是由15位数字组成的”电子串号”，它与每台手机一一对应，而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码，这个号码从生产到交付使用都将被制造生产的厂商所记录。 </span></p>
<p><span style="color: #888888;"><br />
其组成为:<br />
1、前6位数(TAC)是”型号核准号码”，一般代表机型。<br />
2、接着的2位数(FAC)是”最后装配号”，一般代表产地。<br />
3、之后的6位数(SNR)是”串号”，一般代表生产顺序号。<br />
4、最后1位数(SP)通常是”0&#8243;，为检验码，目前暂备用。 </span></p>
<p><span style="color: #888888;"><br />
IMEI码贴在手机背面的标志上，并且读写于手机内存中。它也是该手机在厂家的”档案”和”身份证号”。<br />
如何获得手机的IMEI码：可以在手机上按“*#06#”获得手机的IMEI码。<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2010/09/06/581/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>iphone app 如何联机调试和发布程序(99$) (转)</title>
		<link>http://www.wangchao123.com/2010/06/17/515</link>
		<comments>http://www.wangchao123.com/2010/06/17/515#comments</comments>
		<pubDate>Thu, 17 Jun 2010 06:25:40 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[iphone Mac 手机应用开发]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/?p=515</guid>
		<description><![CDATA[原帖地址  http://www.cocoachina.com/bbs/read.php?tid-7923.html 这两天公司让整理文档，一直想写一篇更详细的联机调试的文档，这次刚好是机会 我写的只是联机调试的步骤，并没有深入的去写为什么这么做（关键是我不知道） 希望这篇文章对菜鸟们有帮助， 高手们见了了就不要笑了~~ 明天再接着写如何发布程序 必须条件： 99$ (没这个就不用再往下看了) 我的系统是10.5.7   不同版本的系统，可能有点小小的区别 首先登录到 http://developer.apple.com/iphone/index.action 如果已经购买了99$, 登录进去后会看到如下地方(图1)    点进去会看到如下界面(图2)    这里我要提一下，公司和个人的$99  Team里面的内容是有所不同的(至少我发现有不同) 公司的Team下面可以加入Member  而个人的不能加入Member只能是一个人，不过这里并无大碍，不妨碍我们下面的内容。 点击进入 Certificates 看到如下内容(图3) 点击图中红色部分 会下载下来一个名字为  AppleWWDRCA.cer  的东西 这个是调试发布IPHONE 程序必须的一个东西，这个东西我们只要下载一次就够了，即使你有N个IDP，那么无论是调试程序，还是发布程序，那也只需要一个，后面我们要说到Distribution页面时，也有这个链接，如果已经下载过，那么就不用再下这个了。(最初因为对这个流程不懂，我下载了N次这个)， 下完之后，点击这个，这个东西就会装到自己的机器上。 打开你的  Keychain Access ，如果dock里面没有到 C盘 ApplicationsUtilities下面去找Keychain Access，中文名字好像叫” 钥匙串…” 打开这个，你会看到如下(图4) 这代表你已经装进去了。 下面，我们打开Keychain的这个菜单(图5)    按着下面的图来 (图6)    (图7)    (图8)    然后continute 就会生成一个CertificateSigningRequest.certSigningRequest 的文件，在你的桌面上哦 下一步(图9)：    点击Request Certificate(图10)    点击Choose [...]]]></description>
			<content:encoded><![CDATA[<p>原帖地址  <a href="http://www.cocoachina.com/bbs/read.php?tid-7923.html">http://www.cocoachina.com/bbs/read.php?tid-7923.html</a></p>
<p>这两天公司让整理文档，一直想写一篇更详细的联机调试的文档，这次刚好是机会<br />
我写的只是联机调试的步骤，并没有深入的去写为什么这么做（关键是我不知道）<br />
希望这篇文章对菜鸟们有帮助，<br />
高手们见了了就不要笑了~~</p>
<p>明天再接着写如何发布程序</p>
<p>必须条件：<br />
99$<br />
(没这个就不用再往下看了)<br />
我的系统是10.5.7   不同版本的系统，可能有点小小的区别<br />
首先登录到<br />
<a id="url_1" onclick="return checkUrl(this)" href="http://developer.apple.com/iphone/index.action" target="_blank">http://developer.apple.com/iphone/index.action</a></p>
<p>如果已经购买了99$, 登录进去后会看到如下地方(图1)<br />
  <span id="att_4277"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062540Blx.jpg');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062540Blx.jpg" border="0" alt="" /></span></p>
<p>点进去会看到如下界面(图2)<br />
  <span id="att_4278"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062540Zhc.jpg');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062540Zhc.jpg" border="0" alt="" /></span></p>
<p>这里我要提一下，公司和个人的$99  Team里面的内容是有所不同的(至少我发现有不同)<br />
公司的Team下面可以加入Member  而个人的不能加入Member只能是一个人，不过这里并无大碍，不妨碍我们下面的内容。<br />
点击进入 Certificates 看到如下内容(图3)<br />
<span id="att_4279"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062540NMh.jpg');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062540NMh.jpg" border="0" alt="" width="700" /></span></p>
<p>点击图中红色部分 会下载下来一个名字为  AppleWWDRCA.cer  的东西<br />
这个是调试发布IPHONE 程序必须的一个东西，这个东西我们只要下载一次就够了，即使你有N个IDP，那么无论是调试程序，还是发布程序，那也只需要一个，后面我们要说到Distribution页面时，也有这个链接，如果已经下载过，那么就不用再下这个了。(最初因为对这个流程不懂，我下载了N次这个)，<br />
下完之后，点击这个，这个东西就会装到自己的机器上。<br />
打开你的  Keychain Access ，如果dock里面没有到 C盘 ApplicationsUtilities下面去找Keychain Access，中文名字好像叫” 钥匙串…” 打开这个，你会看到如下(图4)<br />
<span id="att_4280"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062540PUj.jpg');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062540PUj.jpg" border="0" alt="" width="700" /></span></p>
<p>这代表你已经装进去了。</p>
<p>下面，我们打开Keychain的这个菜单(图5)<br />
  <span id="att_4281"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062541pno.jpg');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062541pno.jpg" border="0" alt="" width="700" /></span></p>
<p>按着下面的图来<br />
(图6)<br />
  <span id="att_4282"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062541vbt.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062541vbt.png" border="0" alt="" /></span></p>
<p>(图7)<br />
  <span id="att_4283"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062542BcK.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062542BcK.png" border="0" alt="" /></span></p>
<p>(图8)<br />
  <span id="att_4284"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062542XzI.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062542XzI.png" border="0" alt="" /></span></p>
<p>然后continute<br />
就会生成一个CertificateSigningRequest.certSigningRequest 的文件，在你的桌面上哦</p>
<p>下一步(图9)：<br />
  <span id="att_4285"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062543YOz.jpg');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062543YOz.jpg" border="0" alt="" width="700" /></span></p>
<p>点击Request Certificate(图10)<br />
  <span id="att_4286"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062543SXO.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062543SXO.png" border="0" alt="" width="700" /></span></p>
<p>点击Choose File（图11）<br />
<span id="att_4287"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062543WdZ.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062543WdZ.png" border="0" alt="" width="700" /></span><br />
选中CertificateSigningRequest.certSigningRequest</p>
<p>点击Choose（图12）<br />
  <span id="att_4288"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062544bgd.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062544bgd.png" border="0" alt="" width="700" /></span></p>
<p>点击Submit<br />
(图13)<br />
  <span id="att_4289"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0625444va.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0625444va.png" border="0" alt="" width="700" /></span></p>
<p>点击Approve<br />
（图14）<br />
  <span id="att_4290"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062544Bnp.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062544Bnp.png" border="0" alt="" width="700" /></span></p>
<p>这时你的证书是牌Pending的状态<br />
刷新一个网页，OK就处于如下状态<br />
（图15）<br />
  <span id="att_4291"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062544DQJ.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062544DQJ.png" border="0" alt="" width="700" /></span></p>
<p>这时点击 Download按钮，会得到一个developer_identity.cer   双击这个文件<br />
（图16）<br />
  <span id="att_4292"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062545ABF.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062545ABF.png" border="0" alt="" /></span></p>
<p>点击OK<br />
这时再打开你的keychain 看看 会是如下结果<br />
（图17）<br />
  <span id="att_4293"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062545XOQ.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062545XOQ.png" border="0" alt="" width="700" /></span></p>
<p>切记这时能看到下面那个 钥匙 状的东西，如果没有这个，是不可能调试的，以前有时，我经常看不到那个 钥匙 状的东西<br />
OK，我们继续</p>
<p>打开Devices 那一项<br />
(图18)<br />
  <span id="att_4294"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062546i0A.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062546i0A.png" border="0" alt="" width="700" /></span></p>
<p>点击 Add Devices<br />
（图19）<br />
  <span id="att_4295"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062546ZdR.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062546ZdR.png" border="0" alt="" width="700" /></span></p>
<p>给自己的设备取个名字例如MyIPod<br />
DeviceID 就是自己IPod或IPHONE的机身号（40位），机身号的获取方法有很多，可能通过 xcode 的window-&gt;Organizer 来取得<br />
(图20)<br />
  <span id="att_4296"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062546Rpy.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062546Rpy.png" border="0" alt="" width="700" /></span></p>
<p>然后填入表中并点击summit<br />
图21<br />
  <span id="att_4297"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062547qOG.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062547qOG.png" border="0" alt="" width="700" /></span></p>
<p>下面我们来搞APPID<br />
图22<br />
<span id="att_4298"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0625479XD.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0625479XD.png" border="0" alt="" width="700" /></span><br />
点击NewAppID</p>
<p>图23<br />
  <span id="att_4299"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062548VpI.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062548VpI.png" border="0" alt="" width="700" /></span><br />
第一处，随便写个名字就行了， 我以AppID为例<br />
第二处，一定要注意了，一定要按着这样的格式写<br />
我这里写的是<br />
com.abc.*<br />
你也可以写成 com.xyz.*    com.google.*  <br />
尽量中间那个变量有点意义，一般情况下是公司的名字。<br />
切记一定要写成这种格式，不然以后会有麻烦<br />
然后submit<br />
图24<br />
<span id="att_4300"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062548VoK.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062548VoK.png" border="0" alt="" width="700" /></span></p>
<p>继续Provisioning页面<br />
图25<br />
  <span id="att_4301"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062548sc9.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062548sc9.png" border="0" alt="" width="700" /></span><br />
点击New Profile<br />
按着我的填一下<br />
图26<br />
  <span id="att_4302"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062548Tja.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062548Tja.png" border="0" alt="" width="700" /></span></p>
<p>填完后 Submit<br />
图27<br />
  <span id="att_4303"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0625497ti.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0625497ti.png" border="0" alt="" width="700" /></span></p>
<p>Download 你会得到一个 DevProvision.mobileprovision 的文件，这个文件是要装到手机里面的</p>
<p>将这个拖动到organizer  里面<br />
图28<br />
  <span id="att_4304"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0625499Vq.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0625499Vq.png" border="0" alt="" width="700" /></span></p>
<p>拖动后如图29<br />
  <span id="att_4305"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062550aIN.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062550aIN.png" border="0" alt="" /></span></p>
<p>这时打开你的IPOD 你会发现在  设置-&gt;通用-&gt;描述文件  里面有个东西，那就是你的证书了<br />
然后再双击DevProvision.mobileprovision这个文件，然后你的xcode 就被激活，这时查看C盘<br />
Users用户名LibraryMobileDeviceProvisioning Profiles下面 是不是有了一个<br />
XXXXXX-XXXXXX-XXXXX-XXXXXX.mobileprovision的文件？</p>
<p>下面随便打开一个IPHONE的工程<br />
打开那个工程的plist文件，把Bundle identifier改成如下<br />
图30<br />
  <span id="att_4306"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062550N92.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062550N92.png" border="0" alt="" /></span></p>
<p>现在大概你知道 abc 是什么东西了吧<br />
打开这个工程的info<br />
图31<br />
  <span id="att_4307"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062550l1T.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062550l1T.png" border="0" alt="" /></span></p>
<p>然后按着下图改一下设置（切记选中你该选中的那一项）<br />
图32<br />
  <span id="att_4308"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062554r0x.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062554r0x.png" border="0" alt="" width="700" /></span></p>
<p>如果你想选中的那一项是灰色的，那么你前面的某些流程一定出了问题</p>
<p>然后还有一处需要确认，如下（图33）<br />
  <span id="att_4309"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0625559n9.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0625559n9.png" border="0" alt="" /></span></p>
<p>请确认，红色是部分是你应该选中的<br />
图34<br />
  <span id="att_4310"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062555kQl.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062555kQl.png" border="0" alt="" width="700" /></span></p>
<p>OK<br />
现在已经大功告成了 99.9999%了<br />
选中Device…  Debug    然后 Build and Go<br />
图35<br />
  <span id="att_4311"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062555prd.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062555prd.png" border="0" alt="" width="700" /></span></p>
<p>程序肯定已经跑在你的机器上了，如果不行，那么重起一下你的IPOD，如果再不行那就重起一下你的电脑，如果再再不行那就自己想办法吧</p>
<p>续<br />
接着如何发布程序<br />
打开Certificicates 的Distribution页面<br />
（图36）<br />
  <span id="att_4330"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062556hiK.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062556hiK.png" border="0" alt="" width="700" /></span></p>
<p>点击 Request Certificate按钮(有上面联机调试的步骤这个过程一定很熟了吧)<br />
（图37）<br />
  <span id="att_4331"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062556KfB.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062556KfB.png" border="0" alt="" width="700" /></span></p>
<p>选中CertificateSigningRequest.certSigningRequest  文件(这个文件在联机调试的过程中已经生成过了)，<br />
图38<br />
  <span id="att_4332"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/06255659Y.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/06255659Y.png" border="0" alt="" width="700" /></span></p>
<p>选中然后点击Submit<br />
图39<br />
  <span id="att_4333"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062557Wa1.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062557Wa1.png" border="0" alt="" width="700" /></span></p>
<p>点击Appove<br />
图40<br />
  <span id="att_4334"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062558wUc.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062558wUc.png" border="0" alt="" width="700" /></span></p>
<p>这时需要刷新一下页面<br />
图41<br />
  <span id="att_4335"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062558YL9.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062558YL9.png" border="0" alt="" width="700" /></span></p>
<p>点击DownLoad<br />
会得到一个名为distribution_identity.cer 的文件<br />
双击这个文件，会有如下提示<br />
图42<br />
  <span id="att_4336"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062559Jec.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062559Jec.png" border="0" alt="" /></span></p>
<p>点击OK<br />
然后打开keychain 就会看到如下的图<br />
图43<br />
  <span id="att_4337"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062559y9v.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062559y9v.png" border="0" alt="" width="700" /></span></p>
<p>这时你的电脑就已经具备发布程序的证书了</p>
<p>下面打开Provisioning 的Distribution页面<br />
图44<br />
  <span id="att_4338"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062559iSI.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062559iSI.png" border="0" alt="" width="700" /></span><br />
点击New Profile<br />
然后按着下图填一下，Profile Name 随便写个名字就行了<br />
图45<br />
  <span id="att_4339"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062600P9f.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062600P9f.png" border="0" alt="" width="700" /></span></p>
<p>然后Submit<br />
图46<br />
  <span id="att_4340"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062600zwq.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062600zwq.png" border="0" alt="" width="700" /></span></p>
<p>刷新一下<br />
图47<br />
  <span id="att_4341"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062600yCz.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062600yCz.png" border="0" alt="" width="700" /></span></p>
<p>OK现在Download ，你会得到一个 Distribution.mobileprovision 的文件<br />
双击这个文件，你的xcode 会被激活<br />
查看C盘<br />
Users用户名LibraryMobileDeviceProvisioning Profiles下面 又多了一个<br />
XXXXXX-XXXXXX-XXXXX-XXXXXX.mobileprovision的文件</p>
<p>现在我们再配置一下xcode<br />
图48<br />
  <span id="att_4342"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062601zx4.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062601zx4.png" border="0" alt="" /></span></p>
<p>打开Configurations 页面<br />
选中Release 然后Duplicate 一下<br />
图49<br />
  <span id="att_4343"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062601nUK.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062601nUK.png" border="0" alt="" width="700" /></span></p>
<p>Duplicate之后如下图<br />
图50<br />
  <span id="att_4344"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062602F8o.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062602F8o.png" border="0" alt="" width="700" /></span></p>
<p>我们把名字改成Distribution<br />
图51<br />
  <span id="att_4345"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062602Svd.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062602Svd.png" border="0" alt="" width="700" /></span></p>
<p>接着我们切换到Build 页面<br />
图52<br />
  <span id="att_4346"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0626036xW.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0626036xW.png" border="0" alt="" width="700" /></span><br />
图中1处选中Distribution   2处选中Distribution<br />
然后<br />
图53<br />
  <span id="att_4347"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/06260354g.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/06260354g.png" border="0" alt="" /></span></p>
<p>图54<br />
  <span id="att_4348"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0626031my.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/0626031my.png" border="0" alt="" width="700" /></span><br />
确定图54中，是你应该选的，不然build时会出现签名错误</p>
<p>确定之后，继续<br />
图55<br />
  <span id="att_4349"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062604gTd.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062604gTd.png" border="0" alt="" /></span></p>
<p>选中Device 和 Distribution<br />
OK<br />
图56<br />
  <span id="att_4350"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062605xGY.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062605xGY.png" border="0" alt="" /></span></p>
<p>Build  OK  大功告成了99.9%了</p>
<p>这时如果有签名错误，那一定是你上面某个地方出了问题</p>
<p>成功后<br />
图57<br />
  <span id="att_4351"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062605EKE.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062605EKE.png" border="0" alt="" width="700" /></span><br />
其中的iHide 就是我们要上传的东西，在上传之前，我们要把他压缩成 zip 包</p>
<p>现在我们在浏览器中输入<br />
itunesconnect.apple.com<br />
登录一下<br />
图58<br />
  <span id="att_4352"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062605HOv.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062605HOv.png" border="0" alt="" width="700" /></span></p>
<p>进入Manage Your Applications<br />
图59<br />
  <span id="att_4353"><strong></strong><br />
<img onclick="if(this.width&gt;=700) window.open('http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062606aYT.png');" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2010/06/062606aYT.png" border="0" alt="" /></span><br />
点击Add New Application<br />
……………</p>
<p>OK了<br />
后面的不说了~~~</p>
<p>工具下载见原帖地址 <a href="http://www.cocoachina.com/bbs/read.php?tid-7923.html">http://www.cocoachina.com/bbs/read.php?tid-7923.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2010/06/17/515/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>手机应用方向 &#8212; 突出LBS，简单，实用，本地化，随时可以关掉它不会有任何顾虑</title>
		<link>http://www.wangchao123.com/2010/06/10/504</link>
		<comments>http://www.wangchao123.com/2010/06/10/504#comments</comments>
		<pubDate>Thu, 10 Jun 2010 05:04:39 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[iphone Mac 手机应用开发]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/?p=504</guid>
		<description><![CDATA[经过一段时间的 iphone 开发和设计，在设计功能的时候也收到了一些以前设计 web 网站功能的影响 总结了一些体会： ********* 分析: ********* 1. 校内 iphone app -  校内本身网站功能是很复杂的，iphone 端做了很多取舍（即时聊天没有在里面） 总结起来他们突出了3个功能: 看好友动态；评论分享；照相上传， 他们在两个频道右上角都有 照相机的 图标，有效利用了手机上这个移动的镜头， 这个是 web 网站上没有的应该突出。          2. 新浪微薄 写微博2个突出功能（和 web 网站不同）： 坐标 &#8211; 添加我在 XXX 拍照 如果我在户外，拿着手机，我很喜欢用着两个功能。他是在 web 网站上没有的，也是手机特有的。                         3.  Foursquare                             以一个动作为核心 check in                             [...]]]></description>
			<content:encoded><![CDATA[<p>经过一段时间的 iphone 开发和设计，在设计功能的时候也收到了一些以前设计 web 网站功能的影响<br />
总结了一些体会：</p>
<p>*********<br />
分析:<br />
*********</p>
<p>1. 校内 iphone app - </p>
<p>校内本身网站功能是很复杂的，iphone 端做了很多取舍（即时聊天没有在里面）<br />
总结起来他们突出了3个功能: 看好友动态；评论分享；<span style="color: #ff0000;">照相上传，</span></p>
<p>他们在两个频道右上角都有 照相机的 图标，有效利用了手机上这个移动的镜头， 这个是 web 网站上没有的应该突出。</p>
<p><a href="http://www.wangchao123.com/wp-content/uploads/2010/06/IMG_0012.png"><img class="alignnone size-full wp-image-512" title="IMG_0012" src="http://www.wangchao123.com/wp-content/uploads/2010/06/IMG_0012.png" alt="IMG_0012" width="320" height="480" /></a><br />
        </p>
<p>2. 新浪微薄<br />
写微博2个突出功能（和 web 网站不同）：<br />
<span style="color: #ff0000;">坐标 &#8211; 添加我在 XXX<br />
拍照</span></p>
<p>如果我在户外，拿着手机，我很喜欢用着两个功能。他是在 web 网站上没有的，也是手机特有的。<br />
<a href="http://www.wangchao123.com/wp-content/uploads/2010/06/IMG_0013.png"><img class="alignleft size-full wp-image-510" title="IMG_0013" src="http://www.wangchao123.com/wp-content/uploads/2010/06/IMG_0013.png" alt="IMG_0013" width="320" height="480" /></a></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>3.  Foursquare<br />
                            以一个动作为核心 check in<br />
                            用到 <span style="color: #ff0000;">坐标</span></p>
<p>4. GyPSii 图钉网<br />
手机端：<br />
核心足迹功能<br />
<span style="color: #ff0000;">坐标 + 照片</span></p>
<p>web端<br />
类似 sns 的复杂功能</p>
<p><a href="http://www.wangchao123.com/wp-content/uploads/2010/06/IMG_0011.png"><img class="alignnone size-full wp-image-511" title="IMG_0011" src="http://www.wangchao123.com/wp-content/uploads/2010/06/IMG_0011.png" alt="IMG_0011" width="320" height="480" /></a></p>
<p>********<br />
总结<br />
********</p>
<p>手机端两个核心功能: <span style="color: #ff0000;">坐标， 拍照片。</span> （不要让 GPS 和 摄像头闲下来）</p>
<p>我们手机的 GPS 特性已经发挥了一些，下面可以考虑 照相功能 能不能 发挥一下，突出这个功能的同时，会同时突出会员功能 因为一定和会员提供的照片。</p>
<p>         我们可以设计出一个到两个动作,是我们的核心动作。</p>
<p>一开始我们设计的功能比较多, 之间的交叉也比较多。</p>
<p>         我们需要把手机端的功能尽量简化，把流程比较长的，和坐标，及时性无关的操作放到网站上，剩下精华的，很简单的操作放在手机端。</p>
<p>****************<br />
功能的本地化<br />
****************</p>
<p> 在国内比较本地的功能点:<br />
                           <br />
1. 交友   -       可以结合自拍，和场所，设计交互的功能。<br />
2. 贴图   -       利用拍摄功能，在显著的位置显示网友上传的真实照片 （甚至可以用网友最新拍摄的图作为 venue 的图标,不断更新像GyPSii）<br />
3. 突出 平民网友发布的攻略，省钱秘笈，特色小店 （对于官方的评价，官方介绍，这个对我们国内用户更有吸引力）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2010/06/10/504/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iphone app 功能设计分析</title>
		<link>http://www.wangchao123.com/2010/06/04/503</link>
		<comments>http://www.wangchao123.com/2010/06/04/503#comments</comments>
		<pubDate>Fri, 04 Jun 2010 06:39:26 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[iphone Mac 手机应用开发]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/2010/06/04/503</guid>
		<description><![CDATA[1. 尽量在一页做尽量少的事情 2. 同一功能尽量只有一个入口 3. table bar 很重要 4. 用原有 iphone 默认控件，让体验更顺畅。 5. 社交型APP 尽量少的给用户登出，重新注册的机会，一台手机绑定一个账号，他的价值很大。(gowalla 甚至没有给用户登出功能)]]></description>
			<content:encoded><![CDATA[<p>1. 尽量在一页做尽量少的事情<br />
2. 同一功能尽量只有一个入口<br />
3. table bar 很重要<br />
4. 用原有 iphone 默认控件，让体验更顺畅。<br />
5. 社交型APP</p>
<p>尽量少的给用户登出，重新注册的机会，一台手机绑定一个账号，他的价值很大。(gowalla 甚至没有给用户登出功能)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2010/06/04/503/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac OS iphone 开发起步 初级教程 hello world (转)</title>
		<link>http://www.wangchao123.com/2009/12/07/458</link>
		<comments>http://www.wangchao123.com/2009/12/07/458#comments</comments>
		<pubDate>Sun, 06 Dec 2009 16:42:02 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[iphone Mac 手机应用开发]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/?p=458</guid>
		<description><![CDATA[一、 确定Mac OS的版本号 版本号：Mac OS X version 10.5.5 CPU: Processor 1 GHz PowerPC G4 iPhone SDK:iPhone_sdk_for_iPhone_os_2.2.19m2621afinal.dmg 说明：每个IPhone SDK可能兼容的Mac OS都不同，该SDK支持10.5.3以后的版本。还有，Intel 和 PowerPC 不同的CPU设置文件也不同，同一种CPU不同型号，设置也不同（注意PowerPC G3/G4/G5不同型号），详细请看下文。 重点的是：官方的iPhone SDK只支持Intel Mac with OSX 10.5. 二、 安装IPhone SDK 1. iPhone sdk 的后缀名为.dmg,只要双击该文件，弹出一个对话框，点“skip”,这就看到里面有3个文件，分别是About iPhone SDK.pdf 、iphone sdk.mpkg 、 Packages.如下图： 2. 双击iPhone sdk.mpkg,按引导到Custom Install on”Macintosh HD”那步，如图： 这是会看到iPhone SDK不可选，不知道是什么问题，不用害怕，下面有解决方案，我们是把可选的都选了，让所有的包都安装到默认的路径下。 注意： Developer Tools Essentials那个包的安装路径（默认为/Developer），等下安装iPhone SDK 时需要安装到同一路径下。 其实这一步已经安装好了Xcode3.1 了。 3. 安装iPhone SDK. 进入到刚才的前面.mdg包里面的Packages文件夹，即第一张图中的Packages文件夹,选择如下5个包逐个安装。各个包名均以iphone*开头。 注意： 要安装到和Developer Tools Essentials同一目录，即/Developer 如果已经安装到其他目录，可以不用重装。进入到安装目录，默认是/Platforms，然后复制 iPhone.platform 和iPhoneSimulator.platform 到 /Developer/Platform，注意不要把整个/Platforms复制。 现在还不能建立iphone 项目，就算建好也编译不过。出现如下错误： No architectures to compile for (ONLY_ACTIVE_ARCH = YES, active arch = ppc, i386 VALID_ARCHS =) 所以需要进一步配置文件 4. 配置Architectures.xcspec文件 因为官方的iPhone SDK只支持Intel Mac with OSX 10.5.。所以要更改所有intel的配置。 进入到  /Developer/Platforms/iPhoneSimulator.platform/Developer/ Library/Xcode/Specifications/，你会看到3个文件，修改其中的Architectures.xcspec文件 注意：不要用copy内页代码来改，要用手动输入，因为网页编码不一致问题。 具体修改如下： ( // 32-Bit { Type = Architecture; Identifier = Standard; Name = ”Standard (iPhone Simulator: i386, ppc)”; Description = ”32-bit iPhone Simulator architectures”; ListInEnum = YES; SortNumber = 1; RealArchitectures = ( i386, ppc ); ArchitectureSetting = ”ARCHS_STANDARD_32_BIT”; }, // Old-style Debug { Type = Architecture; Identifier = Native; Name = ”Native Architecture of Build Machine”; Description = ”32-bit for build machine”; ListInEnum = YES; SortNumber = 101; ArchitectureSetting = ”NATIVE_ARCH”; }, // G3 { Type = Architecture; Identifier = ppc; Name = ”Minimal (32-bit PowerPC only)”; Description = ”32-bit PowerPC ”; PerArchBuildSettingName = ”PowerPC”; ByteOrder = big; ListInEnum = No; SortNumber = 201; [...]]]></description>
			<content:encoded><![CDATA[<p style="TEXT-INDENT: 2em">一、 确定Mac OS的版本号</p>
<p style="TEXT-INDENT: 2em">版本号：Mac OS X version 10.5.5</p>
<p style="TEXT-INDENT: 2em">CPU: Processor 1 GHz PowerPC G4</p>
<p style="TEXT-INDENT: 2em">iPhone SDK:iPhone_sdk_for_iPhone_os_2.2.19m2621afinal.dmg</p>
<p style="TEXT-INDENT: 2em">说明：每个IPhone SDK可能兼容的Mac OS都不同，该SDK支持10.5.3以后的版本。还有，Intel 和 PowerPC 不同的CPU设置文件也不同，同一种CPU不同型号，设置也不同（注意PowerPC G3/G4/G5不同型号），详细请看下文。</p>
<p style="TEXT-INDENT: 2em">重点的是：官方的iPhone SDK只支持Intel Mac with OSX 10.5.</p>
<p style="TEXT-INDENT: 2em">二、 安装IPhone SDK</p>
<p style="TEXT-INDENT: 2em">1. iPhone sdk 的后缀名为.dmg,只要双击该文件，弹出一个对话框，点“skip”,这就看到里面有3个文件，分别是About iPhone SDK.pdf 、iphone sdk.mpkg 、 Packages.如下图：</p>
<p style="TEXT-INDENT: 2em"><a href="http://www.wangchao123.com/wp-content/uploads/2009/12/b1.jpg" target="_blank"><img title="IPhone开发环境搭建全过程 - jsc0754 - 单车音乐~~" src="http://www.wangchao123.com/wp-content/uploads/2009/12/b1.jpg" alt="IPhone开发环境搭建全过程 - jsc0754 - 单车音乐~~" /></a></p>
<p style="TEXT-INDENT: 2em">2. 双击iPhone sdk.mpkg,按引导到Custom Install on”Macintosh HD”那步，如图：</p>
<p style="TEXT-INDENT: 2em"><a href="httphttp://www.wangchao123.com/wp-content/uploads/2009/12/b2.jpg" target="_blank"><img title="IPhone开发环境搭建全过程 - jsc0754 - 单车音乐~~" src="http://www.wangchao123.com/wp-content/uploads/2009/12/b2.jpg" alt="IPhone开发环境搭建全过程 - jsc0754 - 单车音乐~~" /></a></p>
<p style="TEXT-INDENT: 2em">这是会看到iPhone SDK不可选，不知道是什么问题，不用害怕，下面有解决方案，我们是把可选的都选了，让所有的包都安装到默认的路径下。</p>
<p style="TEXT-INDENT: 2em">注意： Developer Tools Essentials那个包的安装路径（默认为/Developer），等下安装iPhone SDK 时需要安装到同一路径下。</p>
<p style="TEXT-INDENT: 2em">其实这一步已经安装好了Xcode3.1 了。</p>
<p style="TEXT-INDENT: 2em">3. 安装iPhone SDK.</p>
<p style="TEXT-INDENT: 2em">进入到刚才的前面.mdg包里面的Packages文件夹，即第一张图中的Packages文件夹,选择如下5个包逐个安装。各个包名均以iphone*开头。</p>
<p style="TEXT-INDENT: 2em"><a href="http://www.wangchao123.com/wp-content/uploads/2009/12/b3.jpg" target="_blank"><img title="IPhone开发环境搭建全过程 - jsc0754 - 单车音乐~~" src="http://www.wangchao123.com/wp-content/uploads/2009/12/b3.jpg" alt="IPhone开发环境搭建全过程 - jsc0754 - 单车音乐~~" /></a></p>
<p style="TEXT-INDENT: 2em">注意：</p>
<p style="TEXT-INDENT: 2em">要安装到和Developer Tools Essentials同一目录，即/Developer</p>
<p style="TEXT-INDENT: 2em"><a href="http://www.wangchao123.com/wp-content/uploads/2009/12/b4.jpg" target="_blank"><img title="IPhone开发环境搭建全过程 - jsc0754 - 单车音乐~~" src="http://www.wangchao123.com/wp-content/uploads/2009/12/b4.jpg" alt="IPhone开发环境搭建全过程 - jsc0754 - 单车音乐~~" /></a></p>
<p style="TEXT-INDENT: 2em">如果已经安装到其他目录，可以不用重装。进入到安装目录，默认是/Platforms，然后复制 iPhone.platform 和iPhoneSimulator.platform 到 /Developer/Platform，注意不要把整个/Platforms复制。</p>
<p style="TEXT-INDENT: 2em">
<p style="TEXT-INDENT: 2em">现在还不能建立iphone 项目，就算建好也编译不过。出现如下错误：</p>
<p style="TEXT-INDENT: 2em">No architectures to compile for (ONLY_ACTIVE_ARCH = YES, active arch = ppc, i386 VALID_ARCHS =)</p>
<p style="TEXT-INDENT: 2em">所以需要进一步配置文件</p>
<p style="TEXT-INDENT: 2em">4. 配置Architectures.xcspec文件</p>
<p style="TEXT-INDENT: 2em">因为官方的iPhone SDK只支持Intel Mac with OSX 10.5.。所以要更改所有intel的配置。</p>
<p style="TEXT-INDENT: 2em">进入到  /Developer/Platforms/iPhoneSimulator.platform/Developer/</p>
<p style="TEXT-INDENT: 2em">Library/Xcode/Specifications/，你会看到3个文件，修改其中的Architectures.xcspec文件</p>
<p style="TEXT-INDENT: 2em">注意：不要用copy内页代码来改，要用手动输入，因为网页编码不一致问题。</p>
<p style="TEXT-INDENT: 2em">具体修改如下：</p>
<p style="TEXT-INDENT: 2em">(</p>
<p style="TEXT-INDENT: 2em">// 32-Bit</p>
<p style="TEXT-INDENT: 2em">{ Type = Architecture;</p>
<p style="TEXT-INDENT: 2em">Identifier = Standard;</p>
<p style="TEXT-INDENT: 2em">Name = ”Standard (iPhone Simulator: i386, ppc)”;</p>
<p style="TEXT-INDENT: 2em">Description = ”32-bit iPhone Simulator architectures”;</p>
<p style="TEXT-INDENT: 2em">ListInEnum = YES;</p>
<p style="TEXT-INDENT: 2em">SortNumber = 1;</p>
<p style="TEXT-INDENT: 2em">RealArchitectures = ( i386, ppc );</p>
<p style="TEXT-INDENT: 2em">ArchitectureSetting = ”ARCHS_STANDARD_32_BIT”;</p>
<p style="TEXT-INDENT: 2em">},</p>
<p style="TEXT-INDENT: 2em">// Old-style Debug</p>
<p style="TEXT-INDENT: 2em">{ Type = Architecture;</p>
<p style="TEXT-INDENT: 2em">Identifier = Native;</p>
<p style="TEXT-INDENT: 2em">Name = ”Native Architecture of Build Machine”;</p>
<p style="TEXT-INDENT: 2em">Description = ”32-bit for build machine”;</p>
<p style="TEXT-INDENT: 2em">ListInEnum = YES;</p>
<p style="TEXT-INDENT: 2em">SortNumber = 101;</p>
<p style="TEXT-INDENT: 2em">ArchitectureSetting = ”NATIVE_ARCH”;</p>
<p style="TEXT-INDENT: 2em">},</p>
<p style="TEXT-INDENT: 2em">// G3</p>
<p style="TEXT-INDENT: 2em">{ Type = Architecture;</p>
<p style="TEXT-INDENT: 2em">Identifier = ppc;</p>
<p style="TEXT-INDENT: 2em">Name = ”Minimal (32-bit PowerPC only)”;</p>
<p style="TEXT-INDENT: 2em">Description = ”32-bit PowerPC ”;</p>
<p style="TEXT-INDENT: 2em">PerArchBuildSettingName = ”PowerPC”;</p>
<p style="TEXT-INDENT: 2em">ByteOrder = big;</p>
<p style="TEXT-INDENT: 2em">ListInEnum = No;</p>
<p style="TEXT-INDENT: 2em">SortNumber = 201;</p>
<p style="TEXT-INDENT: 2em">},</p>
<p style="TEXT-INDENT: 2em">// G4  这个是我台机的型号</p>
<p style="TEXT-INDENT: 2em">{ Type = Architecture;</p>
<p style="TEXT-INDENT: 2em">Identifier = ppc7400;</p>
<p style="TEXT-INDENT: 2em">Name = ”PowerPC G4&#8243;;</p>
<p style="TEXT-INDENT: 2em">Description = ”32-bit PowerPC for G4 processor”;</p>
<p style="TEXT-INDENT: 2em">ByteOrder = big;</p>
<p style="TEXT-INDENT: 2em">ListInEnum = NO;</p>
<p style="TEXT-INDENT: 2em">SortNumber = 202;</p>
<p style="TEXT-INDENT: 2em">},</p>
<p style="TEXT-INDENT: 2em">// G5 32-bit</p>
<p style="TEXT-INDENT: 2em">{ Type = Architecture;</p>
<p style="TEXT-INDENT: 2em">Identifier = ppc970;</p>
<p style="TEXT-INDENT: 2em">Name = ”PowerPC G5 32-bit”;</p>
<p style="TEXT-INDENT: 2em">Description = ”32-bit PowerPC for G5 processor”;</p>
<p style="TEXT-INDENT: 2em">ByteOrder = big;</p>
<p style="TEXT-INDENT: 2em">ListInEnum = NO;</p>
<p style="TEXT-INDENT: 2em">SortNumber = 203;</p>
<p style="TEXT-INDENT: 2em">},</p>
<p style="TEXT-INDENT: 2em">// Intel</p>
<p style="TEXT-INDENT: 2em">{ Type = Architecture;</p>
<p style="TEXT-INDENT: 2em">Identifier = i386;</p>
<p style="TEXT-INDENT: 2em">Name = ”Intel”;</p>
<p style="TEXT-INDENT: 2em">Description = ”32-bit Intel”;</p>
<p style="TEXT-INDENT: 2em">PerArchBuildSettingName = ”Intel”;</p>
<p style="TEXT-INDENT: 2em">ByteOrder = little;</p>
<p style="TEXT-INDENT: 2em">ListInEnum = NO;</p>
<p style="TEXT-INDENT: 2em">SortNumber = 105;</p>
<p style="TEXT-INDENT: 2em">},</p>
<p style="TEXT-INDENT: 2em">)</p>
<p style="TEXT-INDENT: 2em">注意：不要copy，只能手输入以上代码，否则出错！！</p>
<p style="TEXT-INDENT: 2em">
<p style="TEXT-INDENT: 2em">这样就完成设置了。</p>
<p style="TEXT-INDENT: 2em">=====================================================================</p>
<p style="TEXT-INDENT: 2em">打开/Developer/Applications/选择Xcode,程序并不会马上<span onclick="tagshow(event)">运行</span>,而是要你到快捷方式里再次点击打开.</p>
<p>打开File-&gt;new project选择View-Based Application</p>
<p><img id="img_0.6076933892962835" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2009/12/090603k93.jpg" alt="" width="478" height="387" /></p>
<p>输入<span onclick="tagshow(event)">项目</span>名称.</p>
<p><img id="img_0.16496537864541938" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2009/12/090605spA.jpg" alt="" width="479" height="389" /></p>
<p>接下来看到的就是常见的<span onclick="tagshow(event)">文档</span>视图,在Groups&amp;Files下Resources里双击MainWindws.xib,紧接着将看到有新窗口的打开;</p>
<p><img id="img_0.42260672565168405" style="CURSOR: pointer" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2009/12/090607HAz.jpg" alt="" width="600" height="375" /></p>
<p>这时你可以拖动LIbery里的<span onclick="tagshow(event)">控件</span>,像VS.net里一样使用就可以啦,运行行先保存,File-&gt;Save,运行Build and run.</p>
<p><img id="img_0.2472348211003348" src="http://www.wangchao123.com/wp-content/uploads/auto_save_image/2009/12/090608iHj.jpg" alt="" width="393" height="705" /></p>
<p>这么一来,一个简单的HelloWorld就完成啦,兴喜.</p>
<p>另外还发现,IPhone的<span onclick="tagshow(event)">模拟</span>器启动很快,基本不用时间哦,这点比其它强吧!展开Groups&amp;Files 下的 Resources目录，选择双击MainWindow.xib,就会弹出xib主窗口和libery窗口，如果没有，可以通过Tools来调出窗口。Libery里有不同的控件，可以拖放到View窗口里，单击选中控件，选择Tools-&gt;inspetor打开属性窗口修改控件属性。</p>
<p style="TEXT-INDENT: 2em">然后File-&gt;Save，Build-&gt;build and run.</p>
<p style="TEXT-INDENT: 2em">大功告成！！</p>
<p style="TEXT-INDENT: 2em">参考网站：</p>
<p style="TEXT-INDENT: 2em"><a href="http://www.devdiv.net/thread-11230-1-1.html">http://www.devdiv.net/thread-11230-1-1.html</a></p>
<p style="TEXT-INDENT: 2em"><a href="http://jsc0754.blog.163.com/blog/static/1038922452009281156410/">http://jsc0754.blog.163.com/blog/static/1038922452009281156410/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2009/12/07/458/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>macOS 10.5.6 详细安装过程(IBM T61)</title>
		<link>http://www.wangchao123.com/2009/11/27/427</link>
		<comments>http://www.wangchao123.com/2009/11/27/427#comments</comments>
		<pubDate>Fri, 27 Nov 2009 06:46:59 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[iphone Mac 手机应用开发]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/?p=427</guid>
		<description><![CDATA[准备工作： 了解自己电脑的配置，和硬件的型号可以用 everest 等软件很快的获取到： IBM T61 配置： 操作系统      Microsoft Windows XP Professional 5.1.2600 (WinXP Retail) 处理器名称 Mobile DualCore Intel Core 2 Duo T7500, 2183 MHz (11 x 198) 主板名称      Lenovo ThinkPad T61 主板芯片组 Intel Crestline-PM PM965 系统内存     3072 MB  (DDR2 SDRAM) 显示卡         NVIDIA Quadro NVS 140M  (512 MB) 显示器         Lenovo LTN141W1-L05  [14.1" LCD] 声卡             Analog Devices AD1984 [...]]]></description>
			<content:encoded><![CDATA[<p>准备工作：</p>
<p>了解自己电脑的配置，和硬件的型号可以用 everest 等软件很快的获取到：</p>
<p><span style="color: #0000ff;">IBM T61 配置：</span></p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">操作系统      Microsoft Windows XP Professional 5.1.2600 (WinXP Retail)<br />
处理器名称 Mobile DualCore Intel Core 2 Duo T7500, 2183 MHz (11 x 198)<br />
主板名称      Lenovo ThinkPad T61<br />
主板芯片组 Intel Crestline-PM PM965<br />
系统内存     3072 MB  (DDR2 SDRAM)<br />
显示卡         NVIDIA Quadro NVS 140M  (512 MB)<br />
显示器         Lenovo LTN141W1-L05  [14.1" LCD]<br />
声卡             Analog Devices AD1984 @ Intel 82801HBM ICH8M &#8211; High Definition Audio Controller</span></p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">网卡:           Intel(R) 82566MM Gigabit Network Connection<br />
无线网卡: Intel(R) Wireless WiFi Link 4965AGN</span></p>
<p><strong>开始安装</strong></p>
<p>1、将安装光盘放到到光驱中，以光驱起动机器到安装界面。</p>
<p>2、选择简体中文作为主要语言，然后点一下&#8230;&gt;按钮。起动到准备安装界面，稍等一会儿后，到正式的安装欢迎界面。此时点屏上方的实用工具，调出“磁盘工具”，对你的硬盘进行初始化的操作。一般我们将把MAC OS安装在C分区，所以对原C分区进行“抹掉”操作（原C盘数据将全部丢失！）。</p>
<p>3、点抹掉并确认后，关闭窗口，回到欢迎界面。点“继续”钮。点“同意”Pass过许可协议页。到达选择目的宗卷页。选择你将要安装到的盘，点继续。</p>
<p>4、到达安装摘要页，在这里进入最最关键的部分，此时，不要直接点安装（直接点安装99%以上要失败，你的机器真的是APPLE机器的话也许会成功）。点“自定”按钮，进入驱动及附加包的选择安装页面。</p>
<p>5、选择如下：<br />
本地化语言：<br />
你爱怎么选怎么选，不过一般我们选两个中文够了。你要是不选中文，那就是不想用中文的MAC OS了，我也没得说。反正不会失败。</p>
<p>附加字体：<br />
选上的好。</p>
<p>X11：请选上吧，以后用得着的，不选应该也没关系，是一个功能包。</p>
<p>iDeneb Essential System：选上吧，不选的话估计等于没装。</p>
<p>Patches 10.5.6 Ready：这个玩意是关键里的关键，是驱动，里面的东西选错了那就是失败！<br />
Alternative Essential Patch 展开它<br />
ACPI K10.5.6  电源管理驱动.(本人选上了).<br />
PS2Fix for ACPI kext 10.5.6 (展开有两项) 如果你使用的是PS的键盘鼠标,请考虑选上,否则就不要选了.<br />
AMD Patch 如果你使用的是AMD的CPU,请考虑选上.<br />
Audio 展开它,并根据你的机器的声卡硬件进行选择.<br />
<span style="color: #0000ff;"><span style="color: #000000;">Analog Devices </span></span><span style="color: #000000;">展开它，因为我的机器是 AD1984</span><br />
Chipset 展开它,并根据你的机器的主板芯片进行选择.里面有好多,就不一一列出.<br />
ICHx Fixed 本人机器使用的是ICH8,这项需要选择.其它不选.<br />
Kernel 系统核心选择.展开它.<br />
Kernel 9.5.0 Voodoo,本人选它,看编号最新.其它不选.<br />
Network 网络,展开它.<br />
Ethernet 以太网,展开它.根据你的网卡型号选择.<br />
Intel 82566 本人选择它.E520的网卡为Intel 82562这个网卡仅兼容，驱动得不完美，<span style="color: red;">一般情况下正常，一但睡眠醒来，网卡将无法正常工作！</span>.当前本人没找到解决办法！<br />
Wireless 无线网.请根据你自已的无线网卡型号选择.本人台机,华丽地飘过.<br />
Fix 修正包集合,展开它,仅列出少量.<br />
Cpus=1-Fix 单核CPU请考虑选它.本人不选<br />
AppleSMBIOS 内存相关展开<br />
AppleSMBIOS 667 本人667主频的内存,选择它.(经本人测试,可以不选,是否影响系统速度本人不知).<br />
FireWire Remove <span style="color: red;">这个不能选，选的话，你的IEEE 1394卡就没用了</span>.仅在不打算使用摄像机及其它IEEE 1394总线的朋友在无法安装时用。<br />
Seatbel Fix 传说中的MAC四国补丁,不选它你就能看见四国了.没看见过四国的我很希望有一天有空看看.本项对我来说必选.<br />
PowerOff_Fix 我选了这个。（E520机器不选这个的话，每回关机、重起，你就记得拔市电吧，否则就是黑苹果）。<br />
PowerOff_OpenHaltRestart (这个在E520上不要装，装了睡眠后就没法恢复).<span style="color: red;">这两项修正zwbshadow的说法</span><br />
System Utilties   展开后里面就一个CPU控制,估计是CPU省电控制的,本人没选.<br />
Video 显卡驱动. 估计一定要选一个,反正我如果没选,重起动就是黑屏,键盘能正常响应,就是什么也看不到了.<br />
NVdarwin 512MB 本人外接了一个<span style="color: #0000ff;"> <span style="color: #000000;">NVIDIA Quadro NVS 140M  (512 MB)</span></span>的显卡,为<span style="color: #0000ff;"><span style="color: #000000;">(512</span></span>M显存的,所以选它了.请根据你的实际选，<span style="color: green;">一般GF的显卡你只要设对了显存就OK了</span>.<br />
Intel GMA X3100 如果是Dell E520集成显卡的,应该要选它.<br />
Applications 软件包,随你的高兴去选择.我是不懂的,所以,我全选了.宁全勿失的原则.<br />
Netbook 笔记本专用 台式机再次飘过.</p>
<p>6、选完了就点“完成”吧。点完成后回到安装摘要界面，点“安装”。</p>
<p>7、漫长的安装过程开始了，最开始是检测光盘的完整，点跳过，到下面的界面：</p>
<p><span style="color: #ff6600;">参考网站，感谢他们的指导：</span></p>
<p><a href="http://bbs.pcbeta.com/thread-618714-1-1.html">http://bbs.pcbeta.com/thread-618714-1-1.html</a><br />
<a href="http://bbs.weiphone.com/read-htm-tid-358709.html">http://bbs.weiphone.com/read-htm-tid-358709.html</a><br />
<a href="http://bbs.pcbeta.com/viewthread.php?tid=523231&amp;highlight=%2B%B0%A5%D1%BD%A1%AD%A1%AD">http://bbs.pcbeta.com/viewthread.php?tid=523231&amp;highlight=%2B%B0%A5%D1%BD%A1%AD%A1%AD</a><br />
<a href="http://bbs.pcbeta.com/thread-444466-1-1.html">IBM X61安装iDENEB10.5.6成功经验</a><br />
<a href="http://bbs.pcbeta.com/thread-444466-1-1.html">IBM X61安装iDENEB10.5.6成功经验</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2009/11/27/427/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VMware7.0 安装 MacOS 10.5.6 并升级为 10.5.8 成功 &#8211; （host 电脑为 IBM T61 windows XP SP2）</title>
		<link>http://www.wangchao123.com/2009/11/23/405</link>
		<comments>http://www.wangchao123.com/2009/11/23/405#comments</comments>
		<pubDate>Sun, 22 Nov 2009 19:13:16 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[iphone Mac 手机应用开发]]></category>
		<category><![CDATA[MacOS]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/?p=405</guid>
		<description><![CDATA[为了做mac 开发 安装虚拟机系统，参考了网上的做法。安装了5次，终于成功~ 步骤： 1. 安装 vmware 7.0 2. 新建虚拟机 （1）点击新建 （2）选择 wokstation 6.5-7.0 (3) 选择 mac os 10.5.6 的镜像 iso 文件 (4) 选择 FreeBsd 64-bit 系统 (5) 选择 1 个 cpu 2个核 （我的电脑是双核的） (6) 最好 1 G 内存 (7) 网络为 use bridged networking (8)创建i/o 设备 选择 LSI logic （默认） （9）创建硬盘 create a new virtual [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.wangchao123.com/wp-content/uploads/2009/11/app.jpg" alt="" width="368" height="230" /></p>
<p>为了做mac 开发 安装虚拟机系统，参考了网上的做法。安装了5次，终于成功~</p>
<p>步骤：</p>
<p>1. 安装 vmware 7.0</p>
<p>2. 新建虚拟机</p>
<p>（1）点击新建</p>
<p><img class="alignnone" title="新建虚拟机" src="http://www.wangchao123.com/wp-content/uploads/2009/11/step1.jpg" alt="" width="300" height="310" /></p>
<p>（2）选择 wokstation 6.5-7.0</p>
<p><img class="alignnone" src="http://www.wangchao123.com/wp-content/uploads/2009/11/st2.jpg" alt="" width="300" height="303" /></p>
<p>(3) 选择 mac os 10.5.6 的镜像 iso 文件</p>
<p><img class="alignnone" src="http://www.wangchao123.com/wp-content/uploads/2009/11/st3.jpg" alt="" width="300" height="303" /></p>
<p>(4) 选择 FreeBsd 64-bit 系统</p>
<p><img class="alignnone" src="http://www.wangchao123.com/wp-content/uploads/2009/11/st4.jpg" alt="" width="300" height="303" /></p>
<p>(5) 选择 1 个 cpu 2个核 （我的电脑是双核的）</p>
<p><img class="alignnone" src="http://www.wangchao123.com/wp-content/uploads/2009/11/st5.jpg" alt="" width="300" height="303" /></p>
<p>(6) 最好 1 G 内存</p>
<p><img class="alignnone" src="http://www.wangchao123.com/wp-content/uploads/2009/11/st7.jpg" alt="" width="300" height="303" /></p>
<p>(7) 网络为 use bridged networking</p>
<p><img class="alignnone" src="http://www.wangchao123.com/wp-content/uploads/2009/11/st8.jpg" alt="" width="300" height="303" /></p>
<p>(8)创建i/o 设备 选择 LSI logic （默认）</p>
<p><img class="alignnone" src="http://www.wangchao123.com/wp-content/uploads/2009/11/st9.jpg" alt="" width="300" height="303" /></p>
<p>（9）创建硬盘 create a new virtual disk</p>
<p>（10）选择SCSI  （默认）</p>
<p>（11）容量 30G （开发用，本身系统大概13G左右）</p>
<p>（12）然后 “下一步”创建完成</p>
<p>（13）<span style="color: #ff0000;">(重要)</span> 新建完虚拟机后，关闭VMWare程序，打开虚拟机所在目录，使用记事本打开扩展名为“.vmx”的文件，查找含有：“guestOS = ”的一行（一定只有一处），找到后将该行改为：guestOS = “darwin10&#8243;，然后重新起动VMWare程序，查看刚新建的虚拟机的配置，看它的Options中的General项中是否设定为Mac OS Server 10.6。</p>
<p>（14）启动 mac 这台虚拟机，会自动引导到安装盘的 iso 开始安装 mac 系统</p>
<p>详细过程见《<a href="http://www.wangchao123.com/2009/11/27/427" target="_blank">macOS 10.5.6 详细安装过程(IBM T61)</a>》</p>
<p>（15）重启后一切正常<br />
(16) 升级 10.5.8 到官网下载</p>
<p><a href="http://www.apple.com/downloads/macosx/apple/macosx_updates/macosx1058comboupdate.html">http://www.apple.com/downloads/macosx/apple/macosx_updates/macosx1058comboupdate.html</a></p>
<p>（17）安装驱动，终于找到了 在 VM 里面用的声卡和显卡驱动:<br />
下载地址：<br />
[Download not found]</p>
<p>可执行文件都执行一遍，需要注意的是: 有一个文件双击后无反应，直接点击右键-》 打开方式-》Pacifist<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><span style="color: #ff6600;">参考网站，感谢他们的指导：</span></p>
<p><a href="http://bbs.pcbeta.com/thread-618714-1-1.html">http://bbs.pcbeta.com/thread-618714-1-1.html</a><br />
<a href="http://bbs.weiphone.com/read-htm-tid-358709.html">http://bbs.weiphone.com/read-htm-tid-358709.html</a><br />
<a href="http://bbs.pcbeta.com/viewthread.php?tid=523231&amp;highlight=%2B%B0%A5%D1%BD%A1%AD%A1%AD">http://bbs.pcbeta.com/viewthread.php?tid=523231&amp;highlight=%2B%B0%A5%D1%BD%A1%AD%A1%AD</a></p>
<div id="_mcePaste" style="left: -10000px; overflow: hidden; width: 1px; position: absolute; top: 0px; height: 1px;">http://www.wangchao123.com/wp-content/uploads/2009/11/app.jpg</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2009/11/23/405/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>10个iPhone开发教学网站、论坛、博客 (转)</title>
		<link>http://www.wangchao123.com/2009/11/17/402</link>
		<comments>http://www.wangchao123.com/2009/11/17/402#comments</comments>
		<pubDate>Tue, 17 Nov 2009 13:10:35 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[iphone Mac 手机应用开发]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/?p=402</guid>
		<description><![CDATA[整理了一下手中的iPhone开发网站、论坛和博客，精选了这10个常去的网站。其中有2篇教学文章，由于非常经典，于是单列出来，与其网站并列。本文的短网址为 http://bit.ly/3llz7建议新入行的朋友在看教学文章的同时多上论坛，与大家交流，偶尔看看别人的自曝，自己也会信心倍增。另外，实践最重要，首先行动起来。http://cocoachina.com/ 大量iPhone开发资料，教学，经验，还有自曝。http://www.javaeye.com/forums/board/mobile iPhone开发论坛，人气鼎盛，大量自曝，还有Android的讨论 http://developer.apple.com/iphone/ 苹果iPhone开发官方主页，提供大量实例、文档和教学视频 http://www.stanford.edu/class/cs193p/ 斯坦福大学的iPhone课程，2009年4～6月，有pdf和视频下载 http://bit.ly/RuaKq 飞机游戏iFighter的作者dr_watson写的iPhone游戏开发经典教学系列，有源码 http://www.iphoneside.com/ iPhone达人的博客，很多有价值的资源下载，新闻和教程 http://lichen1985.com/blog/ iPhone应用的作者，雨雪霏霏的iPhone博客，很多开发手记和心得 http://blog.liuhongwei.cn/category/iphone/ iPhone开发博客，提供教学文章，经验分享，还有GAE http://www.otierney.net/objective-c.html.zh-tw.big5#piecing   文档 web 版本 http://www.javaeye.com/topic/422948 iPhone日本市场高手的自曝贴，第1个月就赚了2千刀，大量详细的数字和图片http://dev.iphonetw.net/ 台湾iPhone开发者论坛，有些教学文章和讨论 http://devforums.apple.com/ http://www.iphonedevsdk.com/ http://stackoverflow.com/questions/tagged/iphone http://forums.macrumors.com/forumdisplay.php?f=135 http://www.aboutobjects.com/tutorials.html]]></description>
			<content:encoded><![CDATA[<ul>
<li>整理了一下手中的iPhone开发网站、论坛和博客，精选了这10个常去的网站。其中有2篇教学文章，由于非常经典，于是单列出来，与其网站并列。本文的短网址为 <a rel="nofollow" href="http://bit.ly/3llz7" target="_blank">http://bit.ly/3llz7</a>建议新入行的朋友在看教学文章的同时多上论坛，与大家交流，偶尔看看别人的自曝，自己也会信心倍增。另外，实践最重要，首先行动起来。<a rel="nofollow" href="http://cocoachina.com/" target="_blank">http://cocoachina.com/</a> 大量iPhone开发资料，教学，经验，还有自曝。<a rel="nofollow" href="http://www.javaeye.com/forums/board/mobile" target="_blank">http://www.javaeye.com/forums/board/mobile</a> iPhone开发论坛，人气鼎盛，大量自曝，还有Android的讨论
<p><a rel="nofollow" href="http://developer.apple.com/iphone/" target="_blank">http://developer.apple.com/iphone/</a> 苹果iPhone开发官方主页，提供大量实例、文档和教学视频</p>
<p><a rel="nofollow" href="http://www.stanford.edu/class/cs193p/" target="_blank">http://www.stanford.edu/class/cs193p/</a> 斯坦福大学的iPhone课程，2009年4～6月，有pdf和视频下载</p>
<p><a rel="nofollow" href="http://bit.ly/RuaKq" target="_blank">http://bit.ly/RuaKq</a> 飞机游戏iFighter的作者dr_watson写的iPhone游戏开发经典教学系列，有源码</p>
<p><a rel="nofollow" href="http://www.iphoneside.com/" target="_blank">http://www.iphoneside.com/</a> iPhone达人的博客，很多有价值的资源下载，新闻和教程</p>
<p><a rel="nofollow" href="http://lichen1985.com/blog/" target="_blank">http://lichen1985.com/blog/</a> iPhone应用的作者，雨雪霏霏的iPhone博客，很多开发手记和心得</p>
<p><a rel="nofollow" href="http://blog.liuhongwei.cn/category/iphone/" target="_blank">http://blog.liuhongwei.cn/category/iphone/</a> iPhone开发博客，提供教学文章，经验分享，还有GAE</li>
<li><a href="http://www.otierney.net/objective-c.html.zh-tw.big5#piecing">http://www.otierney.net/objective-c.html.zh-tw.big5#piecing</a>   文档 web 版本</li>
<li><a rel="nofollow" href="http://www.javaeye.com/topic/422948" target="_blank">http://www.javaeye.com/topic/422948</a> iPhone日本市场高手的自曝贴，第1个月就赚了2千刀，大量详细的数字和图片<a rel="nofollow" href="http://dev.iphonetw.net/" target="_blank">http://dev.iphonetw.net/</a> 台湾iPhone开发者论坛，有些教学文章和讨论</li>
<li><a href="http://devforums.apple.com/">http://devforums.apple.com/</a><br />
<a href="http://www.iphonedevsdk.com/">http://www.iphonedevsdk.com/</a><br />
<a href="http://stackoverflow.com/questions/tagged/iphone">http://stackoverflow.com/questions/tagged/iphone</a><br />
<a href="http://forums.macrumors.com/forumdisplay.php?f=135">http://forums.macrumors.com/forumdisplay.php?f=135</a><br />
<a href="http://www.aboutobjects.com/tutorials.html">http://www.aboutobjects.com/tutorials.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2009/11/17/402/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

