<?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>iPhoneGeek 爱疯极客 &#187; 开源项目</title>
	<atom:link href="http://www.iphone-geek.cn/tag/%e5%bc%80%e6%ba%90%e9%a1%b9%e7%9b%ae/feed" rel="self" type="application/rss+xml" />
	<link>http://www.iphone-geek.cn</link>
	<description>iPhone 新闻，编程，技巧与提示，代码，教程</description>
	<lastBuildDate>Sun, 25 Jul 2010 13:49:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>iPhone用Expat XML解析器</title>
		<link>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/iphone%e7%94%a8expat-xml%e8%a7%a3%e6%9e%90%e5%99%a8</link>
		<comments>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/iphone%e7%94%a8expat-xml%e8%a7%a3%e6%9e%90%e5%99%a8#comments</comments>
		<pubDate>Fri, 23 Jul 2010 10:29:09 +0000</pubDate>
		<dc:creator>bagusflyer</dc:creator>
				<category><![CDATA[基础]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[开源项目]]></category>

		<guid isPermaLink="false">http://www.iphone-geek.cn/?p=985</guid>
		<description><![CDATA[xml的解析运用的十分广泛，我以前也介绍过使用ticpp（tinyxml的c++版本）进行简单的xml解析，见跨平台代码分享之三–xml解析器，它是采用DOM进行解析。iPhone SDK中自带的NSXMLParsers也可进行xml解析，但是对于解析web server下载的大型文件时效率不够高，有一个第三方的objective  c expat wrapper 采用expat（SAX方式）进行解析，效率非常高。据有人测试，其效率相对于NSXMLParsers约提高了70-80%。

下面是其下载地址。


]]></description>
			<content:encoded><![CDATA[<p>xml的解析运用的十分广泛，我以前也介绍过使用ticpp（tinyxml的c++版本）进行简单的xml解析，见<a title="跨平台代码分享之三–xml解析器" href="编程/跨平台代码分享之三-–-xml解析器">跨平台代码分享之三–xml解析器</a>，它是采用DOM进行解析。iPhone SDK中自带的NSXMLParsers也可进行xml解析，但是对于解析web server下载的大型文件时效率不够高，有一个第三方的<a onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.robbiehanson.com/expat.html');" href="http://www.robbiehanson.com/expat.html">objective  c expat wrapper</a> 采用expat（SAX方式）进行解析，效率非常高。据有人测试，其效率相对于NSXMLParsers约提高了70-80%。</p>
<p><br class="spacer_" /></p>
<p>下面是其<a title="NSXMLParsers" href="http://github.com/zootreeves/iPhoneExpat">下载地址</a>。</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/iphone%e7%94%a8expat-xml%e8%a7%a3%e6%9e%90%e5%99%a8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenGL ES 3D物体加载示例</title>
		<link>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/opengl-es-3d%e7%89%a9%e4%bd%93%e5%8a%a0%e8%bd%bd%e7%a4%ba%e4%be%8b</link>
		<comments>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/opengl-es-3d%e7%89%a9%e4%bd%93%e5%8a%a0%e8%bd%bd%e7%a4%ba%e4%be%8b#comments</comments>
		<pubDate>Wed, 03 Mar 2010 03:50:59 +0000</pubDate>
		<dc:creator>bagusflyer</dc:creator>
				<category><![CDATA[图形图像]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[OpenGL ES]]></category>
		<category><![CDATA[开源项目]]></category>

		<guid isPermaLink="false">http://www.iphone-geek.cn/?p=912</guid>
		<description><![CDATA[前几天有位朋友向我询问有关3D物体加载的示例，记得以前看到过一个示例，就找来出来与大家分享：

iPhone Wavefront Obj Loader

]]></description>
			<content:encoded><![CDATA[<p>前几天有位朋友向我询问有关3D物体加载的示例，记得以前看到过一个示例，就找来出来与大家分享：</p>
<p><br class="spacer_" /></p>
<p><a title="iPhone Wavefront Loader" href="http://code.google.com/p/iphonewavefrontloader/">iPhone Wavefront Obj Loader</a></p>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/opengl-es-3d%e7%89%a9%e4%bd%93%e5%8a%a0%e8%bd%bd%e7%a4%ba%e4%be%8b/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>跨平台游戏引擎开发实录之一 &#8211; 设计文档</title>
		<link>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e8%b7%a8%e5%b9%b3%e5%8f%b0%e6%b8%b8%e6%88%8f%e5%bc%95%e6%93%8e%e5%bc%80%e5%8f%91%e5%ae%9e%e5%bd%95%e4%b9%8b%e4%b8%80-%e8%ae%be%e8%ae%a1%e6%96%87%e6%a1%a3</link>
		<comments>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e8%b7%a8%e5%b9%b3%e5%8f%b0%e6%b8%b8%e6%88%8f%e5%bc%95%e6%93%8e%e5%bc%80%e5%8f%91%e5%ae%9e%e5%bd%95%e4%b9%8b%e4%b8%80-%e8%ae%be%e8%ae%a1%e6%96%87%e6%a1%a3#comments</comments>
		<pubDate>Mon, 18 Jan 2010 06:03:09 +0000</pubDate>
		<dc:creator>bagusflyer</dc:creator>
				<category><![CDATA[游戏]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[开源项目]]></category>

		<guid isPermaLink="false">http://www.iphone-geek.cn/?p=797</guid>
		<description><![CDATA[我目前正在开发一个跨平台游戏引擎，我准备将整个开发过程通过博客记录下来。欢迎各位朋友提出宝贵意见。

下面是我的设计文档初稿。

项目名称
 
Portable Game Engine （PGE ）

目标

跨平台，希望能支持Windows，Linux，Mac OSX，iPhone，WinCE, Android, Blackberry, Symbian phone 等
简单，尽量简化编程接口
2D和3D
组件可选，以减小目标代码
支持Unicode


组件

核心：游戏主循环，线程，垃圾收集，插件等
图形系统（采用OpenGL或OpenGL ES）：图像（纹理），动画，字体
声音系统（采用OpenAL）：音效，音乐，乐器
资源管理器：压缩/解压，加密/解密
输入：键盘，鼠标及触摸屏（重力感应）
网络：Tcp/ip，Http, UDP
GUI（用户接口）：菜单，文本，按钮，列表框，下拉框，选择框
游戏AI
游戏Physics


开发按阶段进行。第一阶段开发Windows下的OpenGL 2D引擎，然后移植到iPhone下。
]]></description>
			<content:encoded><![CDATA[<p>我目前正在开发一个跨平台游戏引擎，我准备将整个开发过程通过博客记录下来。欢迎各位朋友提出宝贵意见。</p>
<p><br class="spacer_" /></p>
<p>下面是我的设计文档初稿。</p>
<p><br class="spacer_" /></p>
<h3>项目名称</h3>
<p><strong> </strong></p>
<p><strong>Portable Game Engine （PGE ）</strong></p>
<p><br class="spacer_" /></p>
<h3>目标</h3>
<ul>
<li>跨平台，希望能支持Windows，Linux，Mac OSX，iPhone，WinCE, Android, Blackberry, Symbian phone 等</li>
<li>简单，尽量简化编程接口</li>
<li>2D和3D</li>
<li>组件可选，以减小目标代码</li>
<li>支持Unicode</li>
</ul>
<p><br class="spacer_" /></p>
<h3>组件</h3>
<ul>
<li>核心：游戏主循环，线程，垃圾收集，插件等</li>
<li>图形系统（采用OpenGL或OpenGL ES）：图像（纹理），动画，字体</li>
<li>声音系统（采用OpenAL）：音效，音乐，乐器</li>
<li>资源管理器：压缩/解压，加密/解密</li>
<li>输入：键盘，鼠标及触摸屏（重力感应）</li>
<li>网络：Tcp/ip，Http, UDP</li>
<li>GUI（用户接口）：菜单，文本，按钮，列表框，下拉框，选择框</li>
<li>游戏AI</li>
<li>游戏Physics</li>
</ul>
<p><br class="spacer_" /></p>
<p>开发按阶段进行。第一阶段开发Windows下的OpenGL 2D引擎，然后移植到iPhone下。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e8%b7%a8%e5%b9%b3%e5%8f%b0%e6%b8%b8%e6%88%8f%e5%bc%95%e6%93%8e%e5%bc%80%e5%8f%91%e5%ae%9e%e5%bd%95%e4%b9%8b%e4%b8%80-%e8%ae%be%e8%ae%a1%e6%96%87%e6%a1%a3/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>跨平台代码分享之七 &#8211; 一个简单的音效引擎</title>
		<link>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e8%b7%a8%e5%b9%b3%e5%8f%b0%e4%bb%a3%e7%a0%81%e5%88%86%e4%ba%ab%e4%b9%8b%e4%b8%83-%e4%b8%80%e4%b8%aa%e7%ae%80%e5%8d%95%e7%9a%84%e9%9f%b3%e6%95%88%e5%bc%95%e6%93%8e</link>
		<comments>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e8%b7%a8%e5%b9%b3%e5%8f%b0%e4%bb%a3%e7%a0%81%e5%88%86%e4%ba%ab%e4%b9%8b%e4%b8%83-%e4%b8%80%e4%b8%aa%e7%ae%80%e5%8d%95%e7%9a%84%e9%9f%b3%e6%95%88%e5%bc%95%e6%93%8e#comments</comments>
		<pubDate>Wed, 06 Jan 2010 06:18:19 +0000</pubDate>
		<dc:creator>bagusflyer</dc:creator>
				<category><![CDATA[基础]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[音频]]></category>
		<category><![CDATA[跨平台]]></category>
		<category><![CDATA[OpenAL]]></category>
		<category><![CDATA[开源项目]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.iphone-geek.cn/?p=727</guid>
		<description><![CDATA[游戏都需要一个声音引擎，一般来说，有三种类型：

播放音效。音效一般是比较简短的声音文件。
播放背景音乐。
乐器，音效模拟。

&#160;
本文介绍一个简单跨平台的音效引擎，主要针对第一种类型。实际上，也可以适用于第二种类型，但由于背景音乐文件较大，占用内存较大，所以本文介绍的方法并不是最为有效率的（特别是对于像iPhone之类内存较为紧张的平台，但仍然可用）。可以在本引擎的基础上加以改进，比如采用“流”（streaming）技术。而第三种类型，可能涉及到DSP（数字处理技术），比较复杂，另外在不同平台有一些不同的技术，如Windows下的VST/VSTi，Mac OSX下的AU等，不在本文的讨论范围。
&#160;
本文介绍的音效引擎是基于OpenAL的，并且是我在许多项目中使用的引擎的简化部分（去除错误处理及乐器模拟部分）。
&#160;
有关OpenAL的使用，网上有许多教程，比如：OpenAL编程教程等。iPhone上的OpenAL使用，本网站也有几篇文章。所以这里不再赘述。
&#160;
本引擎的目的，是简化声音播放接口。最简单的情况下可以仅仅使用两条语句，就播放一段音效。而繁复的OpenAL初始化功能等都由引擎自动完成。下例展示了怎样播放一段音效的最为典型的调用：
&#160;
123audio::CSound sound&#40;&#34;sound.wav&#34;&#41;;

sound.play&#40;&#41;;
&#160;
本引擎由三个类和一个公共函数构成。audio::CEngine是引擎的核心部分，它是一个单例类（Singleton)，负责直接与OpenAL接口，用户无需与其打交道。audio::CBuffer类对应于OpenAL中的缓存，通过audio::openAudioData函数打开音效文件，创建内部缓存，用户也无需直接使用。audio::CSound是用户直接使用的类，它提供了诸如play（），stop（），setVolume（）和setPosition（）几个接口函数。如需扩展功能，添加一些其他功能，可以直接加在此类中，并在audio::CEngine中实现。
&#160;
以上三个类可以直接使用在不同平台中。与平台相关的代码，都在audio::openAudioData()中。它的作用是打开不同的声音文件。对于Windows，我使用了一个开源项目库libsndfile，用来打开诸如wav，caf，aiff，flac，ogg等常用音效文件（注意：mp3并未包括其中。由于使用mp3的软件需要支付一定许可证费用，本人也不喜欢使用）。而对于Mac OSX（iPhone），则使用了core audio。这里大家可能会有一个疑问，既然libsndfile也是跨平台的，为什么在iPhone上不使用它呢？确实，libsndfile支持Windows，Linux，Mac OSX，Sun Solaris等平台，而iPhone并不支持ogg等格式，使用libsndfile不正好填补这个空白？是的，我也是这样想的，但是，有两点原因初始我暂时没有使用它：

没有现成的iPhone库。由于libsndfile需要使用makefile由GCC编译（我曾试过使用Xcode编译，没有成功），我也不是这方面的专家。但是，libsndfile在Mac OSX下编译没有问题，所以只需稍作修改，在为iPhone进行编译也不是没有可能的事情。
由于其许可证的限制。libsndfile是基于LGPL的，它要求使用者采用动态连接库，而众所周知，iPhone（官方）是不支持动态链接的。如果使用静态链接，则需要随软件发布源代码或目标代码。其实，这也不是无法克服的，LGPL只要求发布与libsnd相关的目标代码，所以对你的软件并无影响。对吗？

&#160;
本文给出了Windows下和iPhone下的应用。在Windows下使用需要下载OpenAL SDK和libsndfile。为方便编译好的libsndfile随示例程序给出给出。（你需要修改一下VS 项目文件中的有关OpenAL的头文件和库文件路径，另外，在OpenAL include目录中创建一个OpenAL目录，并将.h复制到其下，这样我就不需要修改#include语句了。）
&#160;
示例程序audiolib下载。（项目在test目录下）
]]></description>
			<content:encoded><![CDATA[<p>游戏都需要一个声音引擎，一般来说，有三种类型：</p>
<ol>
<li>播放音效。音效一般是比较简短的声音文件。</li>
<li>播放背景音乐。</li>
<li>乐器，音效模拟。</li>
</ol>
<p>&nbsp;</p>
<p>本文介绍一个简单跨平台的音效引擎，主要针对第一种类型。实际上，也可以适用于第二种类型，但由于背景音乐文件较大，占用内存较大，所以本文介绍的方法并不是最为有效率的（特别是对于像iPhone之类内存较为紧张的平台，但仍然可用）。可以在本引擎的基础上加以改进，比如采用“流”（streaming）技术。而第三种类型，可能涉及到DSP（数字处理技术），比较复杂，另外在不同平台有一些不同的技术，如Windows下的VST/VSTi，Mac OSX下的AU等，不在本文的讨论范围。</p>
<p>&nbsp;</p>
<p>本文介绍的音效引擎是基于OpenAL的，并且是我在许多项目中使用的引擎的简化部分（去除错误处理及乐器模拟部分）。</p>
<p>&nbsp;</p>
<p>有关OpenAL的使用，网上有许多教程，比如：<a href="http://www.devmaster.net/articles/openal-tutorials/lesson1.php">OpenAL编程教程</a>等。iPhone上的OpenAL使用，本网站也有几篇文章。所以这里不再赘述。</p>
<p>&nbsp;</p>
<p>本引擎的目的，是简化声音播放接口。最简单的情况下可以仅仅使用两条语句，就播放一段音效。而繁复的OpenAL初始化功能等都由引擎自动完成。下例展示了怎样播放一段音效的最为典型的调用：</p>
<p>&nbsp;</p>
<div class="codecolorer-container cpp mac-classic" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="cpp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">audio<span style="color: #008080;">::</span><span style="color: #007788;">CSound</span> sound<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;sound.wav&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
<br />
sound.<span style="color: #007788;">play</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></div></td></tr></tbody></table></div>
<p>&nbsp;</p>
<p>本引擎由三个类和一个公共函数构成。audio::CEngine是引擎的核心部分，它是一个单例类（Singleton)，负责直接与OpenAL接口，用户无需与其打交道。audio::CBuffer类对应于OpenAL中的缓存，通过audio::openAudioData函数打开音效文件，创建内部缓存，用户也无需直接使用。audio::CSound是用户直接使用的类，它提供了诸如play（），stop（），setVolume（）和setPosition（）几个接口函数。如需扩展功能，添加一些其他功能，可以直接加在此类中，并在audio::CEngine中实现。</p>
<p>&nbsp;</p>
<p>以上三个类可以直接使用在不同平台中。与平台相关的代码，都在audio::openAudioData()中。它的作用是打开不同的声音文件。对于Windows，我使用了一个开源项目库<a href="http://www.mega-nerd.com/libsndfile/">libsndfile</a>，用来打开诸如wav，caf，aiff，flac，ogg等常用音效文件（<strong>注意：mp3并未包括其中。由于使用mp3的软件需要支付一定许可证费用，本人也不喜欢使用</strong>）。而对于Mac OSX（iPhone），则使用了core audio。这里大家可能会有一个疑问，既然libsndfile也是跨平台的，为什么在iPhone上不使用它呢？确实，libsndfile支持Windows，Linux，Mac OSX，Sun Solaris等平台，而iPhone并不支持ogg等格式，使用libsndfile不正好填补这个空白？是的，我也是这样想的，但是，有两点原因初始我暂时没有使用它：</p>
<ol>
<li>没有现成的iPhone库。由于libsndfile需要使用makefile由GCC编译（我曾试过使用Xcode编译，没有成功），我也不是这方面的专家。但是，libsndfile在Mac OSX下编译没有问题，所以只需稍作修改，在为iPhone进行编译也不是没有可能的事情。</li>
<li>由于其许可证的限制。libsndfile是基于LGPL的，它要求使用者采用动态连接库，而众所周知，iPhone（官方）是不支持动态链接的。<strong>如果使用静态链接，则需要随软件发布源代码或目标代码。</strong>其实，这也不是无法克服的，LGPL只要求发布与libsnd相关的目标代码，所以对你的软件并无影响。对吗？</li>
</ol>
<p>&nbsp;</p>
<p>本文给出了Windows下和iPhone下的应用。在Windows下使用需要下载<a href="http://connect.creativelabs.com/openal/Downloads/oalinst.zip">OpenAL SDK</a>和<a href="http://www.mega-nerd.com/libsndfile/">libsndfile</a>。为方便编译好的libsndfile随示例程序给出给出。（你需要修改一下VS 项目文件中的有关OpenAL的头文件和库文件路径，另外，在OpenAL include目录中创建一个OpenAL目录，并将.h复制到其下，这样我就不需要修改#include语句了。）</p>
<p>&nbsp;</p>
<p>示例程序<a href="../wp-content/uploads/2010/01/audiolib.zip">audiolib</a>下载。（项目在test目录下）<a href="http://www.iphone-geek.cn/wp-content/uploads/2010/01/audiolib.zip"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e8%b7%a8%e5%b9%b3%e5%8f%b0%e4%bb%a3%e7%a0%81%e5%88%86%e4%ba%ab%e4%b9%8b%e4%b8%83-%e4%b8%80%e4%b8%aa%e7%ae%80%e5%8d%95%e7%9a%84%e9%9f%b3%e6%95%88%e5%bc%95%e6%93%8e/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Poco C++ for iPhone之一 &#8211; 编译</title>
		<link>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/poco-c-for-iphone%e4%b9%8b%e4%b8%80-%e7%bc%96%e8%af%91</link>
		<comments>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/poco-c-for-iphone%e4%b9%8b%e4%b8%80-%e7%bc%96%e8%af%91#comments</comments>
		<pubDate>Tue, 29 Dec 2009 02:39:58 +0000</pubDate>
		<dc:creator>bagusflyer</dc:creator>
				<category><![CDATA[基础]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[跨平台]]></category>
		<category><![CDATA[开源项目]]></category>
		<category><![CDATA[源代码]]></category>
		<category><![CDATA[代码片段]]></category>

		<guid isPermaLink="false">http://www.iphone-geek.cn/?p=554</guid>
		<description><![CDATA[Poco C++是一个强大的跨平台C++库，你可以在iPhone程序中使用它，如果：

你打算使你的程序跨平台。
你喜欢使用C++或希望使用Poco C++中的功能如：XML，Zip等。

&#160;
目前，最新Poco C++版本为1.3.6P1，根据文档，它可以编译为iPhone静态库。但是我试用了一下，无法使用在iPhone Xcode项目中链接，不知何故。所以我自己创建了下列Xcode项目：

Poco Foundation
Poco Util
Poco Net
Poco XML
Poco Zip

&#160;
另外，由于Crypto，Data，NetSSL_OpenSSL库需要外部库而且目前我不需要使用，所以没有包括。另外我增加了一个目录iPhoneSamples，它目前包括了一个示例程序HelloPoco，演示了怎样在iPhone项目中使用Poco C++库（此演示程序十分简单，它调用Poco中的UUID功能，产生一个UUID，显示与屏幕上）。下面是包括了此展示程序以及各Xcode文件的Poco包的下载：
&#160;
poco-1.3.6p1
]]></description>
			<content:encoded><![CDATA[<p>Poco C++是一个强大的跨平台C++库，你可以在iPhone程序中使用它，如果：</p>
<ol>
<li>你打算使你的程序跨平台。</li>
<li>你喜欢使用C++或希望使用Poco C++中的功能如：XML，Zip等。</li>
</ol>
<p>&nbsp;</p>
<p>目前，最新Poco C++版本为1.3.6P1，根据文档，它可以编译为iPhone静态库。但是我试用了一下，无法使用在iPhone Xcode项目中链接，不知何故。所以我自己创建了下列Xcode项目：</p>
<ul>
<li>Poco Foundation</li>
<li>Poco Util</li>
<li>Poco Net</li>
<li>Poco XML</li>
<li>Poco Zip</li>
</ul>
<p>&nbsp;</p>
<p>另外，由于Crypto，Data，NetSSL_OpenSSL库需要外部库而且目前我不需要使用，所以没有包括。另外我增加了一个目录iPhoneSamples，它目前包括了一个示例程序HelloPoco，演示了怎样在iPhone项目中使用Poco C++库（此演示程序十分简单，它调用Poco中的UUID功能，产生一个UUID，显示与屏幕上）。下面是包括了此展示程序以及各Xcode文件的Poco包的下载：</p>
<p>&nbsp;</p>
<p><a href="http://www.iphone-geek.cn/wp-content/uploads/2009/12/poco-1.3.6.zip">poco-1.3.6p1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/poco-c-for-iphone%e4%b9%8b%e4%b8%80-%e7%bc%96%e8%af%91/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>跨平台代码分享之四 – 开源跨平台C++库介绍</title>
		<link>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e8%b7%a8%e5%b9%b3%e5%8f%b0%e4%bb%a3%e7%a0%81%e5%88%86%e4%ba%ab%e4%b9%8b%e5%9b%9b-%e2%80%93-%e5%bc%80%e6%ba%90%e8%b7%a8%e5%b9%b3%e5%8f%b0c%e5%ba%93%e4%bb%8b%e7%bb%8d</link>
		<comments>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e8%b7%a8%e5%b9%b3%e5%8f%b0%e4%bb%a3%e7%a0%81%e5%88%86%e4%ba%ab%e4%b9%8b%e5%9b%9b-%e2%80%93-%e5%bc%80%e6%ba%90%e8%b7%a8%e5%b9%b3%e5%8f%b0c%e5%ba%93%e4%bb%8b%e7%bb%8d#comments</comments>
		<pubDate>Wed, 16 Dec 2009 08:09:59 +0000</pubDate>
		<dc:creator>bagusflyer</dc:creator>
				<category><![CDATA[基础]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[跨平台]]></category>
		<category><![CDATA[开源项目]]></category>

		<guid isPermaLink="false">http://www.iphone-geek.cn/?p=439</guid>
		<description><![CDATA[做项目时发现一个开源C++库，称为POCO（POrtable COmponents &#8211; 可移植元件），非常方便好用。
&#160;
特性：
&#160;
    * 线程，程序同步及多线程编程高级抽象
    * 流及文件系统访问
    * 共享库将类加载
    * 功能强大的日志和错误报告
    * 安全及加密
    * 网络编程 (TCP/IP 套接字, HTTP客户端和HTTP服务器, FTP, SMTP, POP3, 等)
    * XML解析 (SAX2 和 DOM) 及生成
    * 配置文件及选项处理
 [...]]]></description>
			<content:encoded><![CDATA[<p>做项目时发现一个开源C++库，称为<a href="http://pocoproject.org/">POCO</a>（POrtable COmponents &#8211; 可移植元件），非常方便好用。</p>
<p>&nbsp;</p>
<h2>特性：</h2>
<p>&nbsp;</p>
<p>    * 线程，程序同步及多线程编程高级抽象<br />
    * 流及文件系统访问<br />
    * 共享库将类加载<br />
    * 功能强大的日志和错误报告<br />
    * 安全及加密<br />
    * 网络编程 (TCP/IP 套接字, HTTP客户端和HTTP服务器, FTP, SMTP, POP3, 等)<br />
    * XML解析 (SAX2 和 DOM) 及生成<br />
    * 配置文件及选项处理<br />
    * SQL数据库访问(ODBC, MySQL, SQLite)</p>
<p>&nbsp;</p>
<h2>可以运行的平台包括：</h2>
<p>&nbsp;</p>
<p>    * Windows<br />
    * Mac OS X<br />
    * iPhone OS<br />
    * (embedded) Linux<br />
    * HP-UX<br />
    * Tru64<br />
    * Solaris<br />
    * QNX</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e8%b7%a8%e5%b9%b3%e5%8f%b0%e4%bb%a3%e7%a0%81%e5%88%86%e4%ba%ab%e4%b9%8b%e5%9b%9b-%e2%80%93-%e5%bc%80%e6%ba%90%e8%b7%a8%e5%b9%b3%e5%8f%b0c%e5%ba%93%e4%bb%8b%e7%bb%8d/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一个可用在iPhone上的SMTP客户端程序</title>
		<link>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e4%b8%80%e4%b8%aa%e5%8f%af%e7%94%a8%e5%9c%a8iphone%e4%b8%8a%e7%9a%84smtp%e5%ae%a2%e6%88%b7%e7%ab%af%e7%a8%8b%e5%ba%8f</link>
		<comments>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e4%b8%80%e4%b8%aa%e5%8f%af%e7%94%a8%e5%9c%a8iphone%e4%b8%8a%e7%9a%84smtp%e5%ae%a2%e6%88%b7%e7%ab%af%e7%a8%8b%e5%ba%8f#comments</comments>
		<pubDate>Sun, 29 Nov 2009 06:35:47 +0000</pubDate>
		<dc:creator>bagusflyer</dc:creator>
				<category><![CDATA[编程]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[开源项目]]></category>

		<guid isPermaLink="false">http://www.iphone-geek.cn/?p=364</guid>
		<description><![CDATA[虽然iPhone上可以直接调用email程序发送email，但如果你需要直接通过SMTP发送邮件，这个开源项目可能对你十分有帮助：
Quick SMTP client code for the iPhone
]]></description>
			<content:encoded><![CDATA[<p>虽然iPhone上可以直接调用email程序发送email，但如果你需要直接通过SMTP发送邮件，这个开源项目可能对你十分有帮助：</p>
<p><em><a id="project_summary_link" style="text-decoration: none; color: #000000;" href="http://code.google.com/p/skpsmtpmessage/">Quick SMTP client code for the iPhone</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e4%b8%80%e4%b8%aa%e5%8f%af%e7%94%a8%e5%9c%a8iphone%e4%b8%8a%e7%9a%84smtp%e5%ae%a2%e6%88%b7%e7%ab%af%e7%a8%8b%e5%ba%8f/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一款App Store上架游戏的源代码</title>
		<link>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e4%b8%80%e6%ac%beapp-store%e4%b8%8a%e6%9e%b6%e6%b8%b8%e6%88%8f%e7%9a%84%e6%ba%90%e4%bb%a3%e7%a0%81</link>
		<comments>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e4%b8%80%e6%ac%beapp-store%e4%b8%8a%e6%9e%b6%e6%b8%b8%e6%88%8f%e7%9a%84%e6%ba%90%e4%bb%a3%e7%a0%81#comments</comments>
		<pubDate>Fri, 13 Nov 2009 02:43:35 +0000</pubDate>
		<dc:creator>bagusflyer</dc:creator>
				<category><![CDATA[编程]]></category>
		<category><![CDATA[开源项目]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[源代码]]></category>

		<guid isPermaLink="false">http://www.iphone-geek.cn/?p=223</guid>
		<description><![CDATA[发现一款App Store上架游戏的源代码，游戏名为Tweejump。它是以Cocos2D为引擎的。想学习开源Cocos2D引擎的朋友可以参考下。

源码下载地址在Github，直接按“Download&#8221;就可以下载了。
]]></description>
			<content:encoded><![CDATA[<p>发现一款App Store上架游戏的源代码，游戏名为<a href="http://iplayful.com/tweejump/">Tweejump</a>。它是以Cocos2D为引擎的。想学习开源Cocos2D引擎的朋友可以参考下。</p>
<p><img alt="" src="http://iplayful.com/tweejump/tweejump.jpg" title="tweejump" class="alignnone" width="318" height="459" /></p>
<p>源码下载地址在<a href="http://github.com/haqu/tweejump">Github</a>，直接按“Download&#8221;就可以下载了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e4%b8%80%e6%ac%beapp-store%e4%b8%8a%e6%9e%b6%e6%b8%b8%e6%88%8f%e7%9a%84%e6%ba%90%e4%bb%a3%e7%a0%81/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
